Uname: Linux server.digisquadtech.com 4.18.0-553.100.1.el8_10.x86_64 #1 SMP Mon Feb 2 04:13:33 EST 2026 x86_64
User: 1091 (madhavfluid)
Group: 1090 (madhavfluid)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//usr/lib64/python3.6/site-packages/cffi///__pycache__      ( Reset | Go to )
File Name: backend_ctypes.cpython-36.opt-1.pyc
3
MZf@sddlZddlZddlZddlZddlmZejdkr<eZne    Z
e Z e ZddZGdddeZGd    d
d
eZGd d d eZGd ddeZGdddeZGdddeZGdddeZGdddeZdS)N)modelcCs
t|gS)N)bytes)numr&/usr/lib64/python3.6/backend_ctypes.py<lambda>
sr    c@s eZdZdS)
CTypesTypeN)__name__
__module__ __qualname__rrrrr
sr
c@seZdZeZdgZdZddZeddZe    ddZ
ed    d
Z ed d Z e    d dZ ed5ddZeddZddZddZd6ddZddZeddZdd Zed!d"Zd#d$Zed%d&Zd'd(Zd)d*Zed+Zed,Zed-Zed.Zed/Zed0Z d1d2Z!d3d4Z"dS)7
CTypesData __weakref__z<cdata>cGstd|jfdS)Nzcannot instantiate %r)    TypeError    __class__)selfargsrrr__init__szCTypesData.__init__cCstd|jfdS)Nz+expected a pointer or array ctype, got '%s')r _get_c_name)clsinitrrr_newpszCTypesData._newpcCstdS)N)r)valuerrr
_to_ctypesszCTypesData._to_ctypesc Gs^y
|j}Wn"tk
r,td|fYnX|rR|j|}t||sZ|j|}n|j}|S)Nzcannot create an instance of %r)_ctypeAttributeErrorrr
isinstance)rrctyperesrrr_arg_to_ctypes s


 zCTypesData._arg_to_ctypescCs|dkr|jS|j|SdS)N)r )rrrrr_create_ctype_obj.szCTypesData._create_ctype_objcCstdS)N)r)Z ctypes_valuerrr _from_ctypes5szCTypesData._from_ctypescCs|jjd|S)Nz &) _reftypenamereplace)r replace_withrrrr9szCTypesData._get_c_namecCs*d|jf|_d|jf|_d|_dS)Nz    CData<%s>ffi)rr r r )rrrr
_fix_class=szCTypesData._fix_classcCstdS)N)NotImplementedError)rrrr _get_own_reprCszCTypesData._get_own_reprcCs8|dkr dS|dkr,|ddtjtj>7}d|SdS)NrZNULLrz0x%x)ctypessizeofc_void_p)raddressrrr
_addr_reprFs
zCTypesData._addr_reprNcCs|j}d|p|j|fS)Nz <cdata %r %s>)r*r)rc_nameZownrrr__repr__NszCTypesData.__repr__cCs8|dkrtd|jfntd|j|jfdS)Nzcannot convert %r to an addresszcannot convert %r to %r)rr)rBClassrrr_convert_to_addressRs
zCTypesData._convert_to_addresscCs tj|jS)N)r,r-r)rrrr    _get_sizeZszCTypesData._get_sizecCs tj|jS)N)r,r-r)rrrr_get_size_of_instance^sz CTypesData._get_size_of_instancecCstd|jfdS)Nzcannot cast to %r)rr)rsourcerrr
_cast_fromaszCTypesData._cast_fromcCs
|jdS)N)r4)rrrr_cast_to_integereszCTypesData._cast_to_integercCs tj|jS)N)r,Z    alignmentr)rrrr
_alignmenthszCTypesData._alignmentcCstd|jdS)Nz#cdata %r does not support iteration)rr)rrrr__iter__lszCTypesData.__iter__cs tt|fdd}||_|S)Ncszt|t }t|to t|t }|r@|r@|jd|jdS|sH|rLtSt|tr\|j}t|trl|j}||SdS)N)rCTypesGenericPrimitiverr4NotImplemented_value)rotherZv_is_ptrZw_is_ptr)cmpfuncrrcmprs 
 
 

z!CTypesData._make_cmp.<locals>.cmp)getattroperatorZ    func_name)namerAr)r@r    _make_cmpps
 zCTypesData._make_cmp__eq____ne____lt____le____gt____ge__cCst|jdS)N)hashr4)rrrr__hash__szCTypesData.__hash__cCstd|fdS)Nz string(): %r)r)rmaxlenrrr
_to_stringszCTypesData._to_string)r#)N)#r r r r
Z __metaclass__    __slots__r classmethodr staticmethodrr r!r"rr(r*r0r2r4r5r6r8r9r:r;rErFrGrHrIrJrKrMrOrrrrrs>       
   rc@s eZdZgZddZddZdS)r<cCs
t|jS)N)rLr>)rrrrrMszCTypesGenericPrimitive.__hash__cCst|j|jS)N)reprr"r>)rrrrr*sz$CTypesGenericPrimitive._get_own_reprN)r r r rPrMr*rrrrr<sr<c@s,eZdZgZeddZddZddZdS)CTypesGenericArraycCs||S)Nr)rrrrrrszCTypesGenericArray._newpccs$xtt|D]}||VqWdS)N)xrangelen)rirrrr;szCTypesGenericArray.__iter__cCs|jtj|jS)N)r0r,    addressof_blob)rrrrr*sz CTypesGenericArray._get_own_reprN)r r r rPrQrr;r*rrrrrTs rTc@seZdZddgZdZdZeddZeddZed    d
Z    d d Z
d dZ ddZ e Z eddZeddZeddZddZdS)CTypesGenericPtr_address _as_ctype_ptrFpointercCs||S)Nr)rrrrrrszCTypesGenericPtr._newpcCsV|dkrd}n>t|tr"|j}n*t|ttfr6|}ntd|t|jf|j|S)Nrzbad type for cast to %r: %r)    rrr9intlongrtyper _new_pointer_at)rr7r/rrrr8s

zCTypesGenericPtr._cast_fromcCs$|j|}||_tj||j|_|S)N)__new__r[r,castrr\)rr/rrrrras
z CTypesGenericPtr._new_pointer_atc Cs&y |j|jStk
r dSXdS)Nz???)r0r[r)rrrrr*s zCTypesGenericPtr._get_own_reprcCs|jS)N)r[)rrrrr9sz!CTypesGenericPtr._cast_to_integercCs
t|jS)N)boolr[)rrrr __nonzero__szCTypesGenericPtr.__nonzero__cCs4t|tstdt|j|j|}tj||jS)Nzunexpected %s object)    rrrr`r r4r,rcr)rrr/rrrrs

zCTypesGenericPtr._to_ctypescCstj|tjjpd}|j|S)Nr)r,rcr.rra)r
ctypes_ptrr/rrrr"szCTypesGenericPtr._from_ctypescCs|r|j|j|_dS)N)rcontents)rrfrrrr _initializeszCTypesGenericPtr._initializecCs0||jdfks|js|jr |jStj||SdS)N)r_automatic_castsr[rr4)rr3rrrr4sz$CTypesGenericPtr._convert_to_addressN)r r r rPrikindrQrr8rar*r9re__bool__rr"rhr4rrrrrZs     rZc@s\eZdZdgZeddZddZeddZdd    Zed
d Z    ed d Z
dddZ dS)CTypesBaseStructOrUnionrYcCstd|fdS)Nz!cannot instantiate opaque type %s)r)rrrrrr!sz)CTypesBaseStructOrUnion._create_ctype_objcCs|jtj|jS)N)r0r,rXrY)rrrrr*sz%CTypesBaseStructOrUnion._get_own_reprcCst|j|jS)N)rBroffset)r    fieldnamerrr    _offsetofsz!CTypesBaseStructOrUnion._offsetofcCs.t|dd|jkrtj|jStj||SdS)N_BItem)rBrr,rXrYrr4)rr3rrrr4s z+CTypesBaseStructOrUnion._convert_to_addresscCs|j|}||_|S)N)rbrY)rZctypes_struct_or_unionrrrrr"s
z$CTypesBaseStructOrUnion._from_ctypescCs|jS)N)rY)rrrrrr    sz"CTypesBaseStructOrUnion._to_ctypesNcCstj||p|jdS)Nz &)rr2r)rr1rrrr2 sz CTypesBaseStructOrUnion.__repr__)N) r r r rPrQr!r*ror4r"rr2rrrrrls    rlc@seZdZejejejejejej    ej
ej ej ej ejejejejdZxfdMD]^ZejeeZeeedde<eejejkreeed    <eejejkrLeeed
<qLWxtdND]lZejeeZeeedde<eejejkreeed<eeed<eejejkreeed<qWddZddZddZdOddZddZdd Zd!d"Zd#d$Zd%d&Z d'd(Z!d)d*Z"dRd,d-Z#d.d/Z$d0d1Z%d2d3Z&d4d5Z'dTd6d7Z(dVd8d9Z)d:d;Zd<d=Z*d>d?Z+d@dAZ,dBdCZ-dDZ.dWdEdFZ/e0Z1dGdHZ2dXdIdJZ3dYdKdLZ4dDS)Z CTypesBackend)charshortr^r_z    long longz signed charz unsigned charzunsigned shortz unsigned intz unsigned longzunsigned long longfloatdouble_Boolunsigned long long unsigned long unsigned intunsigned short unsigned charzuint%d_tr+Z    uintptr_tZsize_t    long longr_r^rs signed charzint%d_tZintptr_tZ    ptrdiff_tZssize_tcCs d|_d|_tj|_tj|_dS)Nr)    RTLD_LAZYRTLD_NOWr, RTLD_GLOBAL
RTLD_LOCAL)rrrrr7szCTypesBackend.__init__cCs
||_dS)N)r')rr'rrrset_ffi=szCTypesBackend.set_fficCsttfS)N)rr
)rrrr
_get_types@szCTypesBackend._get_typesrcCstj||}t||S)N)r,ZCDLL CTypesLibrary)rpathflagscdllrrr load_libraryCs zCTypesBackend.load_librarycCsGdddt}|j|S)Nc@s,eZdZgZdZeddZeddZdS)z/CTypesBackend.new_void_type.<locals>.CTypesVoidzvoid &cSsdS)Nr)novaluerrrr"Ksz<CTypesBackend.new_void_type.<locals>.CTypesVoid._from_ctypescSs |dk    rtdt|jfdS)NzNone expected, got %s object)rr`r )rrrrrNsz:CTypesBackend.new_void_type.<locals>.CTypesVoid._to_ctypesN)r r r rPr$rRr"rrrrr
CTypesVoidHs r)rr()rrrrr new_void_typeGs zCTypesBackend.new_void_typecsdkrt|jdkr(d}n<dkr6d}n.dkrDd}ndkrRd    }nd
}djdkfd d |GfdddtjS)NZwchar_trrrtru signed char unsigned charbytervrdr^rcsjt|tttfrt|}nLt|tr.|j}n8t|trBt|}n$|dkrPd}ntdt    |j
f|S)Nrzbad type for cast to %r: %r) rr^r_rtrr9rordrr`r )r7)CTypesPrimitiverr_cast_source_to_inths




z=CTypesBackend.new_primitive_type.<locals>._cast_source_to_intcseZdZdgZZdZZddZefddZ    edksHedkrbe
fd    d
Z d d Z ed kre
fdd
Z dd Z edkre
fdd
Z dd Z edkre
fdd
Z dd Z ddZ e Zedksedksed krefddZedkr efddZddZnddZeZedkrFefddZedd Zefd!d"Zedkrtd#d$Zedkrd%d$Zd&S)'z9CTypesBackend.new_primitive_type.<locals>.CTypesPrimitiver>z%s &cSs
||_dS)N)r>)rrrrrr}szBCTypesBackend.new_primitive_type.<locals>.CTypesPrimitive.__init__cs|dkrSj|S)N)r)r)rrrrr!szKCTypesBackend.new_primitive_type.<locals>.CTypesPrimitive._create_ctype_objr^rcs|}|j}||S)N)r)rr7)rrrrr8s
zDCTypesBackend.new_primitive_type.<locals>.CTypesPrimitive._cast_fromcSs|jS)N)r>)rrrr__int__szACTypesBackend.new_primitive_type.<locals>.CTypesPrimitive.__int__rdcs$t|tttfs|}|t|S)N)rr^r_rtrd)rr7)rrrr8scSs|jS)N)r>)rrrrrsrrcs|}t|d@}||S)N)bytechr)rr7)rrrr8s cSs
t|jS)N)rr>)rrrrrsrtcsNt|tr n0t|tr4t|dr*t|}q<t|}n|}|j}||S)N    __float__)rrtr<hasattrr^r)rr7)rrrrr8s





cSs
t|jS)N)r^r>)rrrrrscSs|jS)N)r>)rrrrrszCCTypesBackend.new_primitive_type.<locals>.CTypesPrimitive.__float__csnt|ttfs4t|tr"t|}ntdt|j|j|krj r^|dkr^tdn td|S)Nzinteger expected, got %srz%s: negative integerz%s: integer out of bounds)    rr^r_rrr`r r OverflowError)x)r    is_signedrDrrrs

zDCTypesBackend.new_primitive_type.<locals>.CTypesPrimitive._to_ctypescs@t|trt|dkr|St|r*|jStdt|jdS)Nrzcharacter expected, got %s)rrrVr>rr`r )r)rrrrs 
cSst|jdkS)Nr)rr>)rrrrreszECTypesBackend.new_primitive_type.<locals>.CTypesPrimitive.__nonzero__cSs
|jdkS)Nr)r>)rrrrrescs.t|ttttfs$tdt|j|jS)Nzfloat expected, got %s)    rr^r_rtrrr`r r)r)rrrrscSs t|d|S)Nr)rB)rrrrr"szFCTypesBackend.new_primitive_type.<locals>.CTypesPrimitive._from_ctypescsj||_dS)N)rr)blobr)rrrrhszECTypesBackend.new_primitive_type.<locals>.CTypesPrimitive._initializecSs|jS)N)r>)rrNrrrrOszDCTypesBackend.new_primitive_type.<locals>.CTypesPrimitive._to_stringcSst|jd@S)Nr)chrr>)rrNrrrrOsN)r r r rPrr$rjrrRr!rQr8rrr9rrerkr"rhrOr)rrrrkind1rDrrrwsF 


 

r)rtru)rrr)r)PRIMITIVE_TYPESrr<r()rrDrjr)rrrrrrDrnew_primitive_typeWs$
 wz CTypesBackend.new_primitive_typecs|jj}|tjdkr dn>|tjd|tjdfkrFdn|tjkrZdndGfdd    d    t|jjtjks|jjtjdkrd
_jS) Nrrcharpz signed charz unsigned charbytepvoidpgenericcseZdZdgZdkr edg7ZZedrHejjZej    jZ
nej Ze e rdjdZn
jdZfddZd    d
Zd d Zfd dZfddZdksdkrefddZdks֔dkrddZfddZZS)z1CTypesBackend.new_pointer_type.<locals>.CTypesPtr_ownrZ __as_strbufrz(* &)z * &csbj|}dkr8tj|jd|_tj|j|j|_n tj||_tj|jtj    j|_
d|_ dS)NrT) r!r,Zcreate_string_bufferrZ_CTypesPtr__as_strbufrcrr\r]r.r[r)rrZctypeobj)BItemrjrrr s
  z:CTypesBackend.new_pointer_type.<locals>.CTypesPtr.__init__cSs,t|ttfr$|j|j||jStSdS)N)rr^r_rar[ _bitem_sizer=)rr?rrr__add__sz9CTypesBackend.new_pointer_type.<locals>.CTypesPtr.__add__cSsNt|ttfr$|j|j||jSt|t|krF|j|j|jStSdS)N)rr^r_rar[rr`r=)rr?rrr__sub__ s z9CTypesBackend.new_pointer_type.<locals>.CTypesPtr.__sub__cs(t|ddr|dkrtj|j|S)NrFr)rB
IndexErrorr"r\)rindex)rrr __getitem__)sz=CTypesBackend.new_pointer_type.<locals>.CTypesPtr.__getitem__csj||j|<dS)N)rr\)rrr)rrr __setitem__.sz=CTypesBackend.new_pointer_type.<locals>.CTypesPtr.__setitem__rcs4|r t|dtr tj|dSt|j|SdS)Nr)rrr,Zc_char_psuperr )rr)    CTypesPtrrrrr 2sz@CTypesBackend.new_pointer_type.<locals>.CTypesPtr._arg_to_ctypesrcsf|dkrtj}tj|jtjtjd}x ||krH|dkrH|d7}q*Wdjfddt|DS)Nrrrcsg|] }|qSrr).0rW)prr
<listcomp>BszPCTypesBackend.new_pointer_type.<locals>.CTypesPtr._to_string.<locals>.<listcomp>)    sysmaxsizer,rcr\POINTERc_charjoinrange)rrNnr)rrrO:s z<CTypesBackend.new_pointer_type.<locals>.CTypesPtr._to_stringcs.t|ddr dtj|jjfSt|jS)NrFzowning %d bytes)rBr,r-r\rgrr*)r)rrrrr*Ds z?CTypesBackend.new_pointer_type.<locals>.CTypesPtr._get_own_repr)r r r rPrprr,rrr-rr.
issubclassrTrr$rrrrrrQr rOr* __classcell__r)rrrj)rrrs*

 
 
       
rT)r'_get_cached_btyper PrimitiveTypeZ    void_typerZrir()rrgetbtyper)rrrjrnew_pointer_typesMzCTypesBackend.new_pointer_typecsdkrdndj|jj}|tjdkr<dn*|tjd|tjdfkrbdndGfdd    d    tjS)
Nz &[]z &[%d]rrz signed charz unsigned charrrcseZdZddgZdk    r$jZn
ejdjZZZ    fddZ
e fddZ d    d
Z fd d Zfd dZdksdkrddZfddZfddZe fddZe fddZfddZeddZZS)z1CTypesBackend.new_array_type.<locals>.CTypesArrayrYrNrcsdkr\t|ttfr |}d}n0dkr@t|tr@t|d}nt|}t|}j||_|j|_d|_|dk    r|j    |j|dS)NrrrT)
rr^r_rrVtuplerrYrrh)rrZlen1)rrjlengthrrrjs 
z:CTypesBackend.new_array_type.<locals>.CTypesArray.__init__csttr&fddttDnttt|krFtdtj|tjj    }tj
j }tj j }x6t D]*\}}tj||||}j|j|qxWdS)Ncsg|]}||dqS)rr)rrW)rrrr}szQCTypesBackend.new_array_type.<locals>.CTypesArray._initialize.<locals>.<listcomp>ztoo many initializers)rrrrVrrr,rcr.rrrr-    enumeraterhrg)rraddrPTRitemsizerWrr)r)rrrhzs
  z=CTypesBackend.new_array_type.<locals>.CTypesArray._initializecSs
t|jS)N)rVrY)rrrr__len__sz9CTypesBackend.new_array_type.<locals>.CTypesArray.__len__cs2d|kot|jkns"tj|j|S)Nr)rVrYrr")rr)rrrrsz=CTypesBackend.new_array_type.<locals>.CTypesArray.__getitem__cs6d|kot|jkns"tj||j|<dS)Nr)rVrYrr)rrr)rrrrsz=CTypesBackend.new_array_type.<locals>.CTypesArray.__setitem__rrrcsj|dkrt|j}tj|jtjtjd}x ||krL|dkrL|d7}q.Wdjfddt|DS)Nrrrrcsg|] }|qSrr)rrW)rrrrszPCTypesBackend.new_array_type.<locals>.CTypesArray._to_string.<locals>.<listcomp>)rVrYr,rcrrrr)rrNrr)rrrOs
 z<CTypesBackend.new_array_type.<locals>.CTypesArray._to_stringcs,t|ddrdtj|jfSt|jS)NrFzowning %d bytes)rBr,r-rYrr*)r) CTypesArrayrrrr*s z?CTypesBackend.new_array_type.<locals>.CTypesArray._get_own_reprcs.|dfks|jrtj|jStj||SdS)N)rir,rXrYrr4)rr3)rrrr4s zECTypesBackend.new_array_type.<locals>.CTypesArray._convert_to_addresscsj}||_|S)N)rbrY)Z ctypes_arrayr)rrrr"s
z>CTypesBackend.new_array_type.<locals>.CTypesArray._from_ctypescs
j|S)N)r )r)rrrr sz@CTypesBackend.new_array_type.<locals>.CTypesArray._arg_to_ctypescs8t|ttfr0jtj|j|tjjSt    SdS)N)
rr^r_rar,rXrYr-rr=)rr?)rrrrrs

z9CTypesBackend.new_array_type.<locals>.CTypesArray.__add__cSstd|jfdS)Nz casting to %r)r)r)rr7rrrr8sz<CTypesBackend.new_array_type.<locals>.CTypesArray._cast_from)r r r rPrappendrr$_declared_length_CTPtrrrRrhrrrrOr*r4r"r rrQr8rr)rrrbracketsrjr)rrr`s( 

  
 r)rpr'rrrrTr()rrrrr)rrrrrjrrnew_array_typeQsczCTypesBackend.new_array_typecsFGddd|d|f_|Gfdddt}|j|S)Nc@s eZdZdS)z;CTypesBackend._new_struct_or_union.<locals>.struct_or_unionN)r r r rrrrstruct_or_unionsrz%s_%scs(eZdZdgZZdfZZZdS)z?CTypesBackend._new_struct_or_union.<locals>.CTypesStructOrUnionrYz%s &N)r r r rPrr$_kindrjr)rrDrrrCTypesStructOrUnions
r)r rlr()rrjrDZbase_ctypes_classrr)rrDrr_new_struct_or_unions z"CTypesBackend._new_struct_or_unioncCs|jd|tjS)Nstruct)rr,Z    Structure)rrDrrrnew_struct_typeszCTypesBackend.new_struct_typecCs|jd|tjS)Nunion)rr,ZUnion)rrDrrrnew_union_typeszCTypesBackend.new_union_typercsP|dks|dkrtdjdd|Ddd|D}dd|D}i}    g}
xN|D]F\} } } | dkr|
j| | jf| |    | <qV|
j| | j| ft|    | <qVW|d@rd_|
_|    _tfd    d
}|_fd d j    d kt
t t ||x|D]\} } } | dkr$tdt | r<t d| | dkr| | j| tj| jfdd}| | fdd}t| trd}| jdkr| | jj| tj| jfdd}n| | fdd}| | fdd}t| t||qW|jjtj|}xPD]H} t || rt d| | fdd}| fdd}t|| t||qWdS)Nrzthe ctypes backend of CFFI does not support structures completed by verify(); please compile and install the _cffi_backend module.cSsg|]\}}}|qSrr)rfnameBFieldbitsizerrrrsz:CTypesBackend.complete_struct_or_union.<locals>.<listcomp>cSsg|]\}}}|qSrr)rrrrrrrrscSsg|]\}}}|qSrr)rrrrrrrrsr+rcs}|dk    r|||S)Nr)rresult)
initializerrrr!s
zACTypesBackend.complete_struct_or_union.<locals>._create_ctype_objc
sr"t|dkr"tdt|ft|tsxt|ttfrBtdt|}t|tkrjtdjtt    |}t
j |}xT|j D]H\}}|\}}j |}t
j|j}t
j|||}    |j|    j|qWdS)NrzPunion initializer: %d items given, but only one supported (use a dict if needed)zunion initializer: got a strz"too many values for %s initializer)rV
ValueErrorrdictrunicoderrrzipr,rXitemsrorrrcrhrg)
rrrrrrrrmrr)rfnamesis_unionname2fieldtyperrrs& 
 
 
 z:CTypesBackend.complete_struct_or_union.<locals>.initializerr#znested anonymous structs/unionsz1the field name %r conflicts in the ctypes backendcSs(tj|j}tj|||}|j|jS)N)r,rXrYrcr"rg)rrrrmrrrrrrgetters z6CTypesBackend.complete_struct_or_union.<locals>.gettercSst|j||j|dS)N)setattrrYr)rrrrrrrsetter$sz6CTypesBackend.complete_struct_or_union.<locals>.settercSs&tj|j}tj|||}|j|S)N)r,rXrYrcr")rrZ    BFieldPtrrmrrrrrrr*s cSs|jt|j|S)N)r"rBrY)rrrrrrr2scSsN|j|}t|j|}t|j|||t|j|krJt|j||tddS)Nzvalue too large for bitfield)rrBrYrr)rrrrZoldvaluerrrr4s 
 cSst|d|S)Nr)rB)rrrrrrCscSst|d||dS)Nr)r)rrrrrrrEs)r)rrEllipsisZ_pack_Z_fields_ _bfield_typesrRr!rrrrrror,rrrTrrrpropertyr'rrZ PointerType)rrZfieldstpZ    totalsizeZtotalalignmentZsflagsZbtypesZ    bitfieldsZ bfield_typesZcfieldsrrrr!rrrr)rrrrrrrcomplete_struct_or_unionsf
 

 
  
   z&CTypesBackend.complete_struct_or_unioncsNddDrjddjGfdddtjS)NcSsg|] }|jqSr)r)rBArgrrrrJsz3CTypesBackend.new_function_type.<locals>.<listcomp>z...z, cseZdZddgZejeddfddDddiZjd    fZ    dfd
d     Z
e d d Z ddZ fddZfddZZS)z:CTypesBackend.new_function_type.<locals>.CTypesFunctionPtr _own_callback_namerNcSsg|]
}|jqSr)r)rrrrrrRszECTypesBackend.new_function_type.<locals>.CTypesFunctionPtr.<listcomp>    use_errnoTz    (* &)(%s)csddltdddk    r*jjndfdd}ttrptjtjfddDddi}nj    }|||_
tj |j
tjj |_ |_dS)    Nrrc    sg}x&t|D]\}}|j|j|qWy|}j|}Wnj}YnXttr|r|tj|tj    j
}nd}|S)N) rrr"r    print_excrrZr,rcr.r)rZargs2argrZres2)BArgsBResulterrorr    tracebackrrcallback_s

zUCTypesBackend.new_function_type.<locals>.CTypesFunctionPtr.__init__.<locals>.callbackcSsg|]
}|jqSr)r)rrrrrrvszWCTypesBackend.new_function_type.<locals>.CTypesFunctionPtr.__init__.<locals>.<listcomp>rT)rrBr"r!rrZr,    CFUNCTYPEr.rr\rcrr[r)rrrrZcallback_ctype)rrCTypesFunctionPtr has_varargs)rrrrrVs 


 zCCTypesBackend.new_function_type.<locals>.CTypesFunctionPtr.__init__cSs|r tddS)NzActypes backend: not supported: initializers for function pointers)r))rfrrrrrhszFCTypesBackend.new_function_type.<locals>.CTypesFunctionPtr._initializecSsPt|dd}|rD|jjd}|j|ddkr6d|}|jjd|}tj||S)Nrz(* &)rz )* )rBr$rr%rr2)rr1rWrrrr2s  zCCTypesBackend.new_function_type.<locals>.CTypesFunctionPtr.__repr__cs*t|dddk    rd|jfSt|jS)Nrz
calling %r)rBrrr*)r)rrrrr*s zHCTypesBackend.new_function_type.<locals>.CTypesFunctionPtr._get_own_reprcsr&|td}|dt}ng}x&t|D]\}}|j|j|q6Wrxjt|D]^\}}|dkr|jtjdq`t|tst    ddt|t
|j f|j|j|q`W|j |}j |S)NrzKargument %d passed in the variadic part needs to be a cdata object (got %s)r)rVrrr rr,r.rrrr`r r\r")rrZ    extraargsZ ctypes_argsrrrWr)rrrrr__call__s$

zCCTypesBackend.new_function_type.<locals>.CTypesFunctionPtr.__call__)N)r r r rPr,rrBrrr$rrRrhr2r*rrr)rrrrnameargs)rrrOs)     r)rrrZr()rrrrr)rrrrrrnew_function_typeIs

\zCTypesBackend.new_function_typecs8ttt|t|Gfddd|}|j|S)Ncs0eZdZgZdZfddZfddZdS)z/CTypesBackend.new_enum_type.<locals>.CTypesEnumz%s &c s4|j}yd||fStk
r.t|SXdS)Nz%d: %s)r>KeyErrorstr)rr)reverse_mappingrrr*s
z=CTypesBackend.new_enum_type.<locals>.CTypesEnum._get_own_reprc s,|j}y|Stk
r&t|SXdS)N)r>rr)rrNr)rrrrOs
z:CTypesBackend.new_enum_type.<locals>.CTypesEnum._to_stringN)r r r rPr$r*rOr)rDrrr
CTypesEnums r)rrreversedr()rrDZ enumeratorsZ
enumvaluesZ    CTypesIntrr)rDrr new_enum_types

 zCTypesBackend.new_enum_typecCstjS)N)r,    get_errno)rrrrrszCTypesBackend.get_errnocCstj|dS)N)r,    set_errno)rrrrrrszCTypesBackend.set_errnocCs
|j|S)N)rO)rbrNrrrstringszCTypesBackend.stringcCs tddS)Nzbuffer() with ctypes backend)r))rZbptrsizerrrbufferszCTypesBackend.buffercCst|tr|jS|jSdS)N)rrr6r5)rZcdata_or_BTyperrrr-s
zCTypesBackend.sizeofcCs|jS)N)r:)rBTyperrralignofszCTypesBackend.alignofcCst|tst|j|S)N)rrrr)rr    r7rrrnewps
zCTypesBackend.newpcCs
|j|S)N)r8)rr    r7rrrrcszCTypesBackend.castcCs
|||S)Nr)rr    r7ronerrorrrrrszCTypesBackend.callbackNc s|jdkr.ddl}Gddd|j}i|f|_|j\}|dkrpy||=Wntk
rjtdYnXdSfdd}|j|j||}||f|||<|S)Nrc@s$eZdZddZddZddZdS)z CTypesBackend.gcp.<locals>.MyRefcSs |}||kp|dk    o||kS)Nr)rr?ZmyrefrrrrFsz'CTypesBackend.gcp.<locals>.MyRef.__eq__cSs
||k S)Nr)rr?rrrrGsz'CTypesBackend.gcp.<locals>.MyRef.__ne__c Ss.y|jStk
r(t||_|jSXdS)N)_hashrrL)rrrrrMs
 z)CTypesBackend.gcp.<locals>.MyRef.__hash__N)r r r rFrGrMrrrrMyRefsrzFCan remove destructor only on a object previously returned by ffi.gc()cs$j|d\}}|dk    r ||dS)N)NN)pop)kcdata
destructor)
weak_cacherrremovesz!CTypesBackend.gcp.<locals>.remove)_weakref_cache_refweakrefrefrrrctypeof)rrrrrrrZ    new_cdatar)rrgcps


 zCTypesBackend.gcpcCs
|j|S)N)r)rr    r&rrrgetcnameszCTypesBackend.getcnamecCst|tr\|dkr"t|tr"|j}t|ts4td|j|}|tkrNtd||j    |fSt|t
t frt|t rz|j }t|tstd|j}|j|}|tjkrt||fStt|dS)Nrz expected a struct or union ctypeznot supported for bitfieldszexpected an array or ptr ctype)rrrrZrprlrrrror^r_rTrr5rrrr`)rr    rnrrrrmrrr typeoffsetofs(




 
zCTypesBackend.typeoffsetofcCst|tr tjt|j|}n^t|tr\|dksDtt|jt rLt    dt|j|}n"t|t
rvt|j|}nt    d|rtj tj tj |tj j |t|}|j|S)Nzunexpected cdata typez$expected a <cdata 'struct-or-union'>)rrlr,r]r`rrZrrprrTrcr.rr")rZBTypePtrrrmZptrrrr rawaddressof.s 



zCTypesBackend.rawaddressof)rwrxryrzr{)r|r_r^rsr})rrr)rrrr)rr)r)r)r)N)5r r r r,rZc_shortZc_intZc_longZ
c_longlongZc_byteZc_ubyteZc_ushortZc_uintZc_ulongZ c_ulonglongZc_floatZc_doubleZc_boolrrr-Z_sizer.Zc_size_trrrrrrrrrrrrrrrrrrr
r rcrrrr`rrrrrrrrrqsx
 
  
`u
le


%
rqc@s,eZdZddZddZddZddZd    S)
rcCs||_||_dS)N)backendr)rrrrrrrDszCTypesLibrary.__init__cCs t|j|}|j|}||_|S)N)rBrr"r)rr    rDZc_funcfuncobjrrr load_functionHs 
zCTypesLibrary.load_functioncCsJy|jj|j|}Wn*tk
r>}zt|WYdd}~XnX|j|S)N)rin_dllrrr)r")rr    rD
ctypes_objerrr read_variableNs
zCTypesLibrary.read_variablecCs@|j|}|jj|j|}tjtj|tj|tj|jdS)N)rrr rr,ZmemmoverXr-)rr    rDrZnew_ctypes_objr!rrrwrite_variableUs

 zCTypesLibrary.write_variableN)r r r rrr#r$rrrrrBsr)r)r,Z ctypes.utilrCrr#r version_inforrrrr^r_rrUr`r
objectrr<rTrZrlrqrrrrr<module>s,  

C#7

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL