147173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#ifndef _SELINUX_ANDROID_H_ 247173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#define _SELINUX_ANDROID_H_ 347173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 447173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#include <stdbool.h> 547173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#include <sys/types.h> 647173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#include <unistd.h> 747173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 847173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#include <selinux/label.h> 947173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 1047173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#ifdef __cplusplus 1147173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turnerextern "C" { 1247173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#endif 1347173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 1447173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turnerextern struct selabel_handle* selinux_android_file_context_handle(void); 1547173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 1647173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turnerextern void selinux_android_set_sehandle(const struct selabel_handle *hndl); 1747173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 1847173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turnerextern int selinux_android_load_policy(void); 1947173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 2047173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turnerextern int selinux_android_reload_policy(void); 2147173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 2247173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turnerextern int selinux_android_setcontext(uid_t uid, 2347173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner int isSystemServer, 2447173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner const char *seinfo, 2547173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner const char *name); 2647173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 2747173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turnerextern int selinux_android_setfilecon(const char *pkgdir, 2847173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner const char *pkgname, 2947173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner const char *seinfo, 3047173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner uid_t uid); 3147173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 3247173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#define SELINUX_ANDROID_RESTORECON_NOCHANGE 1 3347173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#define SELINUX_ANDROID_RESTORECON_VERBOSE 2 3447173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#define SELINUX_ANDROID_RESTORECON_RECURSE 4 3547173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#define SELINUX_ANDROID_RESTORECON_FORCE 8 3647173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#define SELINUX_ANDROID_RESTORECON_DATADATA 16 3747173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turnerextern int selinux_android_restorecon(const char *file, unsigned int flags); 3847173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 3947173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turnerextern int selinux_android_restorecon_pkgdir(const char *pkgdir, 4047173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner const char *seinfo, 4147173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner uid_t uid, 4247173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner unsigned int flags); 4347173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 4447173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turnerextern int selinux_android_seapp_context_reload(void); 4547173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 4647173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turnerextern bool selinux_android_use_data_policy(void); 4747173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner 4847173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#ifdef __cplusplus 4947173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner} 5047173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#endif 5147173c7d6704f1258b2d85537caa09185f6920c8David 'Digit' Turner#endif 52