Joshua Brindle | 13cd4c8 | 2008-08-19 15:30:36 -0400 | [diff] [blame] | 1 | /* 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 | |
| 16 | avrule_t *define_cond_compute_type(int which); |
| 17 | avrule_t *define_cond_pol_list(avrule_t *avlist, avrule_t *stmt); |
| 18 | avrule_t *define_cond_te_avtab(int which); |
Eric Paris | 516cb2a | 2011-03-28 14:00:19 -0400 | [diff] [blame] | 19 | avrule_t *define_cond_filename_trans(void); |
Joshua Brindle | 13cd4c8 | 2008-08-19 15:30:36 -0400 | [diff] [blame] | 20 | cond_expr_t *define_cond_expr(uint32_t expr_type, void *arg1, void* arg2); |
| 21 | int define_attrib(void); |
Harry Ciao | 16675b7 | 2011-07-25 09:23:54 +0800 | [diff] [blame] | 22 | int define_attrib_role(void); |
Joshua Brindle | 13cd4c8 | 2008-08-19 15:30:36 -0400 | [diff] [blame] | 23 | int define_av_perms(int inherits); |
Harry Ciao | 80f26c5 | 2011-09-01 11:29:41 +0800 | [diff] [blame] | 24 | int define_bool_tunable(int is_tunable); |
Joshua Brindle | 13cd4c8 | 2008-08-19 15:30:36 -0400 | [diff] [blame] | 25 | int define_category(void); |
| 26 | int define_class(void); |
Eric Paris | 09c783c | 2011-12-05 13:28:51 -0500 | [diff] [blame] | 27 | int define_default_user(int which); |
| 28 | int define_default_role(int which); |
Eric Paris | 693f524 | 2012-12-18 11:41:25 -0500 | [diff] [blame] | 29 | int define_default_type(int which); |
Eric Paris | 09c783c | 2011-12-05 13:28:51 -0500 | [diff] [blame] | 30 | int define_default_range(int which); |
Joshua Brindle | 13cd4c8 | 2008-08-19 15:30:36 -0400 | [diff] [blame] | 31 | int define_common_perms(void); |
| 32 | int define_compute_type(int which); |
| 33 | int define_conditional(cond_expr_t *expr, avrule_t *t_list, avrule_t *f_list ); |
| 34 | int define_constraint(constraint_expr_t *expr); |
| 35 | int define_dominance(void); |
| 36 | int define_fs_context(unsigned int major, unsigned int minor); |
| 37 | int define_fs_use(int behavior); |
| 38 | int define_genfs_context(int has_type); |
| 39 | int define_initial_sid_context(void); |
| 40 | int define_initial_sid(void); |
| 41 | int define_ipv4_node_context(void); |
| 42 | int define_ipv6_node_context(void); |
| 43 | int define_level(void); |
| 44 | int define_netif_context(void); |
| 45 | int define_permissive(void); |
| 46 | int define_polcap(void); |
| 47 | int define_port_context(unsigned int low, unsigned int high); |
Paul Nuzzi | 79d10a8 | 2009-09-29 10:06:26 -0400 | [diff] [blame] | 48 | int define_pirq_context(unsigned int pirq); |
Daniel De Graaf | 82030de | 2015-03-17 16:43:23 -0400 | [diff] [blame^] | 49 | int define_iomem_context(uint64_t low, uint64_t high); |
Paul Nuzzi | 79d10a8 | 2009-09-29 10:06:26 -0400 | [diff] [blame] | 50 | int define_ioport_context(unsigned long low, unsigned long high); |
| 51 | int define_pcidevice_context(unsigned long device); |
Joshua Brindle | 13cd4c8 | 2008-08-19 15:30:36 -0400 | [diff] [blame] | 52 | int define_range_trans(int class_specified); |
| 53 | int define_role_allow(void); |
Harry Ciao | e95f358 | 2011-03-25 13:51:59 +0800 | [diff] [blame] | 54 | int define_role_trans(int class_specified); |
Joshua Brindle | 13cd4c8 | 2008-08-19 15:30:36 -0400 | [diff] [blame] | 55 | int define_role_types(void); |
Harry Ciao | 16675b7 | 2011-07-25 09:23:54 +0800 | [diff] [blame] | 56 | int define_role_attr(void); |
| 57 | int define_roleattribute(void); |
Eric Paris | 516cb2a | 2011-03-28 14:00:19 -0400 | [diff] [blame] | 58 | int define_filename_trans(void); |
Joshua Brindle | 13cd4c8 | 2008-08-19 15:30:36 -0400 | [diff] [blame] | 59 | int define_sens(void); |
| 60 | int define_te_avtab(int which); |
| 61 | int define_typealias(void); |
| 62 | int define_typeattribute(void); |
Joshua Brindle | 4572840 | 2008-10-08 06:56:51 -0400 | [diff] [blame] | 63 | int define_typebounds(void); |
Joshua Brindle | 13cd4c8 | 2008-08-19 15:30:36 -0400 | [diff] [blame] | 64 | int define_type(int alias); |
| 65 | int define_user(void); |
| 66 | int define_validatetrans(constraint_expr_t *expr); |
Nicolas Iooss | 7dcb7a5 | 2014-09-14 23:41:46 +0200 | [diff] [blame] | 67 | int insert_id(const char *id,int push); |
Joshua Brindle | 13cd4c8 | 2008-08-19 15:30:36 -0400 | [diff] [blame] | 68 | int insert_separator(int push); |
| 69 | role_datum_t *define_role_dom(role_datum_t *r); |
| 70 | role_datum_t *merge_roles_dom(role_datum_t *r1,role_datum_t *r2); |
| 71 | uintptr_t define_cexpr(uint32_t expr_type, uintptr_t arg1, uintptr_t arg2); |
| 72 | |
| 73 | #endif /* _POLICY_DEFINE_H_ */ |