Spade
Mini Shell
�
p�Wc@srddlZddlZddlZddlmZmZddlTdZdZdfd��YZ d fd
��YZ
dfd��YZd
fd��YZdfd��YZ
dfd��YZejdfkr�ejZndejfd��YZd�Zed�Zed�Zd�Zd�Zd�Zd�Zd�Zdeededed
�Zd!�ZdS("i����Ni(tffiplatformtmodel(t*t0x2601t0x2701t
GlobalExprcBs)eZddd�Zd�Zd�ZRS(icCs1||_||_||_||_||_dS(N(tnametaddressttype_optsizetcheck_value(tselfRRRR R
((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt__init__
s
cCs&d|j|j|jj�|jfS(Ns' { "%s",
(void *)%s, %s, (void *)%s
},(RRRt as_c_exprR (R((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR
scCs
d|jj�|j|jfS(Ns
b'%s%s',%d(Rtas_python_bytesRR
(R((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pytas_python_exprs(t__name__t
__module__RR
R(((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR s t FieldExprcBs,eZd�Zd�Zd�Zd�ZRS(cCs1||_||_||_||_||_dS(N(Rtfield_offsett
field_sizetfbitsizet
field_type_op(RRRRRR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRs
cCsOdt|j�}d|j|jfd||jfd||jj�fS(Nt
s { "%s", %s,
s %s %s,
s %s %s
},(tlenRRRRR
(Rtspaces((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR
!s$cCs
t�dS(N(tNotImplementedError(R((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR'scCsb|jjtkrd}n*|jjtkr?t|j�}nt�d|jj�||jfS(Nts b'%s%s%s'( RtoptOP_NOOPtOP_BITFIELDtformat_four_bytesRRRR(Rt size_expr((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pytas_field_python_expr*s (RRRR
RR!(((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRs tStructUnionExprcBs#eZd�Zd�Zd�ZRS(c CsL||_||_||_||_||_||_||_||_dS(N(Rt
type_indextflagsR t alignmenttcommenttfirst_field_indextc_fields( RRR#R$R R%R&R'R(((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR6s cCsfd|j|j|jfd|j|jfd|jt|j�f|jr]d|jnddS(Ns
{ "%s", %d, %s,s
%s, %s, s%d, %d s /* %s */
Rs},( RR#R$R R%R'RR(R&(R((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR
AscCsct|jt�}g|jD]}|j�^q}dt|j�t|�|jdj|�fS(Ns(b'%s%s%s',%s)t,( tevalR$tG_FLAGSR(R!RR#Rtjoin(RR$tc_fieldtfields_expr((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRHs (RRRR
R(((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR"5s tEnumExprcBs#eZd�Zd�Zd�ZRS(cCs1||_||_||_||_||_dS(N(RR#R tsignedtallenums(RRR#R R0R1((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRSs
cCs&d|j|j|j|j|jfS(Ns1 { "%s", %d,
_cffi_prim_int(%s, %s),
"%s"
},(RR#R R0R1(R((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR
ZscCswitd6td6td 6td
6td6td6td
6td6|j|j f}dt
|j�t
|�|j|j
fS(Niiiiisb'%s%s%s\x00%s'(ii(ii(ii(ii(ii(ii(ii(ii(t
PRIM_UINT8t PRIM_INT8tPRIM_UINT16t
PRIM_INT16tPRIM_UINT32t
PRIM_INT32tPRIM_UINT64t
PRIM_INT64R R0RR#RR1(Rt
prim_index((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR_s (RRRR
R(((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR/Rs tTypenameExprcBs#eZd�Zd�Zd�ZRS(cCs||_||_dS(N(RR#(RRR#((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRks cCsd|j|jfS(Ns
{ "%s", %d
},(RR#(R((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR
oscCsdt|j�|jfS(Nsb'%s%s'(RR#R(R((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRrs(RRRR
R(((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR;js t
RecompilercBs�eZdZed�Zd�Zd�Zd�Zddddd gZd
�Z dd�Z
d
�Zd�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd
�ZdKd!�Z
d"�Z!d#�Z"e"Z#d$�Z$d%�Z%e%Z&d&�Z'e'Z(d'�Z)d(�Z*d)�Z+dKd*dKd+�Z,d,�Z-d-�Z.d.�Z/d/�Z0dKd0�Z1d1�Z2d2�Z3d3�Z4d4�Z5d5�Z6d6�Z7d7�Z8d8�Z9d9�Z:d:�Z;e;Z<Z=d;�Z>d<�Z?d=�Z@d>�ZAd?�ZBeBZCZDd@�ZEdA�ZFdB�ZGdC�ZHdD�ZIdE�ZJdF�ZKeKZLeKZMdG�ZNdH�ZOdI�ZPePZQdJ�ZRRS(LicCs||_||_||_dS(N(tffitmodule_namettarget_is_python(RR=R>R?((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR|s c Csi|_|jd�t|jdt�}g|_x�|D]�}|jr;|j|dksct�t|j�|j|<|jj |�x�|j
D]u}t|tj
tjtjtjtjf�s�t�|j|dkr�t|j�|j|<n|jj |�q�W|jj d�q;q;Wx|D]w}|jr*|j|dkr*t|j�|j|<|jj |�|jr�|jdk r�|jj d�q�q*q*Wd|jj�ks�t�i|_i|_xR|D]J}t|tj�rd|j|<q�t|tj�r�d|j|<q�q�Wx9tt|jdd���D]\}}||j|<qFWx9tt|jdd���D]\}}||j|<q�Wx;|D]3}t|d|jj�}|||j|�q�Wx&|jD]}t|t�s�t�q�Wt|j�|_dS(NtcollecttypetkeytENDtLENcSs|jS(N(R(ttp((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt<lambda>�scSs|jS(N(R(RD((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRE�st_emit_bytecode_(t
_typesdictt _generatetsortedtstrt
cffi_typestis_raw_functiontNonetAssertionErrorRtappendtargst
isinstanceRtVoidTypetBasePrimitiveTypetPointerTypetStructOrUnionOrEnumtFunctionPtrTypet
is_array_typetlengthtvaluest_struct_unionst_enumst
StructOrUniontEnumTypet enumeratetgetattrt __class__RtCffiOpttuple(Rt all_declsRDttp1titmethodR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pytcollect_type_table�sZ
cCs6t|tj�sFt|t�rBx|D]}|j|�q(WndS||jkr2d|j|<t|tj�r�|j|j��q2t|tj �r|j
dk r/||jjj
kr/x?|j�D].\}}}}|j|j|||��q�Wq/q2x*|j�D]\}}|j|�qWndS(N(RQRtBaseTypeByIdentityRbt_do_collect_typeRGRMRVtas_raw_functionR\tfldtypesR=t_parsert_included_declarationst
enumfieldst_field_typet
_get_items(RRDtxtname1Rdt_((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRi�s
&c
Cs�|jjjj�}x�t|�D]�\}\}}|jdd�\}}yt|d||f�}Wn$tk
r�tj d|��nXy||_
|||�Wq"tk
r�} tj
| |��q"Xq"WdS(NRis_generate_cpy_%s_%ss"not
implemented in recompile():
%r(R=Rlt
_declarationstitemsRItsplitR_tAttributeErrorRtVerificationErrort_current_qualst ExceptionRtattach_exception_info(
Rt step_nametlstRRDtqualstkindtrealnameRfte((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRH�s
tglobaltfieldtstruct_uniontenumttypenamecCs�i|_x|jD]}g|j|<qWt�|_|jd�|j�xS|jD]H}|j|}|dkr�|jdd��nt|�|j|<qWW|jd}xQ|jj �D]@\}}|t
|�ks�t�||j|jks�t�q�Wt
|�t
|j�ks%t�|jd}xQ|j
j �D]@\}}|t
|�ksft�||j|jksBt�qBWt
|�t
|j
�ks�t�dS(NtctxR�RAcSs|jS(N(R(tentry((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRE�sR�R�(t_lstst ALL_STEPStsett_seen_struct_unionsRHt_add_missing_struct_unionstsortRbRZRuRRNRR[(RR|R}RDRe((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pytcollect_step_tables�s*
!
RcCs|jj|d�dS(Ns
(t_ftwrite(Rtwhat((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_prntscCsQ|jr+|dkst�|j|�n"|dk s=t�|j||�dS(N(R?RMRNtwrite_py_source_to_ftwrite_c_source_to_f(Rtftpreamble((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pytwrite_source_to_fs
cCsDttjjtjjt�|�d�}|j�}|j�|S(Ntr(topentostpathR,tdirnamet__file__t readlinestclose(Rtfilenametgtlines((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_rel_readlines
s*
cCs>||_|j}|jd�}|jd�}|jd�|||d+|dj|��|jjd�d}|jjdk r?|d|jf�|d |j
|jj�f�|d
�|d|f�|d�|d
|f�|d�|d|f�|d�|jd�}|dj|��t}nt}|d�|�||�|�|d�|�|d�t
g|jj�D]\}}||f^q��} xct|j�D]R\}}
d}|| kr�d| |j�}n|d||
j�|f�q�W|js2|d�n|d�|�t�|_|jd�i}x�|jD]|}
|j|
}t|�||
<||
dkrl|d|
|
f�x|D]}||j��q�W|d�|�qlqlW|jjr�|d�x�|jjD]|}y|jd
\}}Wn-tk
r[tjd|j|f��nX|dkrztjd��n|d|f�qW|d
�|d�|�n|d!�|d"�x@|jD]5}
||
dkr�|d#|
�q�|d$|
�q�Wx8|jD]-}
|
d%kr|d&||
|
f�qqW|jjrX|d'�n
|d(�|d)t|j�f�d}|jr�|dO}n|d*|�|d�|�|d
�|d+�|d,|f�|d-�|jr|d.�|d/�|d0�n|d1|�|d2�|d3�|d4�|d5�|d6�|d7|f�|d8�|d9|f�|d:�|d:�|d�|d+�|d;|f�|d-�|d<|j|f�|d3�|d�|d+�|d=|f�|d-�|d>|j|f�|d3�|d�dS(?Ns_cffi_include.hs#include
"parse_c_type.h"
sparse_c_type.hiRt.i����s#define _CFFI_MODULE_NAME
"%s"s%#define _CFFI_PYTHON_STARTUP_CODE %ss#ifdef
PYPY_VERSIONs5# define _CFFI_PYTHON_STARTUP_FUNC _cffi_pypyinit_%ss#elif
PY_MAJOR_VERSION >= 3s-# define _CFFI_PYTHON_STARTUP_FUNC
PyInit_%ss#elses*# define _CFFI_PYTHON_STARTUP_FUNC
init%ss#endifs_embedding.hs>/************************************************************/sstatic
void *_cffi_types[] = {s // s/* %2d */ %s,%ss 0s};tdeclis.static
const struct _cffi_%s_s _cffi_%ss[] = {s.static const char * const
_cffi_includes[] = {isQffi object %r includes %r, but the latter has not
been prepared with set_source()sMnot implemented yet: ffi.include() of a
Python-based ffi inside a C-based ffis "%s",s NULLs?static
const struct _cffi_type_context_s _cffi_type_context = {s _cffi_types,s
_cffi_%ss,s NULL, /* no %ss */R�s %d, /* num_%ss */s
_cffi_includes,s NULL, /* no includes */s %d, /* num_types */s %d,
/* flags */tPyMODINIT_FUNCs"_cffi_pypyinit_%s(const void *p[])t{s%
if (((intptr_t)p[0]) >= 0x0A03) {sQ _cffi_call_python_org =
(void(*)(struct _cffi_externpy_s *, char *))p[1];s }s p[0] = (const
void *)%s;s p[1] = &_cffi_type_context;t}s# ifdef _MSC_VERs
PyMODINIT_FUNCs# if PY_MAJOR_VERSION >= 3s% PyInit_%s(void) {
return NULL; }s# elses init%s(void) { }s# endifsPyInit_%s(void)s3
return _cffi_init("%s", %s,
&_cffi_type_context);sinit%s(void)s, _cffi_init("%s", %s,
&_cffi_type_context);( R�R�R�tindexR,R>RvR=t
_embeddingRMt_string_literaltVERSION_EMBEDDEDtVERSIONtdictRGRuR^RKt_get_c_nameR
R�t_seen_constantsRHR�R�Rt_included_ffist_assigned_sourceRwRRxt
_num_externpy(RR�R�tprntR�Retbase_module_nametversionRDttypeindex2typeRR&tnumsR|R}R�tffi_to_includetincluded_module_nametincluded_sourceR$((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR�s�
4!
cCs�t|t�rd|fSt|ttf�r�g|D]}|j|�^q6}t|�dkrs|jd�nddj|�fS|j�S(Nsb'%s'iRs(%s)R)( RQRJtlistRbt_to_pyRROR,R(RRqtitemtrep((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR��s"cCsH||_|j}|d�|d�t|jjp8d�}x�t|�D]�}|jj|}y|jd
\}}Wn-tk
r�tj d|j|f��nX|dk r�tj d��n|d||f�qKW|�|d|jf�|dtf�t
|j�|_g|jD]}|j�^q&} |d |jd
j| ��f�tg|jj�D]\}
}||
f^qt�}x\|jD]Q}|j|}
t|
�dkr�|dkr�|d
||j|
�f�q�q�W|dkr:|ddjgt|�D]}d|^q�f�n|d�dS(Ns#
auto-generated filesimport _cffi_backendisQffi object %r includes %r, but
the latter has not been prepared with set_source()sMnot implemented yet:
ffi.include() of a C-based ffi inside a Python-based ffisfrom %s import
ffi as _ffi%dsffi = _cffi_backend.FFI('%s',s _version =
%s,s _types = %s,RiR�s _%ss = %s,s _includes = (%s,),s,
s_ffi%dt)((R�R�RR=R�trangeR�RwRRxRMR>R�RbRKRR�R,R�RGRuR�R�(RR�R�tnum_includesReR�R�R�Rt types_lstRDR�R|R}((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR��s@
"#4
$4cCs|j|S(N(RG(Rttype((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_gettypenum�scCs�d}t|tj�r�|j�rI|jdkrId}d|j}nSt|tj�rtd|jd�f}n(d|jd�|jjdd�f}d }n�t|tj�r�|j ||||�dSt|tj
tjf�r$|jd
||j
|�|f�|jd|�dSt|tj�red|jd�}d
|j
|�}d}nt|��|jd||||f�|jd||jd�|f�|jd|�dS(NRt_Boolt_cffi_to_c_ints,
%ss(%s)_cffi_to_c_doubles(%s)_cffi_to_c_%sRRss-1s6 if
(_cffi_to_c((char *)&%s, _cffi_type(%d), %s) < 0)s
%s;s(%s)_cffi_to_c_pointers, _cffi_type(%d)tNULLs %s =
%s(%s%s);s' if (%s == (%s)%s &&
PyErr_Occurred())(RQRRStis_integer_typeRtUnknownFloatTypet
get_c_nametreplaceRTt"_convert_funcarg_to_c_ptr_or_arrayR\R]R�R�RVR(RRDtfromvarttovarterrcodetextraargt converterterrvalue((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_convert_funcarg_to_c�s8
cCs&t|tj�r"|jd�ndS(NsPy_ssize_t
datasize(RQRRTtadd(RRDt localvars((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_extra_local_variablesscCs�|jd�|jd|j|�||f�|jd�|jd�|jd|�|jd||jd�f�|jd|f�|jd ||j|�|f�|jd|�|jd
�dS(Ns1 datasize = _cffi_prepare_pointer_call_argument(s(
_cffi_type(%d), %s, (char **)&%s);s if (datasize != 0) {s if
(datasize < 0)s %s;s& %s =
(%s)alloca((size_t)datasize);Rs, memset((void *)%s, 0,
(size_t)datasize);sL if (_cffi_convert_array_from_object((char *)%s,
_cffi_type(%d), %s) < 0)s
}(R�R�R�(RRDR�R�R�((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR�s
cCs�t|tj�r�|j�r/d||jfSt|tj�rLd|fS|jdkrxd|jjdd�|fSd||j|�fSn�t|tjtj f�r�d||j|�fSt|tj
�r�d||jtj|j��fSt|tj�rP|j
dkr9td |j�|f��nd
||j|�fSt|tj�ryd||j|�fSt|��dS(Ns_cffi_from_c_int(%s,
%s)s_cffi_from_c_double(%s)slong
doubles_cffi_from_c_%s(%s)RRss/_cffi_from_c_deref((char *)&%s,
_cffi_type(%d))s0_cffi_from_c_pointer((char *)%s,
_cffi_type(%d))s!'%s' is used as %s, but is
opaques0_cffi_from_c_struct((char *)&%s,
_cffi_type(%d))(RQRRSR�RR�R�R�RTRVt ArrayTypeR�t
StructTypetfldnamesRMt TypeErrorR�R]R(RRDtvartcontext((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_convert_expr_from_c,s2
cCs|j|�dS(N(Ri(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt!_generate_cpy_typedef_collecttypeLscCsdS(N((RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_typedef_declOscCs.|j|}|jdjt||��dS(NR�(RGR�ROR;(RRDRR#((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_typedef_ctxRs
cCs�|j||�t|dd�dkrD|j||jdd�n=t|tj�r�|j|j|jjd|jd|�ndS(Ntorigintunknown_typet
approxnamet named_ptr( R�R_RMt_struct_ctxRRQRtNamedPointerTypettotype(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_typedef_ctxVs!cCs:|j|j��|jr6|jr6|j|�ndS(N(RiRjtellipsisR?(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt"_generate_cpy_function_collecttypeascCs�|jst�t|tj�s(t�|jrE|j||�dS|j}t|j �}|dkrrd}n|dkr�d}nd}g}g}d|}xKt
|j �D]:\} }
|j|
jd| |��|jd| �q�Wd j
|�}|p d
}|jr%|jd}nd}d
|||f}
|d|jj|
�f�|d�d j
|�}d}t|jtj�r�d}n|d|||f�|d�|d�|d�|d||f�|d�d|}xAt
|j �D]0\} }
|
jd| |�}|d|�qWt�}x!|j D]}
|j|
|�qLWx|D]}|d|f�qmWt|jtj�s�d}d|}d|jjd|�}||�nd}d}t|j �dkr�tt|j ��}x|D]} |d| �qW|d�|�|dt|�|f�|d�|d�x%|D]} |d| | f�qnWn|�xBt
|j �D]1\} }
|j|
d
| d| d!�|�q�W|d"�|d#�gtt|j ��D]} d| ^q}d j
|�}|d$|||f�|d%�|d&�|�|d'�|dkr|d(�n|r�|d)|j|jd*d+��n|d,�|d-�|d�|d.�t}g}g}d|}x�t
|j �D]s\} }
d}t|
tj�r/d/}t}n|
jd0|| f|�}|j|�|jd1|| f�q�W|j}t|tj�r�d|}|jd2|�}|jd|�tj}d}d3}t}n|r�d j
|�}|p�d
}d4|||f}
|d|j|
�f�|d�|rC||�nd j
|�}|d$|||f�|r||d5�n|d�n|d6||f�|d7�|�dS(8Nitnoargitarg0RPsargument
of %ss x%dsx%ds, tvoidRRs%s_cffi_d_%s(%s)s static %sR�sreturn s
%s%s(%s);R�s#ifndef PYPY_VERSIONsstatic PyObject *s(_cffi_f_%s(PyObject
*self, PyObject *%s)s %s;s result = sresult of %ss results PyObject
*arg%d;s PyObject **aa;s) aa = _cffi_unpack_args(args, %d,
"%s");s if (aa == NULL)s return NULL;s arg%d =
aa[%d];sarg%dsreturn NULLs Py_BEGIN_ALLOW_THREADSs
_cffi_restore_errno();s { %s%s(%s); }s _cffi_save_errno();s
Py_END_ALLOW_THREADSs (void)self; /* unused */s (void)noarg; /* unused
*/s return %s;tresultsresult types Py_INCREF(Py_None);s return
Py_None;s#elseRs %sx%ds%sx%ds *results
*result = s%s_cffi_f_%s(%s)s return result;s# define _cffi_f_%s
_cffi_d_%ss#endif(R?RNRQRRVR�t_generate_cpy_constant_declR�RRPR^ROR�R,tabiR�RRR�R�RMR�R�R�tFalseR\tTruetinsertt void_type(RRDRR�tnumargstargnamet argumentstcall_argumentsR�ReR�trepr_argumentsR�tname_and_argumentstresult_codetargR�R�tresult_decltrngt
differencetindirectiont tp_result((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_function_declfs�
,
c Cs�|jr'|jr'|j||�dS|j|j�}t|j�}|jr[t}n0|dkrpt}n|dkr�t }nt
}|jdjt
|d|t||�dd|��dS(NiiR�s
_cffi_f_%sR s
_cffi_d_%s(R�R?t_generate_cpy_constant_ctxRGRjRRPtOP_DLOPEN_FUNCtOP_CPYTHON_BLTN_NtOP_CPYTHON_BLTN_OtOP_CPYTHON_BLTN_VR�RORRa(RRDRR#R�t meth_kind((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_function_ctx�s
cCs~t|tj�rz|j}|dkrI|jd�}d||f}n|j|d||j�}tj||�}n|S(Ns...Rs_cffi_array_len(((%s)0)->%s)s%s[0](RQRR�RXR�RoR�(Rt tp_structt
field_namettp_fieldt
actual_lengthtptr_struct_namettp_item((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRos cCs|j|�dS(N(Ri(RRD((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_struct_collecttype
scCs�|jdkrdS|j}d|f}|d�|d||f�|d�|d�|d�x�|j�D]�\}}}} y�|j�s�|dkr�|d|||f�wrnxGt|tj�r|jdks�|jd kr|j }|d
}q�W|d|j
dd
|d| �|f�Wqrtjk
r]}
|dt
|
��qrXqrW|d�|d||f�|�dS(Ns_cffi_checkfld_%st_CFFI_UNUSED_FNsstatic
void %s(%s *p)R�s8 /* only to generate compile-time warnings or errors
*/s
(void)p;is? (void)((p->%s) << 1); /* check that
'%s.%s' is an integer */s...s[0]s { %s = &p->%s;
(void)tmp; }s*tmpsfield %rR~s
/* %s */R�s(struct _cffi_align_%s { char x; %s y;
};(RkRMR�RnR�RQRR�RXR�R�RRxRJ(RRDtcnameR�R�t
checkfuncnametfnametftypeRtfqualR�((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_struct_decl#s6
cCsi|j|}d}g}t|tj�r;|jd�n|jdkr`|jd�d}n||jjj kr�|dks�||jjj kr�|jdkr�n%|j
s�|j�r�n
|jd�|jr�|jd�q�n|jd�d}dj
|�pd }g}|dkrt|j��} xC| D];\}
}}}
|j||
|�}t}|d
kr�t}d|}nd|dks�t|tj�r�|jdkr�d}n.d
|dkr�|jd�n|j|
f}|dks|d
kr
d}n;|dk r/d|j|
f}nd|jd�|
f}|jt|
|||t||j|���q<Wt|jd�}|jdj|�|dkr�d}d}d}q#|dk r�d|jf}d}nd|f}d|f}d}nd}d}d}|}|jdjt|j|||||||��|jj|�dS(Nt
_CFFI_F_UNIONt_CFFI_F_OPAQUEtopaquet_CFFI_F_CHECK_FIELDSt_CFFI_F_PACKEDt_CFFI_F_EXTERNALtexternalt|t0is
%d
/* bits */s
(size_t)-1ssizeof(((%s)0)->%s)Rs"((char *)&((%s)0)->%s) -
(char *)0soffsetof(%s, %s)RR�s
(size_t)-2i����tunnamedssizeof(*(%s)0)s-1 /* unknown alignment
*/s
sizeof(%s)s"offsetof(struct _cffi_align_%s,
y)i����R�(RGRMRQRt UnionTypeRORkR=RlRmtpartialthas_anonymous_struct_fieldstpackedR,R�RnRoRRR�RXR�RRRaRR�textendR"R�R�(RRDRR�R�R#treason_for_not_expandingR$R(RntfldnametfldtypeRRRR toffsetR'talignR&((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR�Ds�
cCst|jj��}|jdd��x�|D]�\}}||jkr/|jritd|f��n|jjd�r�|jdj �r�|jd}nJ|jdkr�|j
dkr�d}|j|d�ntd|f��|j|d|�q/q/WdS( NRAcSs|dS(Ni((ttp_order((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRE�ssDinternal
inconsistency: %r is partial but was not seen at this
pointt$it_IO_FILEtFILEsinternal inconsistency:
%r(R�RZRuR�R�R%RRt
startswithtisdigitt forcenameR�R�RM(RR}RDtorderR�((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR��s %
cCs|j|�dS(N(R(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt
_generate_cpy_struct_collecttype�scCsC|jd�}d|kr1||jdd�fS|d|fSdS(NRRRs(R�R�(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt
_struct_names�scCs|j||j|��dS(N(RR7(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_struct_decl�scCs|j||j|��dS(N(R�R7(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_struct_ctx�scCs6t|tj�r%|j||�n
|j|�dS(N(RQRR]t_generate_cpy_enum_collecttypeR(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt#_generate_cpy_anonymous_collecttype�scCs=t|tj�r"|j|�n|j||d|�dS(Nttypedef_(RQRR]t_generate_cpy_enum_declR(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_anonymous_decl�scCs@t|tj�r%|j||�n|j||d|�dS(NR<(RQRR]t _enum_ctxR�(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_anonymous_ctx�stconstcCs\||f|jkr1tjd||f��n|jj||f�|j}d||f}|r|d|�|d�|d|f�|d||f�|dk r�|dkr�d|f}n|d |f�|d
�n|d�|d�nQ|dkst�|d
|�|d�|d|jd�|f�|d�|�dS(Ns
duplicate declaration of %s '%s's_cffi_%s_%ss$static int
%s(unsigned long long *o)R�s int n = (%s) <= 0;sJ *o = (unsigned
long long)((%s) << 0); /* check that %s is an integer
*/is%dUs" if (!_cffi_check_int(*o, n, %s))s n |= 2;s return
n;R�sstatic void %s(char *o)s *(%s)o =
%s;R(R�RRxR�R�RMRNR�(Rtis_intRRDtcategoryR
R�tfuncname((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_const�s2
cCs0|j�}|s|jr,|j|�ndS(N(R�R?Ri(RRDRRB((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt"_generate_cpy_constant_collecttype�scCs#|j�}|j|||�dS(N(R�RE(RRDRRB((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR��scCs�|jr(|j�r(ttd�}n4|jr:t}nt}|j|}t||�}|jdjt |d||��dS(Ni����R�s_cffi_const_%s(
R?R�RatOP_CONSTANT_INTtOP_DLOPEN_CONSTtOP_CONSTANTRGR�ROR(RRDRRt
const_kindR#((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR�s
cCs|j|�dS(N(Ri(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR:scCs(x!|jD]}|jt|�q
WdS(N(tenumeratorsRER�(RRDRt
enumerator((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR=sc CsH|j|}ttd�}|jr2|j�nxMt|j|j�D]6\}}|jdj t
|d||d|��qHW|dk r�d|kr�|jr�d|}d|}nN|j|j
g�} |j
j| �}tt|j
j| d��dk�}d j|j�}
|jd
j t|j||||
��dS(Ni����R�s_cffi_const_%sR
R/s
sizeof(%s)s
((%s)-1) <=
0iR)R�(RGRatOP_ENUMR?tcheck_not_partialtzipRKt
enumvaluesR�RORRMtbuild_baseinttypeR=tsizeoftinttcastR,R/R(RRDRR#RRLt enumvalueR R0tbasetpR1((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR?s"
"
"
'
cCs|j||j��dS(N(R?R�(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_enum_ctx(scCsdS(N((RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_macro_collecttype.scCs5|dkrd}n|}|jt|d|�dS(Ns...R
(RMRER�(RRDRR
((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_macro_decl1s cCsz|dkr7|jr.tjd|f��nd}n|}ttd�}|jdjt|d||d|��dS(Ns...sGcannot
use the syntax '...' in '#define %s ...' when using the
ABI modei����R�s_cffi_const_%sR
( R?RRxRMRaRGR�ROR(RRDRR
R((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_macro_ctx8s
cCsit|tj�re|j}|dkr7d|f}n|j|jd|�}tj||�}n|S(Ns...s_cffi_array_len(%s)s%s[0](RQRR�RXt_global_typeR�(RRDtglobal_nameRR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR[Is cCs|j|j||��dS(N(RiR[(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt"_generate_cpy_variable_collecttypeRscCs�|j}|j||�}t|tj�rN|jdkrN|j}d}nd}d|f}|d|j|d|j ��|d�|d||f�|d�|�dS( NRt&s*_cffi_var_%s(void)sstatic
R~R�s return %s(%s);R�(
R�R[RQRR�RXRMR�R�Ry(RRDRR�t ampersandR�((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_variable_declUs !
cCsh|j||�}|j|}|jr1t}nt}|jdjt|d|t||���dS(NR�s_cffi_var_%s( R[RGR?t
OP_GLOBAL_VARtOP_GLOBAL_VAR_FR�RORRa(RRDRR#R((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_variable_ctxls
cCs)t|tj�st�|j|�dS(N(RQRRVRNRi(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt'_generate_cpy_extern_python_collecttypeyscCs�|j}t|jtj�r'd}n&d|}d|jjd|�f}|d|�|d||f�|�g}d|}x@t|j�D]/\}} | jd||�}
|j|
�q�Wd j |�}|p�d
}d||f}|j
dkrd
|}nd�}
tt|j�dd�}|
|j�rVt|d�}nt|jtj
�r�d|jjd�||jjd�|f}n|d||jj|�f�|d�|d|�|d�x�t|j�D]t\}} d|}
t| tj
�s"|
| �r>d|
}
tj| �} n|d| jd�|d|
f�q�W|d|�t|jtj�s�|d|jjd�f�n|d�|�|jd7_dS(NR"sresult
of %ss(int)sizeof(%s)Rs3static struct _cffi_externpy_s _cffi_externpy__%s
=s { "%s", %s };sargument of %ss a%ds,
R�s%s(%s)t __stdcalls_cffi_stdcall cSst|tj�o|jdkS(Nslong
double(RQRt
PrimitiveTypeR(RD((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pytmay_need_128_bits�siis!sizeof(%s)
> %d ? sizeof(%s) : %ds%s%sR�s
char a[%s];s char *p =
a;sa%dR^s *(%s)(p + %d) = %s;Rs,
_cffi_call_python(&_cffi_externpy__%s, p);s return
*(%s)p;R�i(R�RQR�RRRR�R^RPROR,R�tmaxRR\RTR�(RRDRt
tag_and_spaceR�tsize_of_resultR�R�ReR�R�R�R�Rgt size_of_a((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_extern_python_decl�sX
(
cCs|j||d�dS(Nsstatic
(Rl(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt
_generate_cpy_extern_python_decl�scCs|j||d�dS(NsCFFI_DLLEXPORT
(Rl(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt#_generate_cpy_dllexport_python_decl�scCs|j||d�dS(NR(Rl(RRDR((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt'_generate_cpy_extern_python_plus_c_decl�scCsz|jrtjd��n|jr3td��n|j|}tt|�}|jdj t
|d|||��dS(Ns,cannot use 'extern "Python"'
in the ABI modes$a vararg function is extern
"Python"R�s&_cffi_externpy__%s(R?RRxR�RRGRatOP_EXTERN_PYTHONR�ROR(RRDRR#R((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_generate_cpy_extern_python_ctx�s
c Csrd�}g}xS|jt�p'dgD]9}|jddjg|D]}||�^qD��q(Wdj|�S(NcSsR|dkrd|Sd|ko+dknr4|S|dkrDdSdt|�S(Ns\"?s\Rss
s\ns\%03o(tord(tc((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt
_char_repr�sRs"%s"s \
(t
splitlinesR�ROR,(RtsRtR�tlineRs((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR��s
7cCsttt�|j|<dS(N(RatOP_PRIMITIVEt PRIM_VOIDRK(RRDR�((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_VoidType�scCs't|j}tt|�|j|<dS(N(tPRIMITIVE_TO_INDEXRRaRxRK(RRDR�R:((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_PrimitiveType�s
cCs6d|j|j|jf}tt|�|j|<dS(Nsm_cffi_prim_int(sizeof(%s),
(
((%s)-1) << 0 /* check that %s is an integer type */
) <=
0)(RRaRxRK(RRDR�Rv((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt!_emit_bytecode_UnknownIntegerType�scCs0d|j|jf}tt|�|j|<dS(Nsd_cffi_prim_float(sizeof(%s)
*
(((%s)1) / 2) * 2 /* integer => 0, float => 1 */
)(RRaRxRK(RRDR�Rv((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_UnknownFloatType�scCstt|j|j�|j|<|d7}xr|jD]g}|j|}||kr�t|tj�rx|j ||�q�tt
|�|j|<n|d7}q4Wt|j�}|j
dk r�|j
dkr�|dO}q�td|j
f��ntt|�|j|<dS(NiReisabi=%r(RatOP_FUNCTIONRGR�RKRPRQRRfR|RRSR�R�RMRtOP_FUNCTION_END(RRDR�Rdt realindexR$((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_RawFunctionType�s
cCs$tt|j|j�|j|<dS(N(Rat
OP_POINTERRGR�RK(RRDR�((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_PointerTypescCs-|j�}tt|j|�|j|<dS(N(RjRaR�RGRK(RRDR�traw((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_FunctionPtrTypescCs�|j|j}|jdkr8tt|�|j|<n�|jdkrrtjdt |�j
dd�f��nV|j|ddks�t�tt|�|j|<tdt |j��|j|d<dS(Ns...sitype
%s badly placed: the '...' array length can only be used on
global arrays or on fields of
structuress/*...*/iRC(
RGR�RXRMRat
OP_OPEN_ARRAYRKRRxRJR�RNtOP_ARRAY(RRDR�t
item_index((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_ArrayTypes"cCs'|j|}tt|�|j|<dS(N(RZRatOP_STRUCT_UNIONRK(RRDR�tstruct_index((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_StructTypes
cCs'|j|}tt|�|j|<dS(N(R[RaRMRK(RRDR�t
enum_index((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_emit_bytecode_EnumTypes
N(SRRR�R�RRgRiRHR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�RRRoRRRMR�R�R6t_generate_cpy_union_collecttypeR7R8t_generate_cpy_union_declR9t_generate_cpy_union_ctxR;R>R@RERFR�RR:R=R?RWRXRYRZR[R]R`RcRdt*_generate_cpy_dllexport_python_collecttypet._generate_cpy_extern_python_plus_c_collecttypeRlRmRnRoRqt"_generate_cpy_dllexport_python_ctxt&_generate_cpy_extern_python_plus_c_ctxR�RzR|R}R~R�R�t_emit_bytecode_ConstPointerTypet_emit_bytecode_NamedPointerTypeR�R�R�t_emit_bytecode_UnionTypeR�(((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR<ys� : �
3 (
� !N
5
itNativeIOcBseZd�ZRS(cCs;t|t�r!|jd�}ntt|�j|�dS(Ntascii(RQtunicodetencodetsuperR�R�(RRv((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR�(s(RRR�(((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyR�'sc
CsX|rd|fGHnt||d|dk�}|j�|j�t�}|j||�|j�}yVt|d��/}|jt |�d�|kr�t
�nWdQX|r�dGHntSWn�t
k
rSd|tj
�f} t| d��}|j|�WdQXytj| |�Wn.tk
rNtj|�tj| |�nXtSXdS(Ns
generating %sR?R�is(already
up-to-date)s%s.~%dtw(R<RMRgR�R�R�tgetvalueR�treadRtIOErrorR�R�tgetpidR�trenametOSErrortunlinkR�(
R=R>R�ttarget_filetverboset
recompilerR�toutputtf1ttmp_file((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_make_c_or_py_source-s4
cCs(|dk st�t|||||�S(N(RMRNR�(R=R>R�t
target_c_fileR�((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt
make_c_sourceIscCst||d||�S(N(R�RM(R=R>ttarget_py_fileR�((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pytmake_py_sourceNscCsp|jd�}y$tjtjj||d
��Wntk
rFnX|dc|7<tjj||�|fS(NR�i����(RvR�tmakedirsR�R,R�(t outputdirtmodnamet extensiontparts((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_modname_to_fileRs$
cCs9t||�}|j|||f�t|||�|S(N(R_ROtsetattr(t patchlisttclsRtnew_methtold((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_patch_meth`scCs4x-t|�D]\}}}t|||�q
WdS(N(treversedR�(R�R�Rtold_meth((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_unpatch_methsfscs�tjdkr8ddlm}t||dd��ntjdkr~ddlm}�fd�}t||d |��ndS(
Ntwin32i����(tMSVCCompilert_remove_visual_c_refcSs|S(N((Rt
manifest_file((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyREostdarwin(t CCompilercsSd|jkrCt|j�|_|jjd�}d|j|<n�|||�S(Ns-bundles-dynamiclib(t linker_soR�R�(RRPtkwdsRe(told_link_shared_object(s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pytmy_link_shared_objectts
tlink_shared_object(tsystplatformtdistutils.msvc9compilerR�R�tdistutils.ccompilerR�(R�R�R�R�((R�s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_patch_for_embeddingjs
cs�ddlm}�jd�rn�d
�tjdkrE�d7�qntjdkra�d7�qn�d 7�nt||d
�fd��dS(Ni����(t build_exts.*i����R�s.dllR�s.dylibs.sotget_ext_filenamecs�S(N((Rtext_name(ttarget(s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyRE�s(tdistutils.command.build_extR�tendswithR�R�R�(R�R�R�((R�s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_patch_for_target~s
R�s.cc
Kst|t�s!|jd�}n|jr:|j|
�n|dk r�|jdk }|rk|j|
�n|dkr�t|||�\}}|r�|g|}nt j
j|�}
n|}
| dkr�|r�d|} q�d} ntj
|
||
�}t||||d|�}|r�g}t j�}zU|rFt|�n| dkrbt|| �nt j|�tjd||�}Wdt j|�t|�X|S||fSnS|dkr�t||d�\}}nt|||d|�}|r�|Sd|fSdS(NR�s%s.*RR�R�s.py(RQRJR�t_windows_unicodet_apply_windows_unicodeRMR�t_apply_embedding_fixR�R�R�R,Rt
get_extensionR�tgetcwdR�R�tchdirtcompileR�R�(R=R>R�ttmpdirtcall_c_compilertc_filetsource_extensiontextradirtcompiler_verboseR�R�t embeddingR�t
ext_c_filetexttupdatedR�tcwdtoutputfilenameRs((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt recompile�sV
cOsPddlm}ddl}|tjks>td|f��|jdt|��t|||||�}|j ||�}xit
|j�D]X} | jd�s�t
|j| �}
|
t
|| t��k r�t|| |
�q�q�q�Wd�}||_xJt
|�D]<} | jd�r t|j| �r t|| t�q q W|jS(Ni����(tudirsmodule
name conflict: %rR�Rsc_s
t�dS(N(R(RPR�((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyttypeof_disabled�s(ttesting.udirR�timpR�tmodulesRNt
setdefaultRJR�tload_dynamictdirR=R2R_tobjectR�t_typeofthasattrtNotImplementedtlib(R=R>R�RPR�R�R�R�tmoduleRtattrR�((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt_verify�s$
#(
R�R�tioRRRtcffi_opcodeR�R�RRR"R/R;R<tversion_infotStringIOR�tBytesIOR�R�R�R�R�R�R�R�R�R�RMR�R�(((s5/usr/lib64/python2.7/site-packages/cffi/recompiler.pyt<module>s:$
����� 5