Magisk/native/jni/include/magiskpolicy.hpp

41 lines
1.6 KiB
C++
Raw Normal View History

2019-06-30 19:09:31 -07:00
#pragma once
#include <stdlib.h>
2020-03-09 01:50:30 -07:00
#include <selinux.hpp>
#define ALL NULL
// policydb functions
int load_policydb(const char *file);
int load_split_cil();
int compile_split_cil();
int dump_policydb(const char *file);
void destroy_policydb();
// Handy functions
2018-11-08 04:20:16 -05:00
int sepol_allow(const char *s, const char *t, const char *c, const char *p);
int sepol_deny(const char *s, const char *t, const char *c, const char *p);
int sepol_auditallow(const char *s, const char *t, const char *c, const char *p);
int sepol_dontaudit(const char *s, const char *t, const char *c, const char *p);
int sepol_typetrans(const char *s, const char *t, const char *c, const char *d);
int sepol_typechange(const char *s, const char *t, const char *c, const char *d);
int sepol_typemember(const char *s, const char *t, const char *c, const char *d);
int sepol_nametrans(const char *s, const char *t, const char *c, const char *d, const char *o);
2018-11-08 04:20:16 -05:00
int sepol_allowxperm(const char *s, const char *t, const char *c, const char *range);
int sepol_auditallowxperm(const char *s, const char *t, const char *c, const char *range);
int sepol_dontauditxperm(const char *s, const char *t, const char *c, const char *range);
int sepol_create(const char *s);
int sepol_permissive(const char *s);
int sepol_enforce(const char *s);
int sepol_attradd(const char *s, const char *a);
int sepol_genfscon(const char *name, const char *path, const char *context);
2018-11-08 04:20:16 -05:00
int sepol_exists(const char *source);
// Built in rules
void sepol_magisk_rules();
2019-12-09 04:14:30 -05:00
// Statement parsing
void parse_statement(const char *statement);
void load_rule_file(const char *file);
void statement_help();