�
p��fc@s�ddlZddlTee�Zd�Zdee�fd��YZejdkr{dZ eZ
defd ��YZn@ejd
kr�dZ eZdefd
��YZ
ned��dS(i����N(t*cCsft|t�rt|t�St|t�r?t|j�|jSt|t �rR|St
d|��dS(s�Return the type with the 'other' byte order. Simple types like
c_int and so on already have __ctype_be__ and __ctype_le__
attributes which contain the types, for more complicated types
arrays and structures are supported.
s+This type does not support other endian: %sN(thasattrt
_OTHER_ENDIANtgetattrt
isinstancet_array_typet
_other_endiant_type_t_length_t
issubclasst Structuret TypeError(ttyp((s&/usr/lib64/python2.7/ctypes/_endian.pyR s
t
_swapped_metacBseZd�ZRS(cCs�|dkrgg}xI|D]A}|d}|d}|d}|j|t|�f|�qW|}ntt|�j||�dS(Nt_fields_iii(tappendRtsuperR
t__setattr__(tselftattrnametvaluetfieldstdesctnameRtrest((s&/usr/lib64/python2.7/ctypes/_endian.pyRs
! (t__name__t
__module__R(((s&/usr/lib64/python2.7/ctypes/_endian.pyR
stlittlet__ctype_be__tBigEndianStructurecBseZdZeZdZRS(s$Structure with big endian byte orderN(RRt__doc__R
t
__metaclass__tNonet_swappedbytes_(((s&/usr/lib64/python2.7/ctypes/_endian.pyR1stbigt__ctype_le__tLittleEndianStructurecBseZdZeZdZRS(s'Structure with little endian byte orderN(RRRR
RR R!(((s&/usr/lib64/python2.7/ctypes/_endian.pyR$:ssInvalid byteorder(
tsystctypesttypetArrayRRR
R
t byteorderRR$RtRuntimeError(((s&/usr/lib64/python2.7/ctypes/_endian.pyt<module>s
|