16cd6a6acSopenharmony_ci/* 26cd6a6acSopenharmony_ci * Copyright 2013 Tresys Technology, LLC. All rights reserved. 36cd6a6acSopenharmony_ci * 46cd6a6acSopenharmony_ci * Redistribution and use in source and binary forms, with or without 56cd6a6acSopenharmony_ci * modification, are permitted provided that the following conditions are met: 66cd6a6acSopenharmony_ci * 76cd6a6acSopenharmony_ci * 1. Redistributions of source code must retain the above copyright notice, 86cd6a6acSopenharmony_ci * this list of conditions and the following disclaimer. 96cd6a6acSopenharmony_ci * 106cd6a6acSopenharmony_ci * 2. Redistributions in binary form must reproduce the above copyright notice, 116cd6a6acSopenharmony_ci * this list of conditions and the following disclaimer in the documentation 126cd6a6acSopenharmony_ci * and/or other materials provided with the distribution. 136cd6a6acSopenharmony_ci * 146cd6a6acSopenharmony_ci * THIS SOFTWARE IS PROVIDED BY TRESYS TECHNOLOGY, LLC ``AS IS'' AND ANY EXPRESS 156cd6a6acSopenharmony_ci * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 166cd6a6acSopenharmony_ci * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 176cd6a6acSopenharmony_ci * EVENT SHALL TRESYS TECHNOLOGY, LLC OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 186cd6a6acSopenharmony_ci * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 196cd6a6acSopenharmony_ci * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 206cd6a6acSopenharmony_ci * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 216cd6a6acSopenharmony_ci * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 226cd6a6acSopenharmony_ci * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 236cd6a6acSopenharmony_ci * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 246cd6a6acSopenharmony_ci * 256cd6a6acSopenharmony_ci * The views and conclusions contained in the software and documentation are those 266cd6a6acSopenharmony_ci * of the authors and should not be interpreted as representing official policies, 276cd6a6acSopenharmony_ci * either expressed or implied, of Tresys Technology, LLC. 286cd6a6acSopenharmony_ci */ 296cd6a6acSopenharmony_ci 306cd6a6acSopenharmony_ci#ifndef CIL_FLAVOR_H_ 316cd6a6acSopenharmony_ci#define CIL_FLAVOR_H_ 326cd6a6acSopenharmony_ci 336cd6a6acSopenharmony_ci/* 346cd6a6acSopenharmony_ci Tree/list node types 356cd6a6acSopenharmony_ci*/ 366cd6a6acSopenharmony_ci#define CIL_MIN_OP_OPERANDS 1000 376cd6a6acSopenharmony_ci#define CIL_MIN_DECLARATIVE 2000 386cd6a6acSopenharmony_ci 396cd6a6acSopenharmony_cienum cil_flavor { 406cd6a6acSopenharmony_ci CIL_NONE = 0, 416cd6a6acSopenharmony_ci CIL_ROOT, 426cd6a6acSopenharmony_ci CIL_NODE, 436cd6a6acSopenharmony_ci CIL_STRING, 446cd6a6acSopenharmony_ci CIL_DATUM, 456cd6a6acSopenharmony_ci CIL_LIST, 466cd6a6acSopenharmony_ci CIL_LIST_ITEM, 476cd6a6acSopenharmony_ci CIL_PARAM, 486cd6a6acSopenharmony_ci CIL_ARGS, 496cd6a6acSopenharmony_ci CIL_BLOCKINHERIT, 506cd6a6acSopenharmony_ci CIL_BLOCKABSTRACT, 516cd6a6acSopenharmony_ci CIL_IN, 526cd6a6acSopenharmony_ci CIL_CALL, 536cd6a6acSopenharmony_ci CIL_BOOLEANIF, 546cd6a6acSopenharmony_ci CIL_TUNABLEIF, 556cd6a6acSopenharmony_ci CIL_CONDBLOCK, 566cd6a6acSopenharmony_ci CIL_CONDTRUE, 576cd6a6acSopenharmony_ci CIL_CONDFALSE, 586cd6a6acSopenharmony_ci CIL_CLASSORDER, 596cd6a6acSopenharmony_ci CIL_CLASSCOMMON, 606cd6a6acSopenharmony_ci CIL_CLASSMAPPING, 616cd6a6acSopenharmony_ci CIL_CLASSPERMS, 626cd6a6acSopenharmony_ci CIL_CLASSPERMS_SET, 636cd6a6acSopenharmony_ci CIL_CLASSPERMISSIONSET, 646cd6a6acSopenharmony_ci CIL_USERPREFIX, 656cd6a6acSopenharmony_ci CIL_USERROLE, 666cd6a6acSopenharmony_ci CIL_USERATTRIBUTESET, 676cd6a6acSopenharmony_ci CIL_USERLEVEL, 686cd6a6acSopenharmony_ci CIL_USERRANGE, 696cd6a6acSopenharmony_ci CIL_USERBOUNDS, 706cd6a6acSopenharmony_ci CIL_SELINUXUSER, 716cd6a6acSopenharmony_ci CIL_SELINUXUSERDEFAULT, 726cd6a6acSopenharmony_ci CIL_ROLEATTRIBUTESET, 736cd6a6acSopenharmony_ci CIL_ROLETYPE, 746cd6a6acSopenharmony_ci CIL_ROLEBOUNDS, 756cd6a6acSopenharmony_ci CIL_TYPEATTRIBUTESET, 766cd6a6acSopenharmony_ci CIL_EXPANDTYPEATTRIBUTE, 776cd6a6acSopenharmony_ci CIL_TYPEALIASACTUAL, 786cd6a6acSopenharmony_ci CIL_TYPEBOUNDS, 796cd6a6acSopenharmony_ci CIL_TYPEPERMISSIVE, 806cd6a6acSopenharmony_ci CIL_SENSALIASACTUAL, 816cd6a6acSopenharmony_ci CIL_SENSITIVITYORDER, 826cd6a6acSopenharmony_ci CIL_SENSCAT, 836cd6a6acSopenharmony_ci CIL_CATALIASACTUAL, 846cd6a6acSopenharmony_ci CIL_CATORDER, 856cd6a6acSopenharmony_ci CIL_SIDORDER, 866cd6a6acSopenharmony_ci CIL_ROLEALLOW, 876cd6a6acSopenharmony_ci CIL_AVRULE, 886cd6a6acSopenharmony_ci CIL_AVRULEX, 896cd6a6acSopenharmony_ci CIL_ROLETRANSITION, 906cd6a6acSopenharmony_ci CIL_TYPE_RULE, 916cd6a6acSopenharmony_ci CIL_NAMETYPETRANSITION, 926cd6a6acSopenharmony_ci CIL_RANGETRANSITION, 936cd6a6acSopenharmony_ci CIL_CONSTRAIN, 946cd6a6acSopenharmony_ci CIL_MLSCONSTRAIN, 956cd6a6acSopenharmony_ci CIL_VALIDATETRANS, 966cd6a6acSopenharmony_ci CIL_MLSVALIDATETRANS, 976cd6a6acSopenharmony_ci CIL_SIDCONTEXT, 986cd6a6acSopenharmony_ci CIL_FSUSE, 996cd6a6acSopenharmony_ci CIL_FILECON, 1006cd6a6acSopenharmony_ci CIL_PORTCON, 1016cd6a6acSopenharmony_ci CIL_NODECON, 1026cd6a6acSopenharmony_ci CIL_GENFSCON, 1036cd6a6acSopenharmony_ci CIL_NETIFCON, 1046cd6a6acSopenharmony_ci CIL_PIRQCON, 1056cd6a6acSopenharmony_ci CIL_IOMEMCON, 1066cd6a6acSopenharmony_ci CIL_IOPORTCON, 1076cd6a6acSopenharmony_ci CIL_PCIDEVICECON, 1086cd6a6acSopenharmony_ci CIL_DEVICETREECON, 1096cd6a6acSopenharmony_ci CIL_DEFAULTUSER, 1106cd6a6acSopenharmony_ci CIL_DEFAULTROLE, 1116cd6a6acSopenharmony_ci CIL_DEFAULTTYPE, 1126cd6a6acSopenharmony_ci CIL_DEFAULTRANGE, 1136cd6a6acSopenharmony_ci CIL_HANDLEUNKNOWN, 1146cd6a6acSopenharmony_ci CIL_MLS, 1156cd6a6acSopenharmony_ci CIL_SRC_INFO, 1166cd6a6acSopenharmony_ci CIL_IBPKEYCON, 1176cd6a6acSopenharmony_ci CIL_IBENDPORTCON, 1186cd6a6acSopenharmony_ci 1196cd6a6acSopenharmony_ci/* 1206cd6a6acSopenharmony_ci * boolean constraint set catset 1216cd6a6acSopenharmony_ci * dom X 1226cd6a6acSopenharmony_ci * domby X 1236cd6a6acSopenharmony_ci * incomp X 1246cd6a6acSopenharmony_ci * eq X X 1256cd6a6acSopenharmony_ci * ne X X 1266cd6a6acSopenharmony_ci * and X X X X 1276cd6a6acSopenharmony_ci * not X X X X 1286cd6a6acSopenharmony_ci * or X X X X 1296cd6a6acSopenharmony_ci * xor X X X 1306cd6a6acSopenharmony_ci * all X X 1316cd6a6acSopenharmony_ci * range X 1326cd6a6acSopenharmony_ci*/ 1336cd6a6acSopenharmony_ci CIL_OP = CIL_MIN_OP_OPERANDS, 1346cd6a6acSopenharmony_ci CIL_ALL, 1356cd6a6acSopenharmony_ci CIL_AND, 1366cd6a6acSopenharmony_ci CIL_OR, 1376cd6a6acSopenharmony_ci CIL_XOR, 1386cd6a6acSopenharmony_ci CIL_NOT, 1396cd6a6acSopenharmony_ci CIL_EQ, 1406cd6a6acSopenharmony_ci CIL_NEQ, 1416cd6a6acSopenharmony_ci CIL_RANGE, 1426cd6a6acSopenharmony_ci CIL_CONS_DOM, 1436cd6a6acSopenharmony_ci CIL_CONS_DOMBY, 1446cd6a6acSopenharmony_ci CIL_CONS_INCOMP, 1456cd6a6acSopenharmony_ci CIL_CONS_OPERAND, 1466cd6a6acSopenharmony_ci CIL_CONS_U1, 1476cd6a6acSopenharmony_ci CIL_CONS_U2, 1486cd6a6acSopenharmony_ci CIL_CONS_U3, 1496cd6a6acSopenharmony_ci CIL_CONS_T1, 1506cd6a6acSopenharmony_ci CIL_CONS_T2, 1516cd6a6acSopenharmony_ci CIL_CONS_T3, 1526cd6a6acSopenharmony_ci CIL_CONS_R1, 1536cd6a6acSopenharmony_ci CIL_CONS_R2, 1546cd6a6acSopenharmony_ci CIL_CONS_R3, 1556cd6a6acSopenharmony_ci CIL_CONS_L1, 1566cd6a6acSopenharmony_ci CIL_CONS_L2, 1576cd6a6acSopenharmony_ci CIL_CONS_H1, 1586cd6a6acSopenharmony_ci CIL_CONS_H2, 1596cd6a6acSopenharmony_ci 1606cd6a6acSopenharmony_ci CIL_BLOCK = CIL_MIN_DECLARATIVE, 1616cd6a6acSopenharmony_ci CIL_MACRO, 1626cd6a6acSopenharmony_ci CIL_OPTIONAL, 1636cd6a6acSopenharmony_ci CIL_BOOL, 1646cd6a6acSopenharmony_ci CIL_TUNABLE, 1656cd6a6acSopenharmony_ci CIL_PERM, 1666cd6a6acSopenharmony_ci CIL_MAP_PERM, 1676cd6a6acSopenharmony_ci CIL_COMMON, 1686cd6a6acSopenharmony_ci CIL_CLASS, 1696cd6a6acSopenharmony_ci CIL_MAP_CLASS, 1706cd6a6acSopenharmony_ci CIL_CLASSPERMISSION, 1716cd6a6acSopenharmony_ci CIL_USER, 1726cd6a6acSopenharmony_ci CIL_USERATTRIBUTE, 1736cd6a6acSopenharmony_ci CIL_ROLE, 1746cd6a6acSopenharmony_ci CIL_ROLEATTRIBUTE, 1756cd6a6acSopenharmony_ci CIL_TYPE, 1766cd6a6acSopenharmony_ci CIL_TYPEATTRIBUTE, 1776cd6a6acSopenharmony_ci CIL_TYPEALIAS, 1786cd6a6acSopenharmony_ci CIL_SENS, 1796cd6a6acSopenharmony_ci CIL_SENSALIAS, 1806cd6a6acSopenharmony_ci CIL_CAT, 1816cd6a6acSopenharmony_ci CIL_CATSET, 1826cd6a6acSopenharmony_ci CIL_CATALIAS, 1836cd6a6acSopenharmony_ci CIL_LEVEL, 1846cd6a6acSopenharmony_ci CIL_LEVELRANGE, 1856cd6a6acSopenharmony_ci CIL_SID, 1866cd6a6acSopenharmony_ci CIL_NAME, 1876cd6a6acSopenharmony_ci CIL_CONTEXT, 1886cd6a6acSopenharmony_ci CIL_IPADDR, 1896cd6a6acSopenharmony_ci CIL_POLICYCAP, 1906cd6a6acSopenharmony_ci CIL_PERMISSIONX 1916cd6a6acSopenharmony_ci}; 1926cd6a6acSopenharmony_ci 1936cd6a6acSopenharmony_ci 1946cd6a6acSopenharmony_ci#endif /* CIL_FLAVOR_H_ */ 195