blob: ccbe56f298761d5f210c2068eb0cb917a084526e [file] [log] [blame]
SE Android8c48de12012-01-24 05:27:18 -08001/* Functions used to define policy grammar components. */
2
3#ifndef _POLICY_DEFINE_H_
4#define _POLICY_DEFINE_H_
5
6/*
7 * We need the following so we have a valid error return code in yacc
8 * when we have a parse error for a conditional rule. We can't check
9 * for NULL (ie 0) because that is a potentially valid return.
10 */
11#define COND_ERR ((avrule_t *)-1)
12
13#define TRUE 1
14#define FALSE 0
15
16avrule_t *define_cond_compute_type(int which);
17avrule_t *define_cond_pol_list(avrule_t *avlist, avrule_t *stmt);
18avrule_t *define_cond_te_avtab(int which);
19avrule_t *define_cond_filename_trans(void);
20cond_expr_t *define_cond_expr(uint32_t expr_type, void *arg1, void* arg2);
21int define_attrib(void);
22int define_attrib_role(void);
23int define_av_perms(int inherits);
Stephen Smalleycd88c5c2012-02-21 14:27:00 -050024int define_bool_tunable(int is_tunable);
SE Android8c48de12012-01-24 05:27:18 -080025int define_category(void);
26int define_class(void);
Stephen Smalleyba8e9922012-09-25 10:57:09 -040027int define_default_user(int which);
28int define_default_role(int which);
29int define_default_range(int which);
SE Android8c48de12012-01-24 05:27:18 -080030int define_common_perms(void);
31int define_compute_type(int which);
32int define_conditional(cond_expr_t *expr, avrule_t *t_list, avrule_t *f_list );
33int define_constraint(constraint_expr_t *expr);
34int define_dominance(void);
35int define_fs_context(unsigned int major, unsigned int minor);
36int define_fs_use(int behavior);
37int define_genfs_context(int has_type);
38int define_initial_sid_context(void);
39int define_initial_sid(void);
40int define_ipv4_node_context(void);
41int define_ipv6_node_context(void);
42int define_level(void);
43int define_netif_context(void);
44int define_permissive(void);
45int define_polcap(void);
46int define_port_context(unsigned int low, unsigned int high);
47int define_pirq_context(unsigned int pirq);
48int define_iomem_context(unsigned long low, unsigned long high);
49int define_ioport_context(unsigned long low, unsigned long high);
50int define_pcidevice_context(unsigned long device);
51int define_range_trans(int class_specified);
52int define_role_allow(void);
53int define_role_trans(int class_specified);
54int define_role_types(void);
55int define_role_attr(void);
56int define_roleattribute(void);
57int define_filename_trans(void);
58int define_sens(void);
59int define_te_avtab(int which);
60int define_typealias(void);
61int define_typeattribute(void);
62int define_typebounds(void);
63int define_type(int alias);
64int define_user(void);
65int define_validatetrans(constraint_expr_t *expr);
66int insert_id(char *id,int push);
67int insert_separator(int push);
68role_datum_t *define_role_dom(role_datum_t *r);
69role_datum_t *merge_roles_dom(role_datum_t *r1,role_datum_t *r2);
70uintptr_t define_cexpr(uint32_t expr_type, uintptr_t arg1, uintptr_t arg2);
71
72#endif /* _POLICY_DEFINE_H_ */