Spade
Mini Shell
�
p�Wc@sZddlZddlZddlZddlmZmZdefd��YZdZdS(i����Ni(tmodeltffiplatformtVGenericEnginecBs�eZdZeZd�Zd�Zd�Zd�Zdd�Z d�Z
dd �Zd
�Zd�Z
d�Zd
�Zd�ZeZeZeZd�ZeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z
d�Z!d�Z"d�Z#d.dd.d�Z%d
�Z&eZ'd.d!�Z(d"�Z)d#�Z*d$�Z+d%�Z,d&d'�Z-d&d(�Z.d)�Z/d*�Z0eZ1d+�Z2d,�Z3eZ4d-�Z5RS(/tgcCs+||_|j|_g|_i|_dS(N(tverifiertffitexport_symbolst_struct_pending_verification(tselfR((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt__init__s cCs|jd|j�dS(NR(t
setdefaultR(Rtkwds((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pytpatch_extension_kwdsscCssxl|D]d}||}|dkr/tj}nx9|D]1}tjj||�}tjj|�r6|Sq6WqWdS(N(tNonetsystpathtostjointisfile(Rtmodule_nameRtso_suffixest so_suffixtbasenametdirnametfilename((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pytfind_modules
cCsdS(N((R((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt
collect_types$stcCs|jj|d�dS(Ns
(t_ftwrite(Rtwhat((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_prnt'scCs�|j}|t�||jj�|jd�tjdkr�tjdkrWd}nd}|jj�}|d||f�ndS(Ntdecltwin32itPyInit_tinitsvoid
%s%s(void) { }
(i( Rtcffimod_headerRtpreamblet _generateRtplatformtversion_infotget_module_name(Rtprnttprefixtmodname((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pytwrite_source_to_f*s
ics��jj}tjjtj�jj�}|j||���j �d�dt
jf���fd��Y��d�}�j �dd|�|S(Ntloadingt
FFILibrarycs,eZ�Z�jZgZ�fd�ZRS(cs�jS(N(t _cffi_dir(R(R/(s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt__dir__Ss(t__name__t
__module__t_cffi_generic_moduleRt _cffi_ffiR0R1((R/tmoduleR(s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR/Os Rtloadedtlibrary(Rt_backendRRRtcurdirRtmodulefilenametload_libraryt_loadttypest
ModuleType(RtflagstbackendRR8((R/R6Rs6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR<@s%cCsHg|jjjj�D]\}\}}||f^q}|j�|S(N(Rt_parsert
_declarationstitemstsort(Rtkeyttptqualtlst((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_get_declarations\s7
cCs�x�|j�D]�\}}|jdd�\}}yt|d||f�}Wn$tk
rttjd|��nXy|||�Wq
tk
r�}tj||��q
Xq
WdS(Nt is_generate_gen_%s_%ssnot
implemented in verify():
%r( RJtsplittgetattrtAttributeErrorRtVerificationErrort ExceptionRtattach_exception_info(Rt step_nametnameRGtkindtrealnametmethodte((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR&bs
c
Ks�x�|j�D]}\}}|jdd�\}}t|d||f�}y|||||�Wq
tk
r�} tj| |��q
Xq
WdS(NRKis
_%s_gen_%s(RJRLRMRPRRQ(
RR6RRRRSRGRTRURVRW((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR=qscCsdS(N((RRGRS((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_generate_nothing{scKsdS(N((RRGRSR6R((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_loaded_noop~scCs
|jr
|jt||�dS|j}t|j�}g}xUt|j�D]D\}}d}t|tj �r{d}n|j
d||f�qNWd|} gt|j|�D]"\}}
|jd|
| �^q�}|j
}t|tj �r|jd|jd| ��tj}ndj|�p0d }d
|}
|jj
|
�|jrf|jd}nd}d||
|f}d
|} ||j|| ��|d�t|j
tj �r�d}n$t|j
tj�s�d}nd}|d||dj|�f�|d�|�dS(NRt*s%sx%dsargument
of %ss %sis *rs, tvoids
_cffi_f_%sRKs %s%s(%s)sresult of %st{s*r = sreturn s
%s%s(%s);t}(tellipsist_generate_gen_consttFalseRtlentargst enumeratet
isinstanceRt
StructOrUniontappendtzipt
get_c_nametresulttinsertt void_typeRRtabitVoidType(RRGRSR*tnumargstargnamestittypetindirectiontcontexttargtarglistttpresulttwrappernameRltfuncdecltresult_code((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_generate_gen_function_decl�sH
8
cCs�|jr$|jt|||�}n�g}|}td�|jD��s^t|jtj�rpg}xat |j�D]P\} }
t|
tj�r�tj
|
�}
|j| |
f�n|j|
�qtW|j}t|tj�rO|jdkrtd|j�f��ntj
|�}|jd|�|jdd|f�tj}ntjt|�||j�}n|jj|�}d|}
|j||
�}x,|D]$\} }
|j|| |
|�}q�Wt|||�t|�jj|�dS(Ncss!|]}t|tj�VqdS(N(RdRRe(t.0ttyp((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pys <genexpr>�ss*'%s'
is used as result type, but is opaqueiRis
_cffi_f_%s(R^t_load_constantR`tanyRbRdRiRReRctPointerTypeRftfldtypesR
t TypeErrort_get_c_nameRjRktFunctionPtrTypettupleRt_get_cached_btypet
load_functiont_make_struct_wrappertsetattrRqR0(RRGRSR6R8tnewfunctiontindirectionstbase_tpt
indirect_argsRpR|tindirect_resulttBFuncRw((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_loaded_gen_function�s>
csp|jj�|jj|���dkrK|j����fd�}n����fd�}||_|S(NRics$�j��}�||�|dS(Ni(tnew(Rbtres(tBTypeRtoldfunc(s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pytnewfunc�s
cs7|�
�j�|��f|�d}�|�S(Ni(tnewp(Rb(R�RARpR�(s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR��s-(RR9R�t_cffi_base_type(RR�RpRGR�R�((R�RARRpR�s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR��s cCs|j|d|�dS(Ntstruct(t_generate_struct_or_union_decl(RRGRS((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_generate_gen_struct_decl�scCs|j|d||�dS(NR�(t_loading_struct_or_union(RRGRSR6((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_loading_gen_struct�scKs|j|�dS(N(t_loaded_struct_or_union(RRGRSR6R((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_loaded_gen_struct�scCs|j|d|�dS(Ntunion(R�(RRGRS((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_generate_gen_union_decl�scCs|j|d||�dS(NR�(R�(RRGRSR6((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_loading_gen_union�scKs|j|�dS(N(R�(RRGRSR6R((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_loaded_gen_unionsc
Cs�|jdkrdSd||f}d||f}d||fj�}|j}|d||f�|d�|d�|d�x�|j�D]�\}} }
}t| tj�r�| j�s�|
dkr�|d |�q�y.|d
| j dd|d
|�|f�Wq�t
jk
r8}|dt|��q�Xq�W|d�|j
j|�|d|f�|d�|d|�|d�|d|�|d�x�|j�D]�\}} }
}|
dkr�q�n|d||f�t| tj�r| jdkr|d| j��q�|d||f�q�W|d�|d�|d�|d�|d|f�|d�|�dS(Ns_cffi_check_%s_%ss_cffi_layout_%s_%ss%s
%ssstatic void %s(%s *p)R\s8 /* only to generate compile-time warnings or
errors */s
(void)p;is (void)((p->%s) << 1);s { %s = &p->%s;
(void)tmp; }s*tmpsfield %rtqualss
/* %s */R]sintptr_t %s(intptr_t i)s, struct _cffi_aligncheck { char x;
%s y; };s static intptr_t nums[] = {s sizeof(%s),s)
offsetof(struct _cffi_aligncheck, y),s offsetof(%s, %s),s 0, /* %s
*/s sizeof(((%s *)0)->%s),s -1s };s return nums[i];s3 /*
the next line is not executed, but compiled */s
%s(0);(tfldnamesR
tstripRt
enumfieldsRdRt
PrimitiveTypetis_integer_typeRhRROtstrRRft ArrayTypetlengthR�(
RRGR+RSt
checkfuncnametlayoutfuncnametcnameR*tfnametftypetfbitsizetfqualRW((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR�sT
!
cCs;|jdkrdSd||f}|jjd�d}|j||�}g}d} x=tr�|| �}
|
dkr|Pn|j|
�| d7} qZWt|tj �r|j
r|d}|d}|ddd�}
|ddd�}|j�|
|||f|_n)d||fj
�}||f|j|<dS(Ns_cffi_layout_%s_%ssintptr_t(*)(intptr_t)iiiis%s
%s(R�R
Rt_typeof_lockedR�tTrueRfRdRRetpartialt
force_flattentfixedlayoutR�R(RRGR+RSR6R�R�tfunctiontlayouttnumtxt totalsizettotalalignmenttfieldofst fieldsizeR�((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR�6s,
c
Csf|jdkrdS|jj|�||jkrbd�}|j}|j|�}|jj|�\}}||d|j|�d�||d|j|�d�d}x�|j�D]�\}} }
}|
dkr�q�n||||j ||�d|f�||ddkrQ|j| �}|||d|j|�d|f�n|d7}q�WndS( NcSs/||kr+tjd|||f��ndS(Ns'%s
(we have %d, but C compiler says
%d)(RRO(t realvaluet
expectedvaluetmsg((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pytcheckYsiswrong
total sizeiswrong total alignmentiswrong offset for field %rswrong
size for field %r(
R�R
RR�RtpoptsizeoftalignofR�toffsetof(
RRGR�RtBStructR�R�RpR�R�R�R�tBField((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR�Rs, cCs?t|tj�r(|j||d�n|j|d|�dS(NR(RdRtEnumTypet_generate_gen_enum_declR�(RRGRS((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_generate_gen_anonymous_decltscCsEt|tj�r+|j|||d�n|j|d||�dS(NR(RdRR�t_loading_gen_enumR�(RRGRSR6((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_loading_gen_anonymouszscKs<t|tj�r+|j||||�n
|j|�dS(N(RdRR�t_loaded_gen_enumR�(RRGRSR6R((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_loaded_gen_anonymous�stconstc
Csb|j}d||f}|jj|�|dk rt|d|�|d�|j||�|d�|d�n�|r�|d|�|d�|d|f�|d|f�|d�n�|d kr�d
}nd}d} |dkrt|tj�rd
} d
}n||jd| |f|��|d�|d||f�|d�|�dS(Ns_cffi_%s_%ssint
%s(char *out_error)R\s return 0;R]sint %s(long long *out_value)s
*out_value = (long long)(%s);s return (%s) <=
0;tvart&RR�sconst *s %s%s(void)s return
(%s%s);( RRRfR
t_check_int_constant_valueRdRReRh(
Rtis_intRSRGtcategorytcheck_valueR*tfuncnamet ampersandtextra((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR_�s6
cCs5t|tj�o|j�}|j|||�dS(N(RdRR�R�R_(RRGRSR�((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_generate_gen_constant_decl�scCssd|}|dk r/|j||�|}n@|r�|jjd�d}|jjd�d} |j| |�}
|jj|�}|
|�}t|d�}|dkro|ro|jjd�d}
|dd|jj|
�>7}qon�d}t|t j
�rd |}n|jj|j||��d} |j| |�}
|
�}t|t j
�ro|d}n|S(
Ns_cffi_const_%ss
long long*isint(*)(long long*)s long
longiis (*)(void)RZ(R
t_load_known_int_constantRR�R�R�tintR�RdRReRh(RR�RGRSR6R�R�tvalueR�R�R�tptnegativet BLongLongtfntypeextra((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR}�s.
$
"
cCs`t|tj�o|j�}|j||||�}t|||�t|�jj|�dS(N( RdRR�R�R}R�RqR0Rf(RRGRSR6R8R�R�((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_loaded_gen_constant�scCs�|j}|dkr/|d|||f�n|d|||f�|d�|d|�|d|�|d�|d|�|d �|d
|d |f�|d�|d
�dS(Nis& if ((%s) > 0 ||
(long)(%s) != %dL) {s1 if ((%s) <= 0 || (unsigned long)(%s) != %dUL)
{s char buf[64];s if ((%s) <= 0)s) sprintf(buf,
"%%ld", (long)(%s));s elses2 sprintf(buf,
"%%lu", (unsigned long)(%s));s: sprintf(out_error, "%s
has the real value %s, not %s",s "%s", buf,
"%d");ids return -1;s
}(R(RRSR�R*((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR��s
cCs�|jjd�d}|jjd�d}|j||�}|jj|d�}||�dkr�|jj|�}tjdkr�t|d�}ntj |��ndS(Nschar[]is
int(*)(char*)iisutf-8(i(
RR�R�R�tstringRR(R�RRO(RR6R�R�R�R�R�terror((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR��scCs
|jdd�}d||fS(Nt$t___D_s
_cffi_e_%s_%s(treplace(RR+RS((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_enum_funcname�stenumcCs�|jr1x!|jD]}|jt|�qWdS|j||�}|jj|�|j}|d|�|d�x3t|j|j �D]\}}|j
||�q�W|d�|d�|�dS(Nsint %s(char *out_error)R\s
return 0;R](R�tenumeratorsR_R�R�RRfRRgt
enumvaluesR�(RRGRSR+t
enumeratorR�R*t enumvalue((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR��s
"
cCsx|jrRg|jD]}|jt|||�^q}t|�|_t|_n"|j||�}|j||�dS(N( R�R�R}R�R�R�tpartial_resolvedR�R�(RRGRSR6R+R�R�R�((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR�
s +cCsPxIt|j|j�D]2\}}t|||�t|�jj|�qWdS(N(RgR�R�R�RqR0Rf(RRGRSR6R8R�R�((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR�s"cCs5|dkrd}n|}|jt|d|�dS(Ns...R�(R
R_R�(RRGRSR�((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_generate_gen_macro_decls cCsc|dkrd}n|}|jt|||d|�}t|||�t|�jj|�dS(Ns...R�(R
R}R�R�RqR0Rf(RRGRSR6R8R�R�((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_loaded_gen_macro(s cCs�t|tj�r�|jdkr}|j}d|f}|jj|�|d|�|d�|d|f�|d�ntj|j�}|j t
||�n(tj|�}|j t
||dd�dS( Ns...s_cffi_sizeof_%sssize_t %s(void)R\s return
sizeof(%s);R]R�R�(RdRR�R�RRRfRtitemR_R`(RRGRSR*R�ttp_ptr((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_generate_gen_variable_decl5s
cs�t|tj�r_|jdkr�d|f}|jjd�d}|j||�}|�}|jj|j�} t ||jj
| ��\}
}|dkr�tjd||jf��n|j
|
�}ntj|j�}|jt|||�}
|jdk r5|jj|�}|jj||
�}
nt|||
�t|�jj|�dSd|}|jj|jd|��d}|j||�}|���fd�}�fd �}tt|�|t||��t|�jj|�dS(
Ns...s_cffi_sizeof_%sssize_t(*)(void)is/bad size: %r does not seem to be
an array of %ss_cffi_var_%ss
*(*)(void)cs�dS(Ni((R8(tptr(s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pytgetterfscs|�d<dS(Ni((R8R�(R�(s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pytsetterhs(RdRR�R�RR�R�R�R�tdivmodR�RROtresolve_lengthRR}R`R
tcastR�RqR0RfRhtproperty(RRGRSR6R8R�R�R�tsizet BItemTypeR�trestR�R�tBArrayR�R�((R�s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt_loaded_gen_variableGs:
!
" N(6R2R3t
_class_keyR`t_gen_python_moduleR RRRRR-R<RJR&R=RXRYt_generate_gen_typedef_declt_loading_gen_typedeft_loaded_gen_typedefRzt_loading_gen_functionR�R�R�R�R�R�R�R�R�R�R�R�R�R�R
R_R�t_loading_gen_constantR}R�R�R�R�R�R�R�R�t_loading_gen_macroR�R�t_loading_gen_variableR�(((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyR
sf
- $ 1 " $
s
#include <stdio.h>
#include <stddef.h>
#include <stdarg.h>
#include <errno.h>
#include <sys/types.h> /* XXX for ssize_t on some platforms */
/* this block of #ifs should be kept exactly identical between
c/_cffi_backend.c, cffi/vengine_cpy.py, cffi/vengine_gen.py */
#if defined(_MSC_VER)
# include <malloc.h> /* for alloca() */
# if _MSC_VER < 1600 /* MSVC < 2010 */
typedef __int8 int8_t;
typedef __int16 int16_t;
typedef __int32 int32_t;
typedef __int64 int64_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;
typedef __int8 int_least8_t;
typedef __int16 int_least16_t;
typedef __int32 int_least32_t;
typedef __int64 int_least64_t;
typedef unsigned __int8 uint_least8_t;
typedef unsigned __int16 uint_least16_t;
typedef unsigned __int32 uint_least32_t;
typedef unsigned __int64 uint_least64_t;
typedef __int8 int_fast8_t;
typedef __int16 int_fast16_t;
typedef __int32 int_fast32_t;
typedef __int64 int_fast64_t;
typedef unsigned __int8 uint_fast8_t;
typedef unsigned __int16 uint_fast16_t;
typedef unsigned __int32 uint_fast32_t;
typedef unsigned __int64 uint_fast64_t;
typedef __int64 intmax_t;
typedef unsigned __int64 uintmax_t;
# else
# include <stdint.h>
# endif
# if _MSC_VER < 1800 /* MSVC < 2013 */
typedef unsigned char _Bool;
# endif
#else
# include <stdint.h>
# if (defined (__SVR4) && defined (__sun)) || defined(_AIX)
# include <alloca.h>
# endif
#endif
( RRR>RRRtobjectRR$(((s6/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyt<module>s���