2020-05-23 07:18:25 +00:00
|
|
|
#pragma once
|
|
|
|
|
2022-05-12 09:03:42 +00:00
|
|
|
// Internal APIs, do not use directly
|
2022-03-30 05:26:38 +00:00
|
|
|
|
2020-05-23 07:18:25 +00:00
|
|
|
#include <sepol/policydb/policydb.h>
|
2022-03-30 05:26:38 +00:00
|
|
|
#include <sepolicy.hpp>
|
2020-05-23 07:18:25 +00:00
|
|
|
|
|
|
|
struct sepol_impl : public sepolicy {
|
2020-12-31 06:11:24 +00:00
|
|
|
avtab_ptr_t get_avtab_node(avtab_key_t *key, avtab_extended_perms_t *xperms);
|
|
|
|
bool add_rule(const char *s, const char *t, const char *c, const char *p, int effect, bool invert);
|
|
|
|
void add_rule(type_datum_t *src, type_datum_t *tgt, class_datum_t *cls, perm_datum_t *perm, int effect, bool invert);
|
|
|
|
void add_xperm_rule(type_datum_t *src, type_datum_t *tgt,
|
|
|
|
class_datum_t *cls, uint16_t low, uint16_t high, int effect, bool invert);
|
|
|
|
bool add_xperm_rule(const char *s, const char *t, const char *c, const char *range, int effect, bool invert);
|
|
|
|
bool add_type_rule(const char *s, const char *t, const char *c, const char *d, int effect);
|
|
|
|
bool add_filename_trans(const char *s, const char *t, const char *c, const char *d, const char *o);
|
|
|
|
bool add_genfscon(const char *fs_name, const char *path, const char *context);
|
|
|
|
bool add_type(const char *type_name, uint32_t flavor);
|
|
|
|
bool set_type_state(const char *type_name, bool permissive);
|
|
|
|
void add_typeattribute(type_datum_t *type, type_datum_t *attr);
|
|
|
|
bool add_typeattribute(const char *type, const char *attr);
|
|
|
|
void strip_dontaudit();
|
2022-03-30 05:26:38 +00:00
|
|
|
|
|
|
|
sepol_impl(policydb *db) : db(db) {}
|
|
|
|
~sepol_impl();
|
|
|
|
|
|
|
|
policydb *db;
|
2020-05-23 07:18:25 +00:00
|
|
|
};
|
|
|
|
|
2022-03-30 05:26:38 +00:00
|
|
|
#define impl reinterpret_cast<sepol_impl *>(this)
|
2020-05-23 07:18:25 +00:00
|
|
|
|
|
|
|
void statement_help();
|