Home | History | Annotate | Download | only in selinux
      1 #ifndef _SELINUX_ANDROID_H_
      2 #define _SELINUX_ANDROID_H_
      3 
      4 #include <stdbool.h>
      5 #include <sys/types.h>
      6 #include <unistd.h>
      7 
      8 #include <selinux/label.h>
      9 
     10 #ifdef __cplusplus
     11 extern "C" {
     12 #endif
     13 
     14 extern struct selabel_handle* selinux_android_file_context_handle(void);
     15 
     16 extern void selinux_android_set_sehandle(const struct selabel_handle *hndl);
     17 
     18 extern int selinux_android_load_policy(void);
     19 
     20 extern int selinux_android_reload_policy(void);
     21 
     22 extern int selinux_android_setcontext(uid_t uid,
     23 				      int isSystemServer,
     24 				      const char *seinfo,
     25 				      const char *name);
     26 
     27 extern int selinux_android_setfilecon(const char *pkgdir,
     28 				       const char *pkgname,
     29 				       const char *seinfo,
     30 				       uid_t uid);
     31 
     32 #define SELINUX_ANDROID_RESTORECON_NOCHANGE 1
     33 #define SELINUX_ANDROID_RESTORECON_VERBOSE  2
     34 #define SELINUX_ANDROID_RESTORECON_RECURSE  4
     35 #define SELINUX_ANDROID_RESTORECON_FORCE    8
     36 #define SELINUX_ANDROID_RESTORECON_DATADATA 16
     37 extern int selinux_android_restorecon(const char *file, unsigned int flags);
     38 
     39 extern int selinux_android_restorecon_pkgdir(const char *pkgdir,
     40                                              const char *seinfo,
     41                                              uid_t uid,
     42                                              unsigned int flags);
     43 
     44 extern int selinux_android_seapp_context_reload(void);
     45 
     46 extern bool selinux_android_use_data_policy(void);
     47 
     48 #ifdef __cplusplus
     49 }
     50 #endif
     51 #endif
     52