ķ oŽ¸Qc@sŋddlZddlTeeƒZd„Zdeeƒfd„ƒYZejdkr{dZ eZ defd „ƒYZ n@ejd kr¯d Z eZ d efd „ƒYZ n e dƒ‚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$/sys/lib/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__(tselftattrnametvaluetfieldstdesctnameR trest((s$/sys/lib/python2.7/ctypes/_endian.pyRs     ! (t__name__t __module__R(((s$/sys/lib/python2.7/ctypes/_endian.pyR stlittlet __ctype_be__tBigEndianStructurecBseZdZeZdZRS(s$Structure with big endian byte orderN(RRt__doc__R t __metaclass__tNonet_swappedbytes_(((s$/sys/lib/python2.7/ctypes/_endian.pyR1stbigt __ctype_le__tLittleEndianStructurecBseZdZeZdZRS(s'Structure with little endian byte orderN(RRRR RR R!(((s$/sys/lib/python2.7/ctypes/_endian.pyR$:ssInvalid byteorder( tsystctypesttypetArrayRRR R t byteorderRR$Rt RuntimeError(((s$/sys/lib/python2.7/ctypes/_endian.pyts