18c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android/* Functions used to define policy grammar components. */ 28c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android 38c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android#ifndef _POLICY_DEFINE_H_ 48c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android#define _POLICY_DEFINE_H_ 58c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android 68c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android/* 78c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android * We need the following so we have a valid error return code in yacc 88c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android * when we have a parse error for a conditional rule. We can't check 98c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android * for NULL (ie 0) because that is a potentially valid return. 108c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android */ 118c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android#define COND_ERR ((avrule_t *)-1) 128c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android 138c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android#define TRUE 1 148c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android#define FALSE 0 158c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android 168c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidavrule_t *define_cond_compute_type(int which); 178c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidavrule_t *define_cond_pol_list(avrule_t *avlist, avrule_t *stmt); 188c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidavrule_t *define_cond_te_avtab(int which); 198c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidavrule_t *define_cond_filename_trans(void); 208c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidcond_expr_t *define_cond_expr(uint32_t expr_type, void *arg1, void* arg2); 218c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_attrib(void); 228c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_attrib_role(void); 238c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_av_perms(int inherits); 24cd88c5c44f93ca14828bdae024fae6e0287ba71dStephen Smalleyint define_bool_tunable(int is_tunable); 258c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_category(void); 268c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_class(void); 27ba8e9924f575e267f1503b7669fe3120d68d4e1fStephen Smalleyint define_default_user(int which); 28ba8e9924f575e267f1503b7669fe3120d68d4e1fStephen Smalleyint define_default_role(int which); 29968aed00ed981987cf96dcfd7640e6dcde5c03a0Stephen Smalleyint define_default_type(int which); 30ba8e9924f575e267f1503b7669fe3120d68d4e1fStephen Smalleyint define_default_range(int which); 318c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_common_perms(void); 328c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_compute_type(int which); 338c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_conditional(cond_expr_t *expr, avrule_t *t_list, avrule_t *f_list ); 348c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_constraint(constraint_expr_t *expr); 358c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_dominance(void); 368c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_fs_context(unsigned int major, unsigned int minor); 378c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_fs_use(int behavior); 388c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_genfs_context(int has_type); 398c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_initial_sid_context(void); 408c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_initial_sid(void); 418c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_ipv4_node_context(void); 428c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_ipv6_node_context(void); 438c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_level(void); 448c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_netif_context(void); 458c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_permissive(void); 468c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_polcap(void); 478c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_port_context(unsigned int low, unsigned int high); 488c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_pirq_context(unsigned int pirq); 498c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_iomem_context(unsigned long low, unsigned long high); 508c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_ioport_context(unsigned long low, unsigned long high); 518c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_pcidevice_context(unsigned long device); 528c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_range_trans(int class_specified); 538c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_role_allow(void); 548c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_role_trans(int class_specified); 558c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_role_types(void); 568c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_role_attr(void); 578c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_roleattribute(void); 588c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_filename_trans(void); 598c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_sens(void); 608c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_te_avtab(int which); 618c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_typealias(void); 628c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_typeattribute(void); 638c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_typebounds(void); 648c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_type(int alias); 658c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_user(void); 668c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint define_validatetrans(constraint_expr_t *expr); 678c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint insert_id(char *id,int push); 688c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidint insert_separator(int push); 698c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidrole_datum_t *define_role_dom(role_datum_t *r); 708c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androidrole_datum_t *merge_roles_dom(role_datum_t *r1,role_datum_t *r2); 718c48de15b1afeb1cd01a753195a29b1a7811dbfSE Androiduintptr_t define_cexpr(uint32_t expr_type, uintptr_t arg1, uintptr_t arg2); 728c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android 738c48de15b1afeb1cd01a753195a29b1a7811dbfSE Android#endif /* _POLICY_DEFINE_H_ */ 74