1 #ifndef _SEPOL_ANDROID_H_
2 #define _SEPOL_ANDROID_H_
3 #include <cil/cil.h>
4 
5 #define PLAT_VERS "curr"
6 #define PLAT_ID "p"
7 #define NON_PLAT_ID "n"
8 
9 /*
10  * cil_android_attrib_mapping - extract attributizable elements of the policy in
11  * srcdb and create the mapping file necessary to link the platform and
12  * non-platform policy files after non-platform policy attributization.
13  *   mdb - uninitialized cil_db reference to the resulting policy. Caller
14  *         responsibility to destroy.
15  *   srcdb - initialized and parsed cil_db reference to source public policy.
16  *   num - the version string to append types when converted to attributes.
17  * returns SEPOL_OK if successful, otherwise passes on the encountered error.
18  */
19 int cil_android_attrib_mapping(struct cil_db **mdb, struct cil_db *srcdb, const char *num);
20 
21 /*
22  * cil_android_attributize - extract attributizable elements of the policy in
23  * srcdb and convert all usage of those elements in tgtdb to versioned attributes.
24  * Keep the attributes and type definitions so that tgtdb policy is more robust
25  * against future changes to the public policy.
26  *   tgtdb - initialized and parsed cil_db reference to modify.
27  *   srcdb - initialized and parsed cil_db reference to source public policy
28  *           from which to extract attributizable elements.
29  *   num - the version string to append types when converted to attributes.
30  * returns SEPOL_OK if successful, otherwise passes on the encountered error.
31  */
32 int cil_android_attributize(struct cil_db *tgtdb, struct cil_db *srcdb, const char *num);
33 
34 #endif /* _SEPOL_ANDROID_H_ */
35