Magisk/native/jni/magiskpolicy/sepolicy.h

36 lines
1018 B
C
Raw Normal View History

2017-04-15 13:26:29 +02:00
/* sepolicy.h - Header for magiskpolicy non-public APIs
*/
#ifndef _SEPOLICY_H
#define _SEPOLICY_H
#include <sepol/policydb/policydb.h>
2018-11-08 10:20:16 +01:00
#ifdef __cplusplus
extern "C" {
#endif
// Global policydb
extern policydb_t *policydb;
2017-04-15 13:26:29 +02:00
// hashtab traversal macro
#define hashtab_for_each(table, ptr) \
for (int _i = 0; _i < table->size; ++_i) \
for (*ptr = table->htable[_i]; *ptr != NULL; *ptr = (*ptr)->next)
// sepolicy manipulation functions
2018-11-08 10:20:16 +01:00
int create_domain(const char *d);
int set_domain_state(const char *s, int state);
int add_file_transition(const char *s, const char *t, const char *c, const char *d,
const char *o);
2018-11-08 10:20:16 +01:00
int add_typeattribute(const char *domainS, const char *attr);
int add_rule(const char *s, const char *t, const char *c, const char *p, int effect, int n);
int add_xperm_rule(const char *s, const char *t, const char *c, const char *range, int effect, int n);
int add_type_rule(const char *s, const char *t, const char *c, const char *d, int effect);
2018-11-08 10:20:16 +01:00
#ifdef __cplusplus
};
#endif
2017-04-15 13:26:29 +02:00
#endif