# This file was automatically generated by SWIG (http://www.swig.org).
# Version 2.0.11
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.





from sys import version_info
if version_info >= (2,6,0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_qpol', [dirname(__file__)])
        except ImportError:
            import _qpol
            return _qpol
        if fp is not None:
            try:
                _mod = imp.load_module('_qpol', fp, pathname, description)
            finally:
                fp.close()
            return _mod
    _qpol = swig_import_helper()
    del swig_import_helper
else:
    import _qpol
del version_info
try:
    _swig_property = property
except NameError:
    pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
    if (name == "thisown"): return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    if (not static):
        self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)

def _swig_setattr(self,class_type,name,value):
    return _swig_setattr_nondynamic(self,class_type,name,value,0)

def _swig_getattr(self,class_type,name):
    if (name == "thisown"): return self.this.own()
    method = class_type.__swig_getmethods__.get(name,None)
    if method: return method(self)
    raise AttributeError(name)

def _swig_repr(self):
    try: strthis = "proxy of " + self.this.__repr__()
    except: strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0



def to_str(*args):
  return _qpol.to_str(*args)
to_str = _qpol.to_str

def to_int_with_free(*args):
  return _qpol.to_int_with_free(*args)
to_int_with_free = _qpol.to_int_with_free
import logging
from functools import wraps

def QpolGenerator(cast):
    """
    A decorator which converts qpol iterators into Python generators.

    Qpol iterators use void* to be generic about their contents.
    The purpose of the _from_void functions below is to wrap
    the pointer casting, hence the "cast" variable name here.

    Decorator parameter:
    cast    A wrapper function which casts the qpol iterator return pointer
            to the proper C data type pointer.  The Python function
            reference to the C Python extension is used, for example:

            @QpolGenerator(_qpol.qpol_type_from_void)
    """

    def decorate(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            qpol_iter = func(*args)
            while not qpol_iter.isend():
                yield cast(qpol_iter.item())
                qpol_iter.next_()

        return wrapper
    return decorate

def qpol_logger(level, msg):
    """Log qpol messages via Python logging."""
    logging.getLogger(__name__).debug(msg)

def qpol_policy_factory(path):
    """Factory function for qpol policy objects."""
    # The main purpose here is to hook in the
    # above logger callback.
    return qpol_policy_t(path, 0, qpol_logger)

QPOL_POLICY_OPTION_NO_NEVERALLOWS = _qpol.QPOL_POLICY_OPTION_NO_NEVERALLOWS
QPOL_POLICY_OPTION_NO_RULES = _qpol.QPOL_POLICY_OPTION_NO_RULES
QPOL_POLICY_OPTION_MATCH_SYSTEM = _qpol.QPOL_POLICY_OPTION_MATCH_SYSTEM
QPOL_POLICY_MAX_VERSION = _qpol.QPOL_POLICY_MAX_VERSION
QPOL_POLICY_MIN_VERSION = _qpol.QPOL_POLICY_MIN_VERSION
class qpol_policy_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_policy_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_policy_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_policy_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_policy_t
    __del__ = lambda self : None;
    def version(self): return _qpol.qpol_policy_t_version(self)
    def handle_unknown(self): return _qpol.qpol_policy_t_handle_unknown(self)
    def target_platform(self): return _qpol.qpol_policy_t_target_platform(self)
    def capability(self, *args): return _qpol.qpol_policy_t_capability(self, *args)
    @QpolGenerator(_qpol.qpol_type_from_void) 
    def type_iter(self): return _qpol.qpol_policy_t_type_iter(self)
    def type_count(self): return _qpol.qpol_policy_t_type_count(self)
    @QpolGenerator(_qpol.qpol_role_from_void) 
    def role_iter(self): return _qpol.qpol_policy_t_role_iter(self)
    def role_count(self): return _qpol.qpol_policy_t_role_count(self)
    @QpolGenerator(_qpol.qpol_level_from_void) 
    def level_iter(self): return _qpol.qpol_policy_t_level_iter(self)
    def level_count(self): return _qpol.qpol_policy_t_level_count(self)
    @QpolGenerator(_qpol.qpol_cat_from_void) 
    def cat_iter(self): return _qpol.qpol_policy_t_cat_iter(self)
    def cat_count(self): return _qpol.qpol_policy_t_cat_count(self)
    @QpolGenerator(_qpol.qpol_user_from_void) 
    def user_iter(self): return _qpol.qpol_policy_t_user_iter(self)
    def user_count(self): return _qpol.qpol_policy_t_user_count(self)
    @QpolGenerator(_qpol.qpol_bool_from_void) 
    def bool_iter(self): return _qpol.qpol_policy_t_bool_iter(self)
    def bool_count(self): return _qpol.qpol_policy_t_bool_count(self)
    @QpolGenerator(_qpol.qpol_class_from_void) 
    def class_iter(self, perm=None): return _qpol.qpol_policy_t_class_iter(self, perm)
    def class_count(self): return _qpol.qpol_policy_t_class_count(self)
    @QpolGenerator(_qpol.qpol_common_from_void) 
    def common_iter(self, perm=None): return _qpol.qpol_policy_t_common_iter(self, perm)
    def common_count(self): return _qpol.qpol_policy_t_common_count(self)
    @QpolGenerator(_qpol.qpol_fs_use_from_void) 
    def fs_use_iter(self): return _qpol.qpol_policy_t_fs_use_iter(self)
    def fs_use_count(self): return _qpol.qpol_policy_t_fs_use_count(self)
    @QpolGenerator(_qpol.qpol_genfscon_from_void) 
    def genfscon_iter(self): return _qpol.qpol_policy_t_genfscon_iter(self)
    def genfscon_count(self): return _qpol.qpol_policy_t_genfscon_count(self)
    @QpolGenerator(_qpol.qpol_isid_from_void) 
    def isid_iter(self): return _qpol.qpol_policy_t_isid_iter(self)
    def isid_count(self): return _qpol.qpol_policy_t_isid_count(self)
    @QpolGenerator(_qpol.qpol_netifcon_from_void) 
    def netifcon_iter(self): return _qpol.qpol_policy_t_netifcon_iter(self)
    def netifcon_count(self): return _qpol.qpol_policy_t_netifcon_count(self)
    @QpolGenerator(_qpol.qpol_nodecon_from_void) 
    def nodecon_iter(self): return _qpol.qpol_policy_t_nodecon_iter(self)
    def nodecon_count(self): return _qpol.qpol_policy_t_nodecon_count(self)
    @QpolGenerator(_qpol.qpol_portcon_from_void) 
    def portcon_iter(self): return _qpol.qpol_policy_t_portcon_iter(self)
    def portcon_count(self): return _qpol.qpol_policy_t_portcon_count(self)
    @QpolGenerator(_qpol.qpol_constraint_from_void) 
    def constraint_iter(self): return _qpol.qpol_policy_t_constraint_iter(self)
    def constraint_count(self): return _qpol.qpol_policy_t_constraint_count(self)
    @QpolGenerator(_qpol.qpol_validatetrans_from_void) 
    def validatetrans_iter(self): return _qpol.qpol_policy_t_validatetrans_iter(self)
    def validatetrans_count(self): return _qpol.qpol_policy_t_validatetrans_count(self)
    @QpolGenerator(_qpol.qpol_role_allow_from_void) 
    def role_allow_iter(self): return _qpol.qpol_policy_t_role_allow_iter(self)
    def role_allow_count(self): return _qpol.qpol_policy_t_role_allow_count(self)
    @QpolGenerator(_qpol.qpol_role_trans_from_void) 
    def role_trans_iter(self): return _qpol.qpol_policy_t_role_trans_iter(self)
    def role_trans_count(self): return _qpol.qpol_policy_t_role_trans_count(self)
    @QpolGenerator(_qpol.qpol_range_trans_from_void) 
    def range_trans_iter(self): return _qpol.qpol_policy_t_range_trans_iter(self)
    def range_trans_count(self): return _qpol.qpol_policy_t_range_trans_count(self)
    @QpolGenerator(_qpol.qpol_avrule_from_void) 
    def avrule_iter(self): return _qpol.qpol_policy_t_avrule_iter(self)
    def avrule_allow_count(self): return _qpol.qpol_policy_t_avrule_allow_count(self)
    def avrule_auditallow_count(self): return _qpol.qpol_policy_t_avrule_auditallow_count(self)
    def avrule_neverallow_count(self): return _qpol.qpol_policy_t_avrule_neverallow_count(self)
    def avrule_dontaudit_count(self): return _qpol.qpol_policy_t_avrule_dontaudit_count(self)
    @QpolGenerator(_qpol.qpol_avrule_from_void) 
    def avrulex_iter(self): return _qpol.qpol_policy_t_avrulex_iter(self)
    def avrule_allowx_count(self): return _qpol.qpol_policy_t_avrule_allowx_count(self)
    def avrule_auditallowx_count(self): return _qpol.qpol_policy_t_avrule_auditallowx_count(self)
    def avrule_neverallowx_count(self): return _qpol.qpol_policy_t_avrule_neverallowx_count(self)
    def avrule_dontauditx_count(self): return _qpol.qpol_policy_t_avrule_dontauditx_count(self)
    @QpolGenerator(_qpol.qpol_terule_from_void) 
    def terule_iter(self): return _qpol.qpol_policy_t_terule_iter(self)
    def terule_trans_count(self): return _qpol.qpol_policy_t_terule_trans_count(self)
    def terule_change_count(self): return _qpol.qpol_policy_t_terule_change_count(self)
    def terule_member_count(self): return _qpol.qpol_policy_t_terule_member_count(self)
    def cond_iter(self): return _qpol.qpol_policy_t_cond_iter(self)
    def cond_count(self): return _qpol.qpol_policy_t_cond_count(self)
    @QpolGenerator(_qpol.qpol_filename_trans_from_void) 
    def filename_trans_iter(self): return _qpol.qpol_policy_t_filename_trans_iter(self)
    def filename_trans_count(self): return _qpol.qpol_policy_t_filename_trans_count(self)
    @QpolGenerator(_qpol.qpol_type_from_void) 
    def permissive_iter(self): return _qpol.qpol_policy_t_permissive_iter(self)
    def permissive_count(self): return _qpol.qpol_policy_t_permissive_count(self)
    @QpolGenerator(_qpol.qpol_typebounds_from_void) 
    def typebounds_iter(self): return _qpol.qpol_policy_t_typebounds_iter(self)
    @QpolGenerator(_qpol.qpol_polcap_from_void) 
    def polcap_iter(self): return _qpol.qpol_policy_t_polcap_iter(self)
    def polcap_count(self): return _qpol.qpol_policy_t_polcap_count(self)
    @QpolGenerator(_qpol.qpol_default_object_from_void) 
    def default_iter(self): return _qpol.qpol_policy_t_default_iter(self)
    @QpolGenerator(_qpol.qpol_iomemcon_from_void) 
    def iomemcon_iter(self): return _qpol.qpol_policy_t_iomemcon_iter(self)
    def iomemcon_count(self): return _qpol.qpol_policy_t_iomemcon_count(self)
    @QpolGenerator(_qpol.qpol_ioportcon_from_void) 
    def ioportcon_iter(self): return _qpol.qpol_policy_t_ioportcon_iter(self)
    def ioportcon_count(self): return _qpol.qpol_policy_t_ioportcon_count(self)
    @QpolGenerator(_qpol.qpol_pcidevicecon_from_void) 
    def pcidevicecon_iter(self): return _qpol.qpol_policy_t_pcidevicecon_iter(self)
    def pcidevicecon_count(self): return _qpol.qpol_policy_t_pcidevicecon_count(self)
    @QpolGenerator(_qpol.qpol_pirqcon_from_void) 
    def pirqcon_iter(self): return _qpol.qpol_policy_t_pirqcon_iter(self)
    def pirqcon_count(self): return _qpol.qpol_policy_t_pirqcon_count(self)
    @QpolGenerator(_qpol.qpol_devicetreecon_from_void) 
    def devicetreecon_iter(self): return _qpol.qpol_policy_t_devicetreecon_iter(self)
    def devicetreecon_count(self): return _qpol.qpol_policy_t_devicetreecon_count(self)
qpol_policy_t_swigregister = _qpol.qpol_policy_t_swigregister
qpol_policy_t_swigregister(qpol_policy_t)

QPOL_CAP_ATTRIB_NAMES = _qpol.QPOL_CAP_ATTRIB_NAMES
QPOL_CAP_SYN_RULES = _qpol.QPOL_CAP_SYN_RULES
QPOL_CAP_LINE_NUMBERS = _qpol.QPOL_CAP_LINE_NUMBERS
QPOL_CAP_CONDITIONALS = _qpol.QPOL_CAP_CONDITIONALS
QPOL_CAP_MLS = _qpol.QPOL_CAP_MLS
QPOL_CAP_MODULES = _qpol.QPOL_CAP_MODULES
QPOL_CAP_RULES_LOADED = _qpol.QPOL_CAP_RULES_LOADED
QPOL_CAP_SOURCE = _qpol.QPOL_CAP_SOURCE
QPOL_CAP_NEVERALLOW = _qpol.QPOL_CAP_NEVERALLOW
QPOL_CAP_POLCAPS = _qpol.QPOL_CAP_POLCAPS
QPOL_CAP_BOUNDS = _qpol.QPOL_CAP_BOUNDS
QPOL_CAP_DEFAULT_OBJECTS = _qpol.QPOL_CAP_DEFAULT_OBJECTS
QPOL_CAP_DEFAULT_TYPE = _qpol.QPOL_CAP_DEFAULT_TYPE
QPOL_CAP_PERMISSIVE = _qpol.QPOL_CAP_PERMISSIVE
QPOL_CAP_FILENAME_TRANS = _qpol.QPOL_CAP_FILENAME_TRANS
QPOL_CAP_ROLETRANS = _qpol.QPOL_CAP_ROLETRANS
QPOL_CAP_XPERM_IOCTL = _qpol.QPOL_CAP_XPERM_IOCTL
class qpol_iterator_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_iterator_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_iterator_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_iterator_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_iterator_t
    __del__ = lambda self : None;
    def item(self): return _qpol.qpol_iterator_t_item(self)
    def next_(self): return _qpol.qpol_iterator_t_next_(self)
    def isend(self): return _qpol.qpol_iterator_t_isend(self)
    def size(self): return _qpol.qpol_iterator_t_size(self)
qpol_iterator_t_swigregister = _qpol.qpol_iterator_t_swigregister
qpol_iterator_t_swigregister(qpol_iterator_t)

class qpol_type_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_type_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_type_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_type_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_type_t
    __del__ = lambda self : None;
    def name(self, *args): return _qpol.qpol_type_t_name(self, *args)
    def value(self, *args): return _qpol.qpol_type_t_value(self, *args)
    def isalias(self, *args): return _qpol.qpol_type_t_isalias(self, *args)
    def isattr(self, *args): return _qpol.qpol_type_t_isattr(self, *args)
    def ispermissive(self, *args): return _qpol.qpol_type_t_ispermissive(self, *args)
    @QpolGenerator(_qpol.qpol_type_from_void) 
    def type_iter(self, *args): return _qpol.qpol_type_t_type_iter(self, *args)
    @QpolGenerator(_qpol.qpol_type_from_void) 
    def attr_iter(self, *args): return _qpol.qpol_type_t_attr_iter(self, *args)
    @QpolGenerator(_qpol.to_str) 
    def alias_iter(self, *args): return _qpol.qpol_type_t_alias_iter(self, *args)
qpol_type_t_swigregister = _qpol.qpol_type_t_swigregister
qpol_type_t_swigregister(qpol_type_t)


def qpol_type_from_void(*args):
  return _qpol.qpol_type_from_void(*args)
qpol_type_from_void = _qpol.qpol_type_from_void
class qpol_role_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_role_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_role_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_role_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_role_t
    __del__ = lambda self : None;
    def value(self, *args): return _qpol.qpol_role_t_value(self, *args)
    def name(self, *args): return _qpol.qpol_role_t_name(self, *args)
    @QpolGenerator(_qpol.qpol_type_from_void) 
    def type_iter(self, *args): return _qpol.qpol_role_t_type_iter(self, *args)
    def dominate_iter(self, *args): return _qpol.qpol_role_t_dominate_iter(self, *args)
qpol_role_t_swigregister = _qpol.qpol_role_t_swigregister
qpol_role_t_swigregister(qpol_role_t)


def qpol_role_from_void(*args):
  return _qpol.qpol_role_from_void(*args)
qpol_role_from_void = _qpol.qpol_role_from_void
class qpol_level_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_level_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_level_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_level_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_level_t
    __del__ = lambda self : None;
    def isalias(self, *args): return _qpol.qpol_level_t_isalias(self, *args)
    def value(self, *args): return _qpol.qpol_level_t_value(self, *args)
    def name(self, *args): return _qpol.qpol_level_t_name(self, *args)
    @QpolGenerator(_qpol.qpol_cat_from_void) 
    def cat_iter(self, *args): return _qpol.qpol_level_t_cat_iter(self, *args)
    @QpolGenerator(_qpol.to_str) 
    def alias_iter(self, *args): return _qpol.qpol_level_t_alias_iter(self, *args)
qpol_level_t_swigregister = _qpol.qpol_level_t_swigregister
qpol_level_t_swigregister(qpol_level_t)


def qpol_level_from_void(*args):
  return _qpol.qpol_level_from_void(*args)
qpol_level_from_void = _qpol.qpol_level_from_void
class qpol_cat_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_cat_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_cat_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_cat_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_cat_t
    __del__ = lambda self : None;
    def isalias(self, *args): return _qpol.qpol_cat_t_isalias(self, *args)
    def value(self, *args): return _qpol.qpol_cat_t_value(self, *args)
    def name(self, *args): return _qpol.qpol_cat_t_name(self, *args)
    @QpolGenerator(_qpol.to_str) 
    def alias_iter(self, *args): return _qpol.qpol_cat_t_alias_iter(self, *args)
qpol_cat_t_swigregister = _qpol.qpol_cat_t_swigregister
qpol_cat_t_swigregister(qpol_cat_t)


def qpol_cat_from_void(*args):
  return _qpol.qpol_cat_from_void(*args)
qpol_cat_from_void = _qpol.qpol_cat_from_void
class qpol_mls_range_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_mls_range_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_mls_range_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_mls_range_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_mls_range_t
    __del__ = lambda self : None;
    def high_level(self, *args): return _qpol.qpol_mls_range_t_high_level(self, *args)
    def low_level(self, *args): return _qpol.qpol_mls_range_t_low_level(self, *args)
qpol_mls_range_t_swigregister = _qpol.qpol_mls_range_t_swigregister
qpol_mls_range_t_swigregister(qpol_mls_range_t)


def qpol_mls_range_from_void(*args):
  return _qpol.qpol_mls_range_from_void(*args)
qpol_mls_range_from_void = _qpol.qpol_mls_range_from_void
class qpol_semantic_level_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_semantic_level_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_semantic_level_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_semantic_level_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_semantic_level_t
    __del__ = lambda self : None;
    def add_cats(self, *args): return _qpol.qpol_semantic_level_t_add_cats(self, *args)
qpol_semantic_level_t_swigregister = _qpol.qpol_semantic_level_t_swigregister
qpol_semantic_level_t_swigregister(qpol_semantic_level_t)

class qpol_mls_level_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_mls_level_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_mls_level_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_mls_level_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_mls_level_t
    __del__ = lambda self : None;
    def sens_name(self, *args): return _qpol.qpol_mls_level_t_sens_name(self, *args)
    @QpolGenerator(_qpol.qpol_cat_from_void) 
    def cat_iter(self, *args): return _qpol.qpol_mls_level_t_cat_iter(self, *args)
qpol_mls_level_t_swigregister = _qpol.qpol_mls_level_t_swigregister
qpol_mls_level_t_swigregister(qpol_mls_level_t)


def qpol_mls_level_from_void(*args):
  return _qpol.qpol_mls_level_from_void(*args)
qpol_mls_level_from_void = _qpol.qpol_mls_level_from_void
class qpol_user_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_user_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_user_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_user_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_user_t
    __del__ = lambda self : None;
    def value(self, *args): return _qpol.qpol_user_t_value(self, *args)
    @QpolGenerator(_qpol.qpol_role_from_void) 
    def role_iter(self, *args): return _qpol.qpol_user_t_role_iter(self, *args)
    def range(self, *args): return _qpol.qpol_user_t_range(self, *args)
    def name(self, *args): return _qpol.qpol_user_t_name(self, *args)
    def dfltlevel(self, *args): return _qpol.qpol_user_t_dfltlevel(self, *args)
qpol_user_t_swigregister = _qpol.qpol_user_t_swigregister
qpol_user_t_swigregister(qpol_user_t)


def qpol_user_from_void(*args):
  return _qpol.qpol_user_from_void(*args)
qpol_user_from_void = _qpol.qpol_user_from_void
class qpol_bool_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_bool_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_bool_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_bool_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_bool_t
    __del__ = lambda self : None;
    def value(self, *args): return _qpol.qpol_bool_t_value(self, *args)
    def state(self, *args): return _qpol.qpol_bool_t_state(self, *args)
    def name(self, *args): return _qpol.qpol_bool_t_name(self, *args)
qpol_bool_t_swigregister = _qpol.qpol_bool_t_swigregister
qpol_bool_t_swigregister(qpol_bool_t)


def qpol_bool_from_void(*args):
  return _qpol.qpol_bool_from_void(*args)
qpol_bool_from_void = _qpol.qpol_bool_from_void
class qpol_context_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_context_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_context_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_context_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_context_t
    __del__ = lambda self : None;
    def user(self, *args): return _qpol.qpol_context_t_user(self, *args)
    def role(self, *args): return _qpol.qpol_context_t_role(self, *args)
    def type_(self, *args): return _qpol.qpol_context_t_type_(self, *args)
    def range(self, *args): return _qpol.qpol_context_t_range(self, *args)
qpol_context_t_swigregister = _qpol.qpol_context_t_swigregister
qpol_context_t_swigregister(qpol_context_t)


def qpol_context_from_void(*args):
  return _qpol.qpol_context_from_void(*args)
qpol_context_from_void = _qpol.qpol_context_from_void
class qpol_class_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_class_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_class_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_class_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_class_t
    __del__ = lambda self : None;
    def value(self, *args): return _qpol.qpol_class_t_value(self, *args)
    def common(self, *args): return _qpol.qpol_class_t_common(self, *args)
    @QpolGenerator(_qpol.to_str) 
    def perm_iter(self, *args): return _qpol.qpol_class_t_perm_iter(self, *args)
    @QpolGenerator(_qpol.qpol_constraint_from_void) 
    def constraint_iter(self, *args): return _qpol.qpol_class_t_constraint_iter(self, *args)
    @QpolGenerator(_qpol.qpol_validatetrans_from_void) 
    def validatetrans_iter(self, *args): return _qpol.qpol_class_t_validatetrans_iter(self, *args)
    def name(self, *args): return _qpol.qpol_class_t_name(self, *args)
qpol_class_t_swigregister = _qpol.qpol_class_t_swigregister
qpol_class_t_swigregister(qpol_class_t)


def qpol_class_from_void(*args):
  return _qpol.qpol_class_from_void(*args)
qpol_class_from_void = _qpol.qpol_class_from_void
class qpol_common_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_common_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_common_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_common_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_common_t
    __del__ = lambda self : None;
    def value(self, *args): return _qpol.qpol_common_t_value(self, *args)
    @QpolGenerator(_qpol.to_str) 
    def perm_iter(self, *args): return _qpol.qpol_common_t_perm_iter(self, *args)
    def name(self, *args): return _qpol.qpol_common_t_name(self, *args)
qpol_common_t_swigregister = _qpol.qpol_common_t_swigregister
qpol_common_t_swigregister(qpol_common_t)


def qpol_common_from_void(*args):
  return _qpol.qpol_common_from_void(*args)
qpol_common_from_void = _qpol.qpol_common_from_void
QPOL_FS_USE_XATTR = _qpol.QPOL_FS_USE_XATTR
QPOL_FS_USE_TRANS = _qpol.QPOL_FS_USE_TRANS
QPOL_FS_USE_TASK = _qpol.QPOL_FS_USE_TASK
QPOL_FS_USE_GENFS = _qpol.QPOL_FS_USE_GENFS
QPOL_FS_USE_NONE = _qpol.QPOL_FS_USE_NONE
QPOL_FS_USE_PSID = _qpol.QPOL_FS_USE_PSID
class qpol_fs_use_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_fs_use_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_fs_use_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_fs_use_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_fs_use_t
    __del__ = lambda self : None;
    def name(self, *args): return _qpol.qpol_fs_use_t_name(self, *args)
    def behavior(self, *args): return _qpol.qpol_fs_use_t_behavior(self, *args)
    def context(self, *args): return _qpol.qpol_fs_use_t_context(self, *args)
qpol_fs_use_t_swigregister = _qpol.qpol_fs_use_t_swigregister
qpol_fs_use_t_swigregister(qpol_fs_use_t)


def qpol_fs_use_from_void(*args):
  return _qpol.qpol_fs_use_from_void(*args)
qpol_fs_use_from_void = _qpol.qpol_fs_use_from_void
QPOL_CLASS_ALL = _qpol.QPOL_CLASS_ALL
QPOL_CLASS_BLK_FILE = _qpol.QPOL_CLASS_BLK_FILE
QPOL_CLASS_CHR_FILE = _qpol.QPOL_CLASS_CHR_FILE
QPOL_CLASS_DIR = _qpol.QPOL_CLASS_DIR
QPOL_CLASS_FIFO_FILE = _qpol.QPOL_CLASS_FIFO_FILE
QPOL_CLASS_FILE = _qpol.QPOL_CLASS_FILE
QPOL_CLASS_LNK_FILE = _qpol.QPOL_CLASS_LNK_FILE
QPOL_CLASS_SOCK_FILE = _qpol.QPOL_CLASS_SOCK_FILE
class qpol_genfscon_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_genfscon_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_genfscon_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_genfscon_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_genfscon_t
    __del__ = lambda self : None;
    def name(self, *args): return _qpol.qpol_genfscon_t_name(self, *args)
    def path(self, *args): return _qpol.qpol_genfscon_t_path(self, *args)
    def object_class(self, *args): return _qpol.qpol_genfscon_t_object_class(self, *args)
    def context(self, *args): return _qpol.qpol_genfscon_t_context(self, *args)
qpol_genfscon_t_swigregister = _qpol.qpol_genfscon_t_swigregister
qpol_genfscon_t_swigregister(qpol_genfscon_t)


def qpol_genfscon_from_void(*args):
  return _qpol.qpol_genfscon_from_void(*args)
qpol_genfscon_from_void = _qpol.qpol_genfscon_from_void
class qpol_isid_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_isid_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_isid_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_isid_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_isid_t
    __del__ = lambda self : None;
    def name(self, *args): return _qpol.qpol_isid_t_name(self, *args)
    def context(self, *args): return _qpol.qpol_isid_t_context(self, *args)
qpol_isid_t_swigregister = _qpol.qpol_isid_t_swigregister
qpol_isid_t_swigregister(qpol_isid_t)


def qpol_isid_from_void(*args):
  return _qpol.qpol_isid_from_void(*args)
qpol_isid_from_void = _qpol.qpol_isid_from_void
class qpol_netifcon_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_netifcon_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_netifcon_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_netifcon_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_netifcon_t
    __del__ = lambda self : None;
    def name(self, *args): return _qpol.qpol_netifcon_t_name(self, *args)
    def msg_con(self, *args): return _qpol.qpol_netifcon_t_msg_con(self, *args)
    def if_con(self, *args): return _qpol.qpol_netifcon_t_if_con(self, *args)
qpol_netifcon_t_swigregister = _qpol.qpol_netifcon_t_swigregister
qpol_netifcon_t_swigregister(qpol_netifcon_t)


def qpol_netifcon_from_void(*args):
  return _qpol.qpol_netifcon_from_void(*args)
qpol_netifcon_from_void = _qpol.qpol_netifcon_from_void
QPOL_IPV4 = _qpol.QPOL_IPV4
QPOL_IPV6 = _qpol.QPOL_IPV6
class qpol_nodecon_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_nodecon_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_nodecon_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_nodecon_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_nodecon_t
    __del__ = lambda self : None;
    def addr(self, *args): return _qpol.qpol_nodecon_t_addr(self, *args)
    def mask(self, *args): return _qpol.qpol_nodecon_t_mask(self, *args)
    def protocol(self, *args): return _qpol.qpol_nodecon_t_protocol(self, *args)
    def context(self, *args): return _qpol.qpol_nodecon_t_context(self, *args)
qpol_nodecon_t_swigregister = _qpol.qpol_nodecon_t_swigregister
qpol_nodecon_t_swigregister(qpol_nodecon_t)


def qpol_nodecon_from_void(*args):
  return _qpol.qpol_nodecon_from_void(*args)
qpol_nodecon_from_void = _qpol.qpol_nodecon_from_void
IPPROTO_TCP = _qpol.IPPROTO_TCP
IPPROTO_UDP = _qpol.IPPROTO_UDP
class qpol_portcon_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_portcon_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_portcon_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_portcon_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_portcon_t
    __del__ = lambda self : None;
    def low_port(self, *args): return _qpol.qpol_portcon_t_low_port(self, *args)
    def high_port(self, *args): return _qpol.qpol_portcon_t_high_port(self, *args)
    def protocol(self, *args): return _qpol.qpol_portcon_t_protocol(self, *args)
    def context(self, *args): return _qpol.qpol_portcon_t_context(self, *args)
qpol_portcon_t_swigregister = _qpol.qpol_portcon_t_swigregister
qpol_portcon_t_swigregister(qpol_portcon_t)


def qpol_portcon_from_void(*args):
  return _qpol.qpol_portcon_from_void(*args)
qpol_portcon_from_void = _qpol.qpol_portcon_from_void
class qpol_constraint_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_constraint_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_constraint_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_constraint_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_constraint_t
    __del__ = lambda self : None;
    def object_class(self, *args): return _qpol.qpol_constraint_t_object_class(self, *args)
    @QpolGenerator(_qpol.to_str) 
    def perm_iter(self, *args): return _qpol.qpol_constraint_t_perm_iter(self, *args)
    @QpolGenerator(_qpol.qpol_constraint_expr_node_from_void) 
    def expr_iter(self, *args): return _qpol.qpol_constraint_t_expr_iter(self, *args)
qpol_constraint_t_swigregister = _qpol.qpol_constraint_t_swigregister
qpol_constraint_t_swigregister(qpol_constraint_t)


def qpol_constraint_from_void(*args):
  return _qpol.qpol_constraint_from_void(*args)
qpol_constraint_from_void = _qpol.qpol_constraint_from_void
class qpol_validatetrans_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_validatetrans_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_validatetrans_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_validatetrans_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_validatetrans_t
    __del__ = lambda self : None;
    def object_class(self, *args): return _qpol.qpol_validatetrans_t_object_class(self, *args)
    @QpolGenerator(_qpol.qpol_constraint_expr_node_from_void) 
    def expr_iter(self, *args): return _qpol.qpol_validatetrans_t_expr_iter(self, *args)
qpol_validatetrans_t_swigregister = _qpol.qpol_validatetrans_t_swigregister
qpol_validatetrans_t_swigregister(qpol_validatetrans_t)


def qpol_validatetrans_from_void(*args):
  return _qpol.qpol_validatetrans_from_void(*args)
qpol_validatetrans_from_void = _qpol.qpol_validatetrans_from_void
QPOL_CEXPR_TYPE_NOT = _qpol.QPOL_CEXPR_TYPE_NOT
QPOL_CEXPR_TYPE_AND = _qpol.QPOL_CEXPR_TYPE_AND
QPOL_CEXPR_TYPE_OR = _qpol.QPOL_CEXPR_TYPE_OR
QPOL_CEXPR_TYPE_ATTR = _qpol.QPOL_CEXPR_TYPE_ATTR
QPOL_CEXPR_TYPE_NAMES = _qpol.QPOL_CEXPR_TYPE_NAMES
QPOL_CEXPR_SYM_USER = _qpol.QPOL_CEXPR_SYM_USER
QPOL_CEXPR_SYM_ROLE = _qpol.QPOL_CEXPR_SYM_ROLE
QPOL_CEXPR_SYM_TYPE = _qpol.QPOL_CEXPR_SYM_TYPE
QPOL_CEXPR_SYM_TARGET = _qpol.QPOL_CEXPR_SYM_TARGET
QPOL_CEXPR_SYM_XTARGET = _qpol.QPOL_CEXPR_SYM_XTARGET
QPOL_CEXPR_SYM_L1L2 = _qpol.QPOL_CEXPR_SYM_L1L2
QPOL_CEXPR_SYM_L1H2 = _qpol.QPOL_CEXPR_SYM_L1H2
QPOL_CEXPR_SYM_H1L2 = _qpol.QPOL_CEXPR_SYM_H1L2
QPOL_CEXPR_SYM_H1H2 = _qpol.QPOL_CEXPR_SYM_H1H2
QPOL_CEXPR_SYM_L1H1 = _qpol.QPOL_CEXPR_SYM_L1H1
QPOL_CEXPR_SYM_L2H2 = _qpol.QPOL_CEXPR_SYM_L2H2
QPOL_CEXPR_OP_EQ = _qpol.QPOL_CEXPR_OP_EQ
QPOL_CEXPR_OP_NEQ = _qpol.QPOL_CEXPR_OP_NEQ
QPOL_CEXPR_OP_DOM = _qpol.QPOL_CEXPR_OP_DOM
QPOL_CEXPR_OP_DOMBY = _qpol.QPOL_CEXPR_OP_DOMBY
QPOL_CEXPR_OP_INCOMP = _qpol.QPOL_CEXPR_OP_INCOMP
class qpol_constraint_expr_node_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_constraint_expr_node_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_constraint_expr_node_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_constraint_expr_node_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_constraint_expr_node_t
    __del__ = lambda self : None;
    def expr_type(self, *args): return _qpol.qpol_constraint_expr_node_t_expr_type(self, *args)
    def sym_type(self, *args): return _qpol.qpol_constraint_expr_node_t_sym_type(self, *args)
    def op(self, *args): return _qpol.qpol_constraint_expr_node_t_op(self, *args)
    @QpolGenerator(_qpol.to_str) 
    def names_iter(self, *args): return _qpol.qpol_constraint_expr_node_t_names_iter(self, *args)
qpol_constraint_expr_node_t_swigregister = _qpol.qpol_constraint_expr_node_t_swigregister
qpol_constraint_expr_node_t_swigregister(qpol_constraint_expr_node_t)


def qpol_constraint_expr_node_from_void(*args):
  return _qpol.qpol_constraint_expr_node_from_void(*args)
qpol_constraint_expr_node_from_void = _qpol.qpol_constraint_expr_node_from_void
class qpol_role_allow_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_role_allow_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_role_allow_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_role_allow_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_role_allow_t
    __del__ = lambda self : None;
    def rule_type(self,policy):
        return "allow"

    def source_role(self, *args): return _qpol.qpol_role_allow_t_source_role(self, *args)
    def target_role(self, *args): return _qpol.qpol_role_allow_t_target_role(self, *args)
qpol_role_allow_t_swigregister = _qpol.qpol_role_allow_t_swigregister
qpol_role_allow_t_swigregister(qpol_role_allow_t)


def qpol_role_allow_from_void(*args):
  return _qpol.qpol_role_allow_from_void(*args)
qpol_role_allow_from_void = _qpol.qpol_role_allow_from_void
class qpol_role_trans_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_role_trans_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_role_trans_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_role_trans_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_role_trans_t
    __del__ = lambda self : None;
    def rule_type(self,policy):
        return "role_transition"

    def source_role(self, *args): return _qpol.qpol_role_trans_t_source_role(self, *args)
    def target_type(self, *args): return _qpol.qpol_role_trans_t_target_type(self, *args)
    def object_class(self, *args): return _qpol.qpol_role_trans_t_object_class(self, *args)
    def default_role(self, *args): return _qpol.qpol_role_trans_t_default_role(self, *args)
qpol_role_trans_t_swigregister = _qpol.qpol_role_trans_t_swigregister
qpol_role_trans_t_swigregister(qpol_role_trans_t)


def qpol_role_trans_from_void(*args):
  return _qpol.qpol_role_trans_from_void(*args)
qpol_role_trans_from_void = _qpol.qpol_role_trans_from_void
class qpol_range_trans_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_range_trans_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_range_trans_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_range_trans_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_range_trans_t
    __del__ = lambda self : None;
    def rule_type(self,policy):
        return "range_transition"

    def source_type(self, *args): return _qpol.qpol_range_trans_t_source_type(self, *args)
    def target_type(self, *args): return _qpol.qpol_range_trans_t_target_type(self, *args)
    def object_class(self, *args): return _qpol.qpol_range_trans_t_object_class(self, *args)
    def range(self, *args): return _qpol.qpol_range_trans_t_range(self, *args)
qpol_range_trans_t_swigregister = _qpol.qpol_range_trans_t_swigregister
qpol_range_trans_t_swigregister(qpol_range_trans_t)


def qpol_range_trans_from_void(*args):
  return _qpol.qpol_range_trans_from_void(*args)
qpol_range_trans_from_void = _qpol.qpol_range_trans_from_void
QPOL_RULE_ALLOW = _qpol.QPOL_RULE_ALLOW
QPOL_RULE_NEVERALLOW = _qpol.QPOL_RULE_NEVERALLOW
QPOL_RULE_AUDITALLOW = _qpol.QPOL_RULE_AUDITALLOW
QPOL_RULE_DONTAUDIT = _qpol.QPOL_RULE_DONTAUDIT
QPOL_RULE_XPERMS_ALLOW = _qpol.QPOL_RULE_XPERMS_ALLOW
QPOL_RULE_XPERMS_AUDITALLOW = _qpol.QPOL_RULE_XPERMS_AUDITALLOW
QPOL_RULE_XPERMS_DONTAUDIT = _qpol.QPOL_RULE_XPERMS_DONTAUDIT
QPOL_RULE_XPERMS_NEVERALLOW = _qpol.QPOL_RULE_XPERMS_NEVERALLOW
class qpol_avrule_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_avrule_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_avrule_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_avrule_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_avrule_t
    __del__ = lambda self : None;
    def rule_type(self, *args): return _qpol.qpol_avrule_t_rule_type(self, *args)
    def source_type(self, *args): return _qpol.qpol_avrule_t_source_type(self, *args)
    def target_type(self, *args): return _qpol.qpol_avrule_t_target_type(self, *args)
    def object_class(self, *args): return _qpol.qpol_avrule_t_object_class(self, *args)
    @QpolGenerator(_qpol.to_str) 
    def perm_iter(self, *args): return _qpol.qpol_avrule_t_perm_iter(self, *args)
    @QpolGenerator(_qpol.to_int_with_free) 
    def xperm_iter(self, *args): return _qpol.qpol_avrule_t_xperm_iter(self, *args)
    def is_extended(self, *args): return _qpol.qpol_avrule_t_is_extended(self, *args)
    def xperm_type(self, *args): return _qpol.qpol_avrule_t_xperm_type(self, *args)
    def cond(self, *args): return _qpol.qpol_avrule_t_cond(self, *args)
    def is_enabled(self, *args): return _qpol.qpol_avrule_t_is_enabled(self, *args)
    def which_list(self, *args): return _qpol.qpol_avrule_t_which_list(self, *args)
    def syn_avrule_iter(self, *args): return _qpol.qpol_avrule_t_syn_avrule_iter(self, *args)
qpol_avrule_t_swigregister = _qpol.qpol_avrule_t_swigregister
qpol_avrule_t_swigregister(qpol_avrule_t)


def qpol_avrule_from_void(*args):
  return _qpol.qpol_avrule_from_void(*args)
qpol_avrule_from_void = _qpol.qpol_avrule_from_void
QPOL_RULE_TYPE_TRANS = _qpol.QPOL_RULE_TYPE_TRANS
QPOL_RULE_TYPE_CHANGE = _qpol.QPOL_RULE_TYPE_CHANGE
QPOL_RULE_TYPE_MEMBER = _qpol.QPOL_RULE_TYPE_MEMBER
class qpol_terule_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_terule_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_terule_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_terule_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_terule_t
    __del__ = lambda self : None;
    def rule_type(self, *args): return _qpol.qpol_terule_t_rule_type(self, *args)
    def source_type(self, *args): return _qpol.qpol_terule_t_source_type(self, *args)
    def target_type(self, *args): return _qpol.qpol_terule_t_target_type(self, *args)
    def object_class(self, *args): return _qpol.qpol_terule_t_object_class(self, *args)
    def default_type(self, *args): return _qpol.qpol_terule_t_default_type(self, *args)
    def cond(self, *args): return _qpol.qpol_terule_t_cond(self, *args)
    def is_enabled(self, *args): return _qpol.qpol_terule_t_is_enabled(self, *args)
    def which_list(self, *args): return _qpol.qpol_terule_t_which_list(self, *args)
    def syn_terule_iter(self, *args): return _qpol.qpol_terule_t_syn_terule_iter(self, *args)
qpol_terule_t_swigregister = _qpol.qpol_terule_t_swigregister
qpol_terule_t_swigregister(qpol_terule_t)


def qpol_terule_from_void(*args):
  return _qpol.qpol_terule_from_void(*args)
qpol_terule_from_void = _qpol.qpol_terule_from_void
class qpol_cond_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_cond_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_cond_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_cond_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_cond_t
    __del__ = lambda self : None;
    @QpolGenerator(_qpol.qpol_cond_expr_node_from_void) 
    def expr_node_iter(self, *args): return _qpol.qpol_cond_t_expr_node_iter(self, *args)
    def av_true_iter(self, *args): return _qpol.qpol_cond_t_av_true_iter(self, *args)
    def av_false_iter(self, *args): return _qpol.qpol_cond_t_av_false_iter(self, *args)
    def te_true_iter(self, *args): return _qpol.qpol_cond_t_te_true_iter(self, *args)
    def te_false_iter(self, *args): return _qpol.qpol_cond_t_te_false_iter(self, *args)
    def evaluate(self, *args): return _qpol.qpol_cond_t_evaluate(self, *args)
qpol_cond_t_swigregister = _qpol.qpol_cond_t_swigregister
qpol_cond_t_swigregister(qpol_cond_t)


def qpol_cond_from_void(*args):
  return _qpol.qpol_cond_from_void(*args)
qpol_cond_from_void = _qpol.qpol_cond_from_void
QPOL_COND_EXPR_BOOL = _qpol.QPOL_COND_EXPR_BOOL
QPOL_COND_EXPR_NOT = _qpol.QPOL_COND_EXPR_NOT
QPOL_COND_EXPR_OR = _qpol.QPOL_COND_EXPR_OR
QPOL_COND_EXPR_AND = _qpol.QPOL_COND_EXPR_AND
QPOL_COND_EXPR_XOR = _qpol.QPOL_COND_EXPR_XOR
QPOL_COND_EXPR_EQ = _qpol.QPOL_COND_EXPR_EQ
QPOL_COND_EXPR_NEQ = _qpol.QPOL_COND_EXPR_NEQ
class qpol_cond_expr_node_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_cond_expr_node_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_cond_expr_node_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_cond_expr_node_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_cond_expr_node_t
    __del__ = lambda self : None;
    def expr_type(self, *args): return _qpol.qpol_cond_expr_node_t_expr_type(self, *args)
    def get_boolean(self, *args): return _qpol.qpol_cond_expr_node_t_get_boolean(self, *args)
qpol_cond_expr_node_t_swigregister = _qpol.qpol_cond_expr_node_t_swigregister
qpol_cond_expr_node_t_swigregister(qpol_cond_expr_node_t)


def qpol_cond_expr_node_from_void(*args):
  return _qpol.qpol_cond_expr_node_from_void(*args)
qpol_cond_expr_node_from_void = _qpol.qpol_cond_expr_node_from_void
class qpol_filename_trans_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_filename_trans_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_filename_trans_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_filename_trans_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_filename_trans_t
    __del__ = lambda self : None;
    def rule_type(self,policy):
        return "type_transition"

    def source_type(self, *args): return _qpol.qpol_filename_trans_t_source_type(self, *args)
    def target_type(self, *args): return _qpol.qpol_filename_trans_t_target_type(self, *args)
    def object_class(self, *args): return _qpol.qpol_filename_trans_t_object_class(self, *args)
    def default_type(self, *args): return _qpol.qpol_filename_trans_t_default_type(self, *args)
    def filename(self, *args): return _qpol.qpol_filename_trans_t_filename(self, *args)
qpol_filename_trans_t_swigregister = _qpol.qpol_filename_trans_t_swigregister
qpol_filename_trans_t_swigregister(qpol_filename_trans_t)


def qpol_filename_trans_from_void(*args):
  return _qpol.qpol_filename_trans_from_void(*args)
qpol_filename_trans_from_void = _qpol.qpol_filename_trans_from_void
class qpol_polcap_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_polcap_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_polcap_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_polcap_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_polcap_t
    __del__ = lambda self : None;
    def name(self, *args): return _qpol.qpol_polcap_t_name(self, *args)
qpol_polcap_t_swigregister = _qpol.qpol_polcap_t_swigregister
qpol_polcap_t_swigregister(qpol_polcap_t)


def qpol_polcap_from_void(*args):
  return _qpol.qpol_polcap_from_void(*args)
qpol_polcap_from_void = _qpol.qpol_polcap_from_void
class qpol_typebounds_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_typebounds_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_typebounds_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_typebounds_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_typebounds_t
    __del__ = lambda self : None;
    def parent_name(self, *args): return _qpol.qpol_typebounds_t_parent_name(self, *args)
    def child_name(self, *args): return _qpol.qpol_typebounds_t_child_name(self, *args)
qpol_typebounds_t_swigregister = _qpol.qpol_typebounds_t_swigregister
qpol_typebounds_t_swigregister(qpol_typebounds_t)


def qpol_typebounds_from_void(*args):
  return _qpol.qpol_typebounds_from_void(*args)
qpol_typebounds_from_void = _qpol.qpol_typebounds_from_void
class qpol_rolebounds_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_rolebounds_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_rolebounds_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_rolebounds_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_rolebounds_t
    __del__ = lambda self : None;
    def parent_name(self, *args): return _qpol.qpol_rolebounds_t_parent_name(self, *args)
    def child_name(self, *args): return _qpol.qpol_rolebounds_t_child_name(self, *args)
qpol_rolebounds_t_swigregister = _qpol.qpol_rolebounds_t_swigregister
qpol_rolebounds_t_swigregister(qpol_rolebounds_t)


def qpol_rolebounds_from_void(*args):
  return _qpol.qpol_rolebounds_from_void(*args)
qpol_rolebounds_from_void = _qpol.qpol_rolebounds_from_void
class qpol_userbounds_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_userbounds_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_userbounds_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_userbounds_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_userbounds_t
    __del__ = lambda self : None;
    def parent_name(self, *args): return _qpol.qpol_userbounds_t_parent_name(self, *args)
    def child_name(self, *args): return _qpol.qpol_userbounds_t_child_name(self, *args)
qpol_userbounds_t_swigregister = _qpol.qpol_userbounds_t_swigregister
qpol_userbounds_t_swigregister(qpol_userbounds_t)


def qpol_userbounds_from_void(*args):
  return _qpol.qpol_userbounds_from_void(*args)
qpol_userbounds_from_void = _qpol.qpol_userbounds_from_void
class qpol_default_object_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_default_object_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_default_object_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_default_object_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_default_object_t
    __del__ = lambda self : None;
    def object_class(self, *args): return _qpol.qpol_default_object_t_object_class(self, *args)
    def user_default(self, *args): return _qpol.qpol_default_object_t_user_default(self, *args)
    def role_default(self, *args): return _qpol.qpol_default_object_t_role_default(self, *args)
    def type_default(self, *args): return _qpol.qpol_default_object_t_type_default(self, *args)
    def range_default(self, *args): return _qpol.qpol_default_object_t_range_default(self, *args)
qpol_default_object_t_swigregister = _qpol.qpol_default_object_t_swigregister
qpol_default_object_t_swigregister(qpol_default_object_t)


def qpol_default_object_from_void(*args):
  return _qpol.qpol_default_object_from_void(*args)
qpol_default_object_from_void = _qpol.qpol_default_object_from_void
class qpol_iomemcon_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_iomemcon_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_iomemcon_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_iomemcon_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_iomemcon_t
    __del__ = lambda self : None;
    def low_addr(self, *args): return _qpol.qpol_iomemcon_t_low_addr(self, *args)
    def high_addr(self, *args): return _qpol.qpol_iomemcon_t_high_addr(self, *args)
    def context(self, *args): return _qpol.qpol_iomemcon_t_context(self, *args)
qpol_iomemcon_t_swigregister = _qpol.qpol_iomemcon_t_swigregister
qpol_iomemcon_t_swigregister(qpol_iomemcon_t)


def qpol_iomemcon_from_void(*args):
  return _qpol.qpol_iomemcon_from_void(*args)
qpol_iomemcon_from_void = _qpol.qpol_iomemcon_from_void
class qpol_ioportcon_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_ioportcon_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_ioportcon_t, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _qpol.new_qpol_ioportcon_t(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_ioportcon_t
    __del__ = lambda self : None;
    def low_port(self, *args): return _qpol.qpol_ioportcon_t_low_port(self, *args)
    def high_port(self, *args): return _qpol.qpol_ioportcon_t_high_port(self, *args)
    def context(self, *args): return _qpol.qpol_ioportcon_t_context(self, *args)
qpol_ioportcon_t_swigregister = _qpol.qpol_ioportcon_t_swigregister
qpol_ioportcon_t_swigregister(qpol_ioportcon_t)


def qpol_ioportcon_from_void(*args):
  return _qpol.qpol_ioportcon_from_void(*args)
qpol_ioportcon_from_void = _qpol.qpol_ioportcon_from_void
class qpol_pcidevicecon_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_pcidevicecon_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_pcidevicecon_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_pcidevicecon_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_pcidevicecon_t
    __del__ = lambda self : None;
    def device(self, *args): return _qpol.qpol_pcidevicecon_t_device(self, *args)
    def context(self, *args): return _qpol.qpol_pcidevicecon_t_context(self, *args)
qpol_pcidevicecon_t_swigregister = _qpol.qpol_pcidevicecon_t_swigregister
qpol_pcidevicecon_t_swigregister(qpol_pcidevicecon_t)


def qpol_pcidevicecon_from_void(*args):
  return _qpol.qpol_pcidevicecon_from_void(*args)
qpol_pcidevicecon_from_void = _qpol.qpol_pcidevicecon_from_void
class qpol_pirqcon_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_pirqcon_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_pirqcon_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_pirqcon_t()
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _qpol.delete_qpol_pirqcon_t
    __del__ = lambda self : None;
    def irq(self, *args): return _qpol.qpol_pirqcon_t_irq(self, *args)
    def context(self, *args): return _qpol.qpol_pirqcon_t_context(self, *args)
qpol_pirqcon_t_swigregister = _qpol.qpol_pirqcon_t_swigregister
qpol_pirqcon_t_swigregister(qpol_pirqcon_t)


def qpol_pirqcon_from_void(*args):
  return _qpol.qpol_pirqcon_from_void(*args)
qpol_pirqcon_from_void = _qpol.qpol_pirqcon_from_void
class qpol_devicetreecon_t(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, qpol_devicetreecon_t, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, qpol_devicetreecon_t, name)
    __repr__ = _swig_repr
    def __init__(self): 
        this = _qpol.new_qpol_devicetreecon_t()
        try: self.this.append(this)
        except: self.this = this
    def path(self, *args): return _qpol.qpol_devicetreecon_t_path(self, *args)
    def context(self, *args): return _qpol.qpol_devicetreecon_t_context(self, *args)
    __swig_destroy__ = _qpol.delete_qpol_devicetreecon_t
    __del__ = lambda self : None;
qpol_devicetreecon_t_swigregister = _qpol.qpol_devicetreecon_t_swigregister
qpol_devicetreecon_t_swigregister(qpol_devicetreecon_t)


def qpol_devicetreecon_from_void(*args):
  return _qpol.qpol_devicetreecon_from_void(*args)
qpol_devicetreecon_from_void = _qpol.qpol_devicetreecon_from_void
# This file is compatible with both classic and new-style classes.


