16cd6a6acSopenharmony_ciCIL (Common Intermediate Language) 26cd6a6acSopenharmony_ci=============== 36cd6a6acSopenharmony_ci## Table of Contents 46cd6a6acSopenharmony_ci 56cd6a6acSopenharmony_ci* [Introduction](cil_introduction.md#Introduction) 66cd6a6acSopenharmony_ci * [Design Philosophy](cil_introduction.md#design-philosophy) 76cd6a6acSopenharmony_ci * [Goals and Primary Features](cil_introduction.md#goals-and-primary-features) 86cd6a6acSopenharmony_ci * [Design Overview](cil_introduction.md#design-overview) 96cd6a6acSopenharmony_ci 106cd6a6acSopenharmony_ci* [CIL Information](cil_reference_guide.md#cil-information) 116cd6a6acSopenharmony_ci * [Declarations](cil_reference_guide.md#declarations) 126cd6a6acSopenharmony_ci * [Definitions](cil_reference_guide.md#definitions) 136cd6a6acSopenharmony_ci * [Symbol Character Set](cil_reference_guide.md#symbol-character-set) 146cd6a6acSopenharmony_ci * [String Character Set](cil_reference_guide.md#string-character-set) 156cd6a6acSopenharmony_ci * [Comments](cil_reference_guide.md#comments) 166cd6a6acSopenharmony_ci * [Namespaces](cil_reference_guide.md#namespaces) 176cd6a6acSopenharmony_ci * [Global Namespace](cil_reference_guide.md#global-namespace) 186cd6a6acSopenharmony_ci * [Expressions](cil_reference_guide.md#expressions) 196cd6a6acSopenharmony_ci * [Name String](cil_reference_guide.md#name-string) 206cd6a6acSopenharmony_ci * [self](cil_reference_guide.md#self) 216cd6a6acSopenharmony_ci * [Example CIL Policy](../test/policy.cil) 226cd6a6acSopenharmony_ci 236cd6a6acSopenharmony_ci* [Access Vector Rules](cil_access_vector_rules.md#access-vector-rules) 246cd6a6acSopenharmony_ci * [allow](cil_access_vector_rules.md#allow) 256cd6a6acSopenharmony_ci * [auditallow](cil_access_vector_rules.md#auditallow) 266cd6a6acSopenharmony_ci * [dontaudit](cil_access_vector_rules.md#dontaudit) 276cd6a6acSopenharmony_ci * [neverallow](cil_access_vector_rules.md#neverallow) 286cd6a6acSopenharmony_ci * [allowx](cil_access_vector_rules.md#allowx) 296cd6a6acSopenharmony_ci * [auditallowx](cil_access_vector_rules.md#auditallowx) 306cd6a6acSopenharmony_ci * [dontauditx](cil_access_vector_rules.md#dontauditx) 316cd6a6acSopenharmony_ci * [neverallowx](cil_access_vector_rules.md#neverallowx) 326cd6a6acSopenharmony_ci 336cd6a6acSopenharmony_ci* [Call / Macro Statements](cil_call_macro_statements.md#call--macro-statements) 346cd6a6acSopenharmony_ci * [call](cil_call_macro_statements.md#call) 356cd6a6acSopenharmony_ci * [macro](cil_call_macro_statements.md#macro) 366cd6a6acSopenharmony_ci 376cd6a6acSopenharmony_ci* [Class and Permission Statements](cil_class_and_permission_statements.md#class-and-permission-statements) 386cd6a6acSopenharmony_ci * [common](cil_class_and_permission_statements.md#common) 396cd6a6acSopenharmony_ci * [classcommon](cil_class_and_permission_statements.md#classcommon) 406cd6a6acSopenharmony_ci * [class](cil_class_and_permission_statements.md#class) 416cd6a6acSopenharmony_ci * [classorder](cil_class_and_permission_statements.md#classorder) 426cd6a6acSopenharmony_ci * [classpermission](cil_class_and_permission_statements.md#classpermission) 436cd6a6acSopenharmony_ci * [classpermissionset](cil_class_and_permission_statements.md#classpermissionset) 446cd6a6acSopenharmony_ci * [classmap](cil_class_and_permission_statements.md#classmap) 456cd6a6acSopenharmony_ci * [classmapping](cil_class_and_permission_statements.md#classmapping) 466cd6a6acSopenharmony_ci * [permissionx](cil_class_and_permission_statements.md#permissionx) 476cd6a6acSopenharmony_ci 486cd6a6acSopenharmony_ci* [Conditional Statements](cil_conditional_statements.md#conditional-statements) 496cd6a6acSopenharmony_ci * [boolean](cil_conditional_statements.md#boolean) 506cd6a6acSopenharmony_ci * [booleanif](cil_conditional_statements.md#booleanif) 516cd6a6acSopenharmony_ci * [tunable](cil_conditional_statements.md#tunable) 526cd6a6acSopenharmony_ci * [tunableif](cil_conditional_statements.md#tunableif) 536cd6a6acSopenharmony_ci 546cd6a6acSopenharmony_ci* [Constraint Statements](cil_constraint_statements.md#constraint-statements) 556cd6a6acSopenharmony_ci * [constrain](cil_constraint_statements.md#constrain) 566cd6a6acSopenharmony_ci * [validatetrans](cil_constraint_statements.md#validatetrans) 576cd6a6acSopenharmony_ci * [mlsconstrain](cil_constraint_statements.md#mlsconstrain) 586cd6a6acSopenharmony_ci * [mlsvalidatetrans](cil_constraint_statements.md#mlsvalidatetrans) 596cd6a6acSopenharmony_ci 606cd6a6acSopenharmony_ci* [Container Statements](cil_container_statements.md#container-statements) 616cd6a6acSopenharmony_ci * [block](cil_container_statements.md#block) 626cd6a6acSopenharmony_ci * [blockabstract](cil_container_statements.md#blockabstract) 636cd6a6acSopenharmony_ci * [blockinherit](cil_container_statements.md#blockinherit) 646cd6a6acSopenharmony_ci * [optional](cil_container_statements.md#optional) 656cd6a6acSopenharmony_ci * [in](cil_container_statements.md#in) 666cd6a6acSopenharmony_ci 676cd6a6acSopenharmony_ci* [Context Statement](cil_context_statement.md#context-statement) 686cd6a6acSopenharmony_ci * [context](cil_context_statement.md#context) 696cd6a6acSopenharmony_ci 706cd6a6acSopenharmony_ci* [Default Object Statements](cil_default_object_statements.md#default-object-statements) 716cd6a6acSopenharmony_ci * [defaultuser](cil_default_object_statements.md#defaultuser) 726cd6a6acSopenharmony_ci * [defaultrole](cil_default_object_statements.md#defaultrole) 736cd6a6acSopenharmony_ci * [defaulttype](cil_default_object_statements.md#defaulttype) 746cd6a6acSopenharmony_ci * [defaultrange](cil_default_object_statements.md#defaultrange) 756cd6a6acSopenharmony_ci 766cd6a6acSopenharmony_ci* [File Labeling Statements](cil_file_labeling_statements.md#file-labeling-statements) 776cd6a6acSopenharmony_ci * [filecon](cil_file_labeling_statements.md#filecon) 786cd6a6acSopenharmony_ci * [fsuse](cil_file_labeling_statements.md#fsuse) 796cd6a6acSopenharmony_ci * [genfscon](cil_file_labeling_statements.md#genfscon) 806cd6a6acSopenharmony_ci 816cd6a6acSopenharmony_ci* [Multi-Level Security Labeling Statements](cil_mls_labeling_statements.md#multi-level-security-labeling-statements) 826cd6a6acSopenharmony_ci * [sensitivity](cil_mls_labeling_statements.md#sensitivity) 836cd6a6acSopenharmony_ci * [sensitivityalias](cil_mls_labeling_statements.md#sensitivityalias) 846cd6a6acSopenharmony_ci * [sensitivityaliasactual](cil_mls_labeling_statements.md#sensitivityaliasactual) 856cd6a6acSopenharmony_ci * [sensitivityorder](cil_mls_labeling_statements.md#sensitivityorder) 866cd6a6acSopenharmony_ci * [category](cil_mls_labeling_statements.md#category) 876cd6a6acSopenharmony_ci * [categoryalias](cil_mls_labeling_statements.md#categoryalias) 886cd6a6acSopenharmony_ci * [categoryaliasactual](cil_mls_labeling_statements.md#categoryaliasactual) 896cd6a6acSopenharmony_ci * [categoryorder](cil_mls_labeling_statements.md#categoryorder) 906cd6a6acSopenharmony_ci * [categoryset](cil_mls_labeling_statements.md#categoryset) 916cd6a6acSopenharmony_ci * [sensitivitycategory](cil_mls_labeling_statements.md#sensitivitycategory) 926cd6a6acSopenharmony_ci * [level](cil_mls_labeling_statements.md#level) 936cd6a6acSopenharmony_ci * [levelrange](cil_mls_labeling_statements.md#levelrange) 946cd6a6acSopenharmony_ci * [rangetransition](cil_mls_labeling_statements.md#rangetransition) 956cd6a6acSopenharmony_ci * [mlsconstrain](cil_mls_labeling_statements.md#mlsconstrain) 966cd6a6acSopenharmony_ci * [mlsvalidatetrans](cil_mls_labeling_statements.md#mlsvalidatetrans) 976cd6a6acSopenharmony_ci 986cd6a6acSopenharmony_ci* [Network Labeling Statements](cil_network_labeling_statements.md#network-labeling-statements) 996cd6a6acSopenharmony_ci * [ipaddr](cil_network_labeling_statements.md#ipaddr) 1006cd6a6acSopenharmony_ci * [netifcon](cil_network_labeling_statements.md#netifcon) 1016cd6a6acSopenharmony_ci * [nodecon](cil_network_labeling_statements.md#nodecon) 1026cd6a6acSopenharmony_ci * [portcon](cil_network_labeling_statements.md#portcon) 1036cd6a6acSopenharmony_ci 1046cd6a6acSopenharmony_ci* [Policy Configuration Statements](cil_policy_config_statements.md#policy-configuration-statements) 1056cd6a6acSopenharmony_ci * [mls](cil_policy_config_statements.md#mls) 1066cd6a6acSopenharmony_ci * [handleunknown](cil_policy_config_statements.md#handleunknown) 1076cd6a6acSopenharmony_ci * [policycap](cil_policy_config_statements.md#policycap) 1086cd6a6acSopenharmony_ci 1096cd6a6acSopenharmony_ci* [Role Statements](cil_role_statements.md#role-statements) 1106cd6a6acSopenharmony_ci * [role](cil_role_statements.md#role) 1116cd6a6acSopenharmony_ci * [roletype](cil_role_statements.md#roletype) 1126cd6a6acSopenharmony_ci * [roleattribute](cil_role_statements.md#roleattribute) 1136cd6a6acSopenharmony_ci * [roleattributeset](cil_role_statements.md#roleattributeset) 1146cd6a6acSopenharmony_ci * [roleallow](cil_role_statements.md#roleallow) 1156cd6a6acSopenharmony_ci * [roletransition](cil_role_statements.md#roletransition) 1166cd6a6acSopenharmony_ci * [rolebounds](cil_role_statements.md#rolebounds) 1176cd6a6acSopenharmony_ci 1186cd6a6acSopenharmony_ci* [SID Statements](cil_sid_statements.md#sid-statements) 1196cd6a6acSopenharmony_ci * [sid](cil_sid_statements.md#sid) 1206cd6a6acSopenharmony_ci * [sidorder](cil_sid_statements.md#sidorder) 1216cd6a6acSopenharmony_ci * [sidcontext](cil_sid_statements.md#sidcontext) 1226cd6a6acSopenharmony_ci 1236cd6a6acSopenharmony_ci* [Type Statements](cil_type_statements.md#type-statements) 1246cd6a6acSopenharmony_ci * [type](cil_type_statements.md#type) 1256cd6a6acSopenharmony_ci * [typealias](cil_type_statements.md#typealias) 1266cd6a6acSopenharmony_ci * [typealiasactual](cil_type_statements.md#typealiasactual) 1276cd6a6acSopenharmony_ci * [typeattribute](cil_type_statements.md#typeattribute) 1286cd6a6acSopenharmony_ci * [typeattributeset](cil_type_statements.md#typeattributeset) 1296cd6a6acSopenharmony_ci * [expandtypeattribute](cil_type_statements.md#expandtypeattribute) 1306cd6a6acSopenharmony_ci * [typebounds](cil_type_statements.md#typebounds) 1316cd6a6acSopenharmony_ci * [typechange](cil_type_statements.md#typechange) 1326cd6a6acSopenharmony_ci * [typemember](cil_type_statements.md#typemember) 1336cd6a6acSopenharmony_ci * [typetransition](cil_type_statements.md#typetransition) 1346cd6a6acSopenharmony_ci * [typepermissive](cil_type_statements.md#typepermissive) 1356cd6a6acSopenharmony_ci 1366cd6a6acSopenharmony_ci* [User Statements](cil_user_statements.md#user-statements) 1376cd6a6acSopenharmony_ci * [user](cil_user_statements.md#user) 1386cd6a6acSopenharmony_ci * [userrole](cil_user_statements.md#userrole) 1396cd6a6acSopenharmony_ci * [userattribute](cil_user_statements.md#userattribute) 1406cd6a6acSopenharmony_ci * [userattributeset](cil_user_statements.md#userattributeset) 1416cd6a6acSopenharmony_ci * [userlevel](cil_user_statements.md#userlevel) 1426cd6a6acSopenharmony_ci * [userrange](cil_user_statements.md#userrange) 1436cd6a6acSopenharmony_ci * [userbounds](cil_user_statements.md#userbounds) 1446cd6a6acSopenharmony_ci * [userprefix](cil_user_statements.md#userprefix) 1456cd6a6acSopenharmony_ci * [selinuxuser](cil_user_statements.md#selinuxuser) 1466cd6a6acSopenharmony_ci * [selinuxuserdefault](cil_user_statements.md#selinuxuserdefault) 1476cd6a6acSopenharmony_ci 1486cd6a6acSopenharmony_ci* [Infiniband Statements](cil_infiniband_statements.md#infiniband-statements) 1496cd6a6acSopenharmony_ci * [ibpkeycon](cil_infiniband_statements.md#ibpkeycon) 1506cd6a6acSopenharmony_ci * [ibendportcon](cil_infiniband_statements.md#ibendportcon) 1516cd6a6acSopenharmony_ci 1526cd6a6acSopenharmony_ci* [Xen Statements](cil_xen_statements.md#xen-statements) 1536cd6a6acSopenharmony_ci * [iomemcon](cil_xen_statements.md#iomemcon) 1546cd6a6acSopenharmony_ci * [ioportcon](cil_xen_statements.md#ioportcon) 1556cd6a6acSopenharmony_ci * [pcidevicecon](cil_xen_statements.md#pcidevicecon) 1566cd6a6acSopenharmony_ci * [pirqcon](cil_xen_statements.md#pirqcon) 1576cd6a6acSopenharmony_ci * [devicetreecon](cil_xen_statements.md#devicetreecon) 1586cd6a6acSopenharmony_ci 1596cd6a6acSopenharmony_ci* [Example Policy](../test/policy.cil#example-policy) 160