xref: /aosp_15_r20/external/selinux/checkpolicy/policy_define.h (revision 2d543d20722ada2425b5bdab9d0d1d29470e7bba)
1*2d543d20SAndroid Build Coastguard Worker /* Functions used to define policy grammar components. */
2*2d543d20SAndroid Build Coastguard Worker 
3*2d543d20SAndroid Build Coastguard Worker #ifndef _POLICY_DEFINE_H_
4*2d543d20SAndroid Build Coastguard Worker #define _POLICY_DEFINE_H_
5*2d543d20SAndroid Build Coastguard Worker 
6*2d543d20SAndroid Build Coastguard Worker /*
7*2d543d20SAndroid Build Coastguard Worker  * We need the following so we have a valid error return code in yacc
8*2d543d20SAndroid Build Coastguard Worker  * when we have a parse error for a conditional rule.  We can't check
9*2d543d20SAndroid Build Coastguard Worker  * for NULL (ie 0) because that is a potentially valid return.
10*2d543d20SAndroid Build Coastguard Worker  */
11*2d543d20SAndroid Build Coastguard Worker #define COND_ERR ((avrule_t *)-1)
12*2d543d20SAndroid Build Coastguard Worker #define TRUE 1
13*2d543d20SAndroid Build Coastguard Worker #define FALSE 0
14*2d543d20SAndroid Build Coastguard Worker 
15*2d543d20SAndroid Build Coastguard Worker avrule_t *define_cond_compute_type(int which);
16*2d543d20SAndroid Build Coastguard Worker avrule_t *define_cond_pol_list(avrule_t *avlist, avrule_t *sl);
17*2d543d20SAndroid Build Coastguard Worker avrule_t *define_cond_te_avtab(int which);
18*2d543d20SAndroid Build Coastguard Worker avrule_t *define_cond_filename_trans(void);
19*2d543d20SAndroid Build Coastguard Worker cond_expr_t *define_cond_expr(uint32_t expr_type, void *arg1, void* arg2);
20*2d543d20SAndroid Build Coastguard Worker int define_attrib(void);
21*2d543d20SAndroid Build Coastguard Worker int define_attrib_role(void);
22*2d543d20SAndroid Build Coastguard Worker int define_av_perms(int inherits);
23*2d543d20SAndroid Build Coastguard Worker int define_bool_tunable(int is_tunable);
24*2d543d20SAndroid Build Coastguard Worker int define_category(void);
25*2d543d20SAndroid Build Coastguard Worker int define_class(void);
26*2d543d20SAndroid Build Coastguard Worker int define_default_user(int which);
27*2d543d20SAndroid Build Coastguard Worker int define_default_role(int which);
28*2d543d20SAndroid Build Coastguard Worker int define_default_type(int which);
29*2d543d20SAndroid Build Coastguard Worker int define_default_range(int which);
30*2d543d20SAndroid Build Coastguard Worker int define_common_perms(void);
31*2d543d20SAndroid Build Coastguard Worker int define_compute_type(int which);
32*2d543d20SAndroid Build Coastguard Worker int define_conditional(cond_expr_t *expr, avrule_t *t_list, avrule_t *f_list );
33*2d543d20SAndroid Build Coastguard Worker int define_constraint(constraint_expr_t *expr);
34*2d543d20SAndroid Build Coastguard Worker int define_dominance(void);
35*2d543d20SAndroid Build Coastguard Worker int define_fs_context(unsigned int major, unsigned int minor);
36*2d543d20SAndroid Build Coastguard Worker int define_fs_use(int behavior);
37*2d543d20SAndroid Build Coastguard Worker int define_genfs_context(int has_type);
38*2d543d20SAndroid Build Coastguard Worker int define_initial_sid_context(void);
39*2d543d20SAndroid Build Coastguard Worker int define_initial_sid(void);
40*2d543d20SAndroid Build Coastguard Worker int define_ipv4_node_context(void);
41*2d543d20SAndroid Build Coastguard Worker int define_ipv4_cidr_node_context(void);
42*2d543d20SAndroid Build Coastguard Worker int define_ipv6_node_context(void);
43*2d543d20SAndroid Build Coastguard Worker int define_ipv6_cidr_node_context(void);
44*2d543d20SAndroid Build Coastguard Worker int define_level(void);
45*2d543d20SAndroid Build Coastguard Worker int define_netif_context(void);
46*2d543d20SAndroid Build Coastguard Worker int define_permissive(void);
47*2d543d20SAndroid Build Coastguard Worker int define_polcap(void);
48*2d543d20SAndroid Build Coastguard Worker int define_ibpkey_context(unsigned int low, unsigned int high);
49*2d543d20SAndroid Build Coastguard Worker int define_ibendport_context(unsigned int port);
50*2d543d20SAndroid Build Coastguard Worker int define_port_context(unsigned int low, unsigned int high);
51*2d543d20SAndroid Build Coastguard Worker int define_pirq_context(unsigned int pirq);
52*2d543d20SAndroid Build Coastguard Worker int define_iomem_context(uint64_t low, uint64_t high);
53*2d543d20SAndroid Build Coastguard Worker int define_ioport_context(unsigned long low, unsigned long high);
54*2d543d20SAndroid Build Coastguard Worker int define_pcidevice_context(unsigned long device);
55*2d543d20SAndroid Build Coastguard Worker int define_devicetree_context(void);
56*2d543d20SAndroid Build Coastguard Worker int define_range_trans(int class_specified);
57*2d543d20SAndroid Build Coastguard Worker int define_role_allow(void);
58*2d543d20SAndroid Build Coastguard Worker int define_role_trans(int class_specified);
59*2d543d20SAndroid Build Coastguard Worker int define_role_types(void);
60*2d543d20SAndroid Build Coastguard Worker int define_role_attr(void);
61*2d543d20SAndroid Build Coastguard Worker int define_roleattribute(void);
62*2d543d20SAndroid Build Coastguard Worker int define_filename_trans(void);
63*2d543d20SAndroid Build Coastguard Worker int define_sens(void);
64*2d543d20SAndroid Build Coastguard Worker int define_te_avtab(int which);
65*2d543d20SAndroid Build Coastguard Worker int define_te_avtab_extended_perms(int which);
66*2d543d20SAndroid Build Coastguard Worker int define_typealias(void);
67*2d543d20SAndroid Build Coastguard Worker int define_typeattribute(void);
68*2d543d20SAndroid Build Coastguard Worker int define_typebounds(void);
69*2d543d20SAndroid Build Coastguard Worker int define_type(int alias);
70*2d543d20SAndroid Build Coastguard Worker int define_user(void);
71*2d543d20SAndroid Build Coastguard Worker int define_validatetrans(constraint_expr_t *expr);
72*2d543d20SAndroid Build Coastguard Worker int expand_attrib(void);
73*2d543d20SAndroid Build Coastguard Worker int insert_id(const char *id,int push);
74*2d543d20SAndroid Build Coastguard Worker int insert_separator(int push);
75*2d543d20SAndroid Build Coastguard Worker uintptr_t define_cexpr(uint32_t expr_type, uintptr_t arg1, uintptr_t arg2);
76*2d543d20SAndroid Build Coastguard Worker 
77*2d543d20SAndroid Build Coastguard Worker #endif /* _POLICY_DEFINE_H_ */
78