1b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence/* 2b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * Copyright 2013 Tresys Technology, LLC. All rights reserved. 3b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * 4b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * Redistribution and use in source and binary forms, with or without 5b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * modification, are permitted provided that the following conditions are met: 6b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * 7b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * 1. Redistributions of source code must retain the above copyright notice, 8b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * this list of conditions and the following disclaimer. 9b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * 10b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * 2. Redistributions in binary form must reproduce the above copyright notice, 11b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * this list of conditions and the following disclaimer in the documentation 12b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * and/or other materials provided with the distribution. 13b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * 14b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * THIS SOFTWARE IS PROVIDED BY TRESYS TECHNOLOGY, LLC ``AS IS'' AND ANY EXPRESS 15b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 16b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 17b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * EVENT SHALL TRESYS TECHNOLOGY, LLC OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 18b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 19b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 20b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 21b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 22b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 23b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * 25b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * The views and conclusions contained in the software and documentation are those 26b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * of the authors and should not be interpreted as representing official policies, 27b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * either expressed or implied, of Tresys Technology, LLC. 28b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence */ 29b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence 30b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence#ifndef CIL_FLAVOR_H_ 31b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence#define CIL_FLAVOR_H_ 32b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence 33b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence/* 34b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence Tree/list node types 35b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence*/ 36b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence#define CIL_MIN_OP_OPERANDS 1000 37b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence#define CIL_MIN_DECLARATIVE 2000 38b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence 39b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrenceenum cil_flavor { 40b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_NONE = 0, 41b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_ROOT, 42b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_NODE, 43b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_STRING, 44b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_DATUM, 45b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_LIST, 46b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_LIST_ITEM, 47b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_PARAM, 48b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_ARGS, 49b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_BLOCKINHERIT, 50b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_BLOCKABSTRACT, 51b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_IN, 52b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CALL, 53b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_BOOLEANIF, 54b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_TUNABLEIF, 55b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONDBLOCK, 56b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONDTRUE, 57b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONDFALSE, 58b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CLASSORDER, 59b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CLASSCOMMON, 60b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CLASSMAPPING, 61b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CLASSPERMS, 62b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CLASSPERMS_SET, 63b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CLASSPERMISSIONSET, 64b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_USERPREFIX, 65b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_USERROLE, 66b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_USERLEVEL, 67b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_USERRANGE, 68b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_USERBOUNDS, 69b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_SELINUXUSER, 70b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_SELINUXUSERDEFAULT, 71b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_ROLEATTRIBUTESET, 72b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_ROLETYPE, 73b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_ROLEBOUNDS, 74b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_TYPEATTRIBUTESET, 75b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_TYPEALIASACTUAL, 76b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_TYPEBOUNDS, 77b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_TYPEPERMISSIVE, 78b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_SENSALIASACTUAL, 79b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_SENSITIVITYORDER, 80b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_SENSCAT, 81b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CATALIASACTUAL, 82b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CATORDER, 83b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_SIDORDER, 84b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_ROLEALLOW, 85b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_AVRULE, 86b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_ROLETRANSITION, 87b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_TYPE_RULE, 88b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_NAMETYPETRANSITION, 89b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_RANGETRANSITION, 90b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONSTRAIN, 91b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_MLSCONSTRAIN, 92b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_VALIDATETRANS, 93b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_MLSVALIDATETRANS, 94b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_SIDCONTEXT, 95b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_FSUSE, 96b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_FILECON, 97b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_PORTCON, 98b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_NODECON, 99b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_GENFSCON, 100b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_NETIFCON, 101b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_PIRQCON, 102b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_IOMEMCON, 103b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_IOPORTCON, 104b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_PCIDEVICECON, 105f0290677091e7eee4a3724a2a86ede9e11f93802Daniel De Graaf CIL_DEVICETREECON, 106b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_DEFAULTUSER, 107b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_DEFAULTROLE, 108b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_DEFAULTTYPE, 109b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_DEFAULTRANGE, 110b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_HANDLEUNKNOWN, 111b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_MLS, 112b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence 113b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence/* 114b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * boolean constraint set catset 115b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * dom X 116b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * domby X 117b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * incomp X 118b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * eq X X 119b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * ne X X 120b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * and X X X X 121b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * not X X X X 122b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * or X X X X 123b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * xor X X X 124b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * all X X 125b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence * range X 126b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence*/ 127b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_OP = CIL_MIN_OP_OPERANDS, 128b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_ALL, 129b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_AND, 130b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_OR, 131b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_XOR, 132b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_NOT, 133b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_EQ, 134b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_NEQ, 135b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_RANGE, 136b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_DOM, 137b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_DOMBY, 138b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_INCOMP, 139b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_OPERAND, 140b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_U1, 141b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_U2, 142b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_U3, 143b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_T1, 144b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_T2, 145b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_T3, 146b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_R1, 147b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_R2, 148b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_R3, 149b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_L1, 150b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_L2, 151b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_H1, 152b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONS_H2, 153b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence 154b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_BLOCK = CIL_MIN_DECLARATIVE, 155b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_MACRO, 156b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_OPTIONAL, 157b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_BOOL, 158b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_TUNABLE, 159b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_PERM, 160b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_MAP_PERM, 161b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_COMMON, 162b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CLASS, 163b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_MAP_CLASS, 164b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CLASSPERMISSION, 165b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_USER, 166b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_ROLE, 167b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_ROLEATTRIBUTE, 168b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_TYPE, 169b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_TYPEATTRIBUTE, 170b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_TYPEALIAS, 171b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_SENS, 172b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_SENSALIAS, 173b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CAT, 174b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CATSET, 175b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CATALIAS, 176b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_LEVEL, 177b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_LEVELRANGE, 178b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_SID, 179b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_NAME, 180b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_CONTEXT, 181b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_IPADDR, 182b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence CIL_POLICYCAP, 183b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence}; 184b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence 185b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence 186b19eafb97feb6389d78e1693f276fc5b10e25bdSteve Lawrence#endif /* CIL_FLAVOR_H_ */ 187