1f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#ifndef _SELINUX_ANDROID_H_
2f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#define _SELINUX_ANDROID_H_
3f074036424618c130dacb3464465a8b40bffef5Stephen Smalley
4f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#include <sys/types.h>
5f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#include <unistd.h>
6f074036424618c130dacb3464465a8b40bffef5Stephen Smalley
7047228a2a446603b21daf5116b830390d0642274Stephen Smalley#include <selinux/label.h>
8047228a2a446603b21daf5116b830390d0642274Stephen Smalley
9f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#ifdef __cplusplus
10f074036424618c130dacb3464465a8b40bffef5Stephen Smalleyextern "C" {
11f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#endif
12f074036424618c130dacb3464465a8b40bffef5Stephen Smalley
139b10083ab40e78cce8cc2b940ce22db6d1095fc5rpcraigextern struct selabel_handle* selinux_android_file_context_handle(void);
149b10083ab40e78cce8cc2b940ce22db6d1095fc5rpcraig
15f1724a371be1678ebf79474ab9a390dd6a5c96c7rpcraigextern int selinux_android_load_policy(void);
16f1724a371be1678ebf79474ab9a390dd6a5c96c7rpcraig
17f1724a371be1678ebf79474ab9a390dd6a5c96c7rpcraigextern int selinux_android_reload_policy(void);
18f1724a371be1678ebf79474ab9a390dd6a5c96c7rpcraig
19f074036424618c130dacb3464465a8b40bffef5Stephen Smalleyextern int selinux_android_setcontext(uid_t uid,
20f074036424618c130dacb3464465a8b40bffef5Stephen Smalley				      int isSystemServer,
21f074036424618c130dacb3464465a8b40bffef5Stephen Smalley				      const char *seinfo,
22f074036424618c130dacb3464465a8b40bffef5Stephen Smalley				      const char *name);
23f074036424618c130dacb3464465a8b40bffef5Stephen Smalley
24f074036424618c130dacb3464465a8b40bffef5Stephen Smalleyextern int selinux_android_setfilecon(const char *pkgdir,
25edfaad87e34e7a5bb691d45fd6df3e0b5ad0bb1aStephen Smalley				      const char *pkgname,
26f074036424618c130dacb3464465a8b40bffef5Stephen Smalley				      uid_t uid);
27f074036424618c130dacb3464465a8b40bffef5Stephen Smalley
28edfaad87e34e7a5bb691d45fd6df3e0b5ad0bb1aStephen Smalleyextern int selinux_android_setfilecon2(const char *pkgdir,
29edfaad87e34e7a5bb691d45fd6df3e0b5ad0bb1aStephen Smalley				       const char *pkgname,
30edfaad87e34e7a5bb691d45fd6df3e0b5ad0bb1aStephen Smalley				       const char *seinfo,
31edfaad87e34e7a5bb691d45fd6df3e0b5ad0bb1aStephen Smalley				       uid_t uid);
32edfaad87e34e7a5bb691d45fd6df3e0b5ad0bb1aStephen Smalley
330ca91b300c711079816fa67b4148cac3cd1eef8cStephen Smalleyextern int selinux_android_restorecon(const char *file);
340ca91b300c711079816fa67b4148cac3cd1eef8cStephen Smalley
357446c917148c778315e511ad5c990492d3c8cdb8Stephen Smalleyextern int selinux_android_seapp_context_reload(void);
367446c917148c778315e511ad5c990492d3c8cdb8Stephen Smalley
37f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#ifdef __cplusplus
38f074036424618c130dacb3464465a8b40bffef5Stephen Smalley}
39f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#endif
40f074036424618c130dacb3464465a8b40bffef5Stephen Smalley#endif
41