Sindbad~EG File Manager

Current Path : /usr/lib64/python3.6/site-packages/setools/__pycache__/
Upload File :
Current File : //usr/lib64/python3.6/site-packages/setools/__pycache__/iomemconquery.cpython-36.opt-1.pyc

3

�^��@sNddlZddlmZddlmZddlmZddlmZGdd�dee�Z	dS)	�N�)�MatchContext)�
IomemconRange)�PolicyQuery)�match_rangecsVeZdZdZdZdZdZdZdZe	dd��Z
e
jdd��Z
�fdd�Zd	d
�Z
�ZS)�
IomemconQuerya�
    Iomemcon context query.

    Parameter:
    policy          The policy to query.

    Keyword Parameters/Class attributes:
    addr            A 2-tuple of the memory addr range to match. (Set both to
                    the same value for a single mem addr)
    addr_subset     If true, the criteria will match if it is a subset
                    of the iomemcon's range.
    addr_overlap    If true, the criteria will match if it overlaps
                    any of the iomemcon's range.
    addr_superset   If true, the criteria will match if it is a superset
                    of the iomemcon's range.
    addr_proper     If true, use proper superset/subset operations.
                    No effect if not using set operations.

    user            The criteria to match the context's user.
    user_regex      If true, regular expression matching
                    will be used on the user.

    role            The criteria to match the context's role.
    role_regex      If true, regular expression matching
                    will be used on the role.

    type_           The criteria to match the context's type.
    type_regex      If true, regular expression matching
                    will be used on the type.

    range_          The criteria to match the context's range.
    range_subset    If true, the criteria will match if it is a subset
                    of the context's range.
    range_overlap   If true, the criteria will match if it overlaps
                    any of the context's range.
    range_superset  If true, the criteria will match if it is a superset
                    of the context's range.
    range_proper    If true, use proper superset/subset operations.
                    No effect if not using set operations.
    NFcCs|jS)N)�_addr)�self�r
�%/usr/lib64/python3.6/iomemconquery.py�addrLszIomemconQuery.addrcCs^t|�}t|�rT|jdks$|jdkr2tdj|���|j|jkrLtdj|���||_nd|_dS)Nrz1Memory address must be positive: {0.low}-{0.high}zIThe low mem addr must be smaller than the high mem addr: {0.low}-{0.high})r�allZlowZhigh�
ValueError�formatr)r	�valueZpending_addrr
r
rrPscs$tt|�j|f|�tjt�|_dS)N)�superr�__init__�loggingZ	getLogger�__name__�log)r	�policy�kwargs)�	__class__r
rrbszIomemconQuery.__init__ccs�|jjdj|��|jjdj|��|j|j�xN|jj�D]@}|jrht|j|j|j	|j
|j|j�rhq<|j
|j�svq<|Vq<WdS)z.Generator which yields all matching iomemcons.z"Generating results from {0.policy}z}Address: {0.addr!r}, overlap: {0.addr_overlap}, subset: {0.addr_subset}, superset: {0.addr_superset}, proper: {0.addr_proper}N)r�infor�debugZ_match_context_debugrZ	iomemconsrr�addr_subset�addr_overlap�
addr_superset�addr_properZ_match_context�context)r	Ziomemconr
r
r�resultsfs 

zIomemconQuery.results)r�
__module__�__qualname__�__doc__rrrrr�propertyr�setterrr �
__classcell__r
r
)rrrs)r)
rZmixinsrZ	policyreprZqueryr�utilrrr
r
r
r�<module>s


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists