Spade
Mini Shell
| Directory:~$ /proc/self/root/usr/lib64/python2.7/site-packages/cffi/ |
| [Home] [System Details] [Kill Me] |
�
p�Wc@s�ddlmZmZddlmZmZyddlmZWnek
r_ddlZnXddl Z ddl
Z
ddlZy:ejdkr�ddl
ZnddlZej�ZWnek
r�dZnXe
jde
je
jB�Ze
jde
je
jB�Ze
jd �Ze
jd
�Ze
jd�Ze
jd�Zdae
jd
e
j�Ze
jd�Ze
jd�Ze
jd�Z e
jd�Z!e
jd�Z"d�Z#d�Z$d�Z%d�Z&d�Z'de(fd��YZ)dS(i(tapitmodel(tCOMMON_TYPEStresolve_common_type(t
_pycparseri����Nis/\*.*?\*/|//([^\n\\]|\\.)*?$s?^\s*#\s*define\s+([A-Za-z_][A-Za-z_0-9]*)\b((?:[^\n\\]|\\.)*?)$s=\s*\.\.\.\s*[,}]|\.\.\.\s*\}s__dotdotdot\d+__$s\[\s*\.\.\.\s*\]s\w+|\Ss-?0?x?[0-9a-f]+[lu]*$s\b(__stdcall|WINAPI)\bs[(]\s*(__stdcall|WINAPI)\bs\b__cdecl\bs9\bextern\s*"(Python|Python\s*\+\s*C|C\s*\+\s*Python)"\s*.s'[*]\s*((const|volatile|restrict)\b\s*)+cCstdkrtj�antS(N(t
_parser_cachetNonet pycparsertCParser(((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt_get_parser%scCsng}xKtrStj|�}|s(Pn|j||j�
�|jd�d}|j|j��|j�}|jd|�r�|jd�|d7}nd}|}x�|t|�kr6||}|dkr�|d7}nH|dkr
|dkr�Pn|d8}n|dkr)|dkr)Pq)n|d7}q�W|||!|||}q W|j|�dj |�S(Nt(t)t*iis,;=t(
tTruet_r_star_const_spacetsearchtappendtstarttgrouptendt
startswithtlentjoin(tcsourcetpartstmatchtclosingtendpostleveltitc((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt_workaround_for_old_pycparser+s<
cCs�g}xvtr~tj|�}|s(Pn|j�d}|j||j�
�d|jd�krt|jd�n
|jd�||dkr|jd|�}|dkr�tj d��n|jd|d|�dkr�t
d ��n|j||d|!�||d}nV|jd
|�}|dkrHtj d��n|j|||d!�||d}|jd�q W|j|�d
j|�S(NitCs(void
__cffi_extern_python_plus_c_start; s!void __cffi_extern_python_start;
t{t}is!'extern "Python" {': no '}'
founds7cannot use { } inside a block 'extern "Python" { ...
}'t;s'extern "Python": no ';' founds void
__cffi_extern_python_stop;R
(Rt_r_extern_pythonRRRRRtfindRt CDefErrortNotImplementedErrorR(RRRRRt semicolon((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt_preprocess_extern_pythonUs4
c Cs�tjd|�}i}xKtj|�D]:}|j�\}}|jdd�j�}|||<q(Wtjd|�}tjdkr�t |�}nt
jd|�}tjd|�}tjd|�}t
|�}tjd|�}ttj|��}x�tt|��D]�\}}|j�}||dkrw|jd ||j��}d
|| |||df}qd|| |||df}qW|jd d
�|fS(Nt s\
R
s2.14s volatile volatile const(s volatile volatile const
s[__dotdotdotarray__]t=s...s%s,__dotdotdot%d__ %sis%s __dotdotdot%d__
%ss __dotdotdot__ (t
_r_commenttsubt _r_definetfinditertgroupstreplacetstripRt__version__R
t_r_stdcall2t_r_stdcall1t_r_cdeclR*t_r_partial_arraytlistt_r_partial_enumt enumeratetreversedRR&R( RtmacrosRt macronamet
macrovaluetmatchestnumbertptp2((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt_preprocess�s0
cCsktt�}|jd�|jd�|jd�|jd�|jd�t�}t}d}d}x�tj|�D]�}||kr]|dkr�|rZ|j|�|j|�t}qZq]|dkr�t}d}q]|dkr�|d7}q]|dkr|d8}q]|dkrM|rZ|dkrZ|j|�|j|�qZq]|j|�n|}qxW|S( NR$t,R
RttypedefiR
i(tsetRtaddtFalset_r_wordstfindalltdiscardR(Rtlook_for_wordst
words_usedt
is_typedeftparent
previous_wordtword((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt_common_type_names�s>
tParsercBs
eZd�Zd�Zd�Zd�Zeeed�Zd�Zd�Z d�Z
d�Zd �Zd
�Z
d�Zd�Zed
d�Zd�Zdd�Zded�Zdd�Zd�Zded�Zd�Zed�Zd�Zd�Zd�ZRS(cCsUi|_t�|_d|_tj�|_i|_i|_g|_ d|_dS(Ni(t
_declarationsRGt_included_declarationst_anonymous_countertweakreftWeakKeyDictionaryt_structnode2typet_optionst_int_constantst_recompleteRt_uses_new_feature(tself((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt__init__�s c
CsSt|�\}}t|�}g}xMt|j�D]<}|jd�r4|d}|j|�|j|�q4q4W|t|�7}g|D]}d|^q�}|jd�|j|�dj|�}tdk r�tj
�nzFyt�j|�}Wn)t
jjk
r'} |j| |�nXWdtdk rEtj�nX|||fS(Nstypedef
istypedef int %s;stypedef int __dotdotdot__;s
(RDRStsortedRURRRLRtlockRtacquireR tparseRtc_parsert
ParseErrortconvert_pycparser_errortrelease(
R_RR=tctnt typenamestnamettypenametcsourcelinestastte((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt_parse�s.
cCs�d}t|�}|jd�r�d|dkr�|d|jdd�!}|j�r�t|d�}|j�}d|ko�t|�knr�||d}q�q�n|S(Nt:ii
(RtstrRR&tisdigittintt
splitlinesR(R_RoRtlinetmsgtlinenumRm((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt_convert_pycparser_error
s"cCs]|j||�}t|�}|r=d|j�|f}n
d|f}tj|��dS(Nscannot
parse "%s"
%ssparse error
%s(RyRrR3RR'(R_RoRRvRw((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyRgs
cCsI|j}z/i|d6|d6|d6|_|j|�Wd||_XdS(Ntoverridetpackedt dllexport(R[t_internal_parse(R_RRzR{R|tprev_options((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyRd%s
c
CsD|j|�\}}}|j|�t|j�}x!|D]}|jdkr;Pq;q;Wy�d|_x�|D]~}t|tjj �r�|j
|�qkt|tjj�r�|js�tj
d|��nd}t|jjtjj�r|jjjddkr|j|�}n�t|jtjj�r�t|jjtjj�r�t|jjjtjj�r�|jjjjdgkr�tj|j�}n!|j|jd|j�\}}|jd|j|d|�qktj
d |��qkWWnOtjk
r?}|j||�} | r9|jdd
| f|_n�nXdS(Nt
__dotdotdot__t__cffi_extern_python_stops!typedef
does not declare any nameii����Rkstypedef tqualssunrecognized
constructs
*** Err: %s(Rpt_process_macrostitertextRkt_inside_extern_pythont
isinstanceRtc_asttDeclt_parse_decltTypedefRR'ttypetIdentifierTypetnamest_get_unknown_typetPtrDecltTypeDeclRtunknown_ptr_typet_get_type_and_qualst_declaretFFIErrorRytargs(
R_RRnR=titeratortdeclR�trealtypeRoRw((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR}/sD
cCsP||jkr?|j||kr&dStjd|f��n||j|<dS(Ns%multiple
declarations of constant:
%s(R\RR�(R_tkeytval((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt_add_constantsYscCs�|j�jd�}|jd�}|r7|d}n|jd�rs|dkrs|jd�rsd|d}nt|d�}|r�|}n|j||�|jd||�dS( Ntult-it0t0xt0oismacro
(tlowertrstripRRtR�R�(R_Rktint_strtnegtpyvalue((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt_add_integer_constantas
cCs�x�|j�D]|\}}|j�}tj|�rG|j||�q
|dkrj|jd||�q
tjd||||f��q
WdS(Ns...smacro
s�only supports one of the following syntax:
#define %s ... (literally dot-dot-dot)
#define %s NUMBER (with NUMBER an integer constant, decimal/hex/octal)
got:
#define %s
%s(titemsR3t_r_int_literalRR�R�RR'(R_R=R�tvalue((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR�pscCs~|j||�}|jjd�r-d}n6|jdkrEd}n|jdkr]d}nd}|j||j|�dS(NR|sdllexport_python
t__cffi_extern_python_startsextern_python
t!__cffi_extern_python_plus_c_startsextern_python_plus_c s function
(t_get_type_pointerR[tgetR�R�Rk(R_ttpR�R�ttag((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt_declare_function�s cCs�|j}t|tjj�rR|j|d|j�\}}|j|||�net|tjj�rz|j d|�nnt|tjj
�r�|j d|�nFt|tjj�r�|j d|�n|js�tj
d|��n|jr�|j|dt�\}}|jr+|j|||�q�|j�r�t|d�r�t|jd�r�tj|jj�r�|j|j|jj�q�|j�rt|jtjj�r|jjd krt|jjd�rtj|jjj�r|j|jd |jjj�q�|tjkr?|jjd
�r?|j|_q�|jdkr`tj
d��n|tj@r�|jr�|j
d
|j|d|�q�|j
d|j|d|�ndS(NRktstructtuniontenums'construct does not
declare any
variabletpartial_length_oktinitR�R�t__cffi_extern_python_R�s<cannot
declare constants or variables with 'extern
"Python"'s constant R�s variable
(!R�R�RR�tFuncDeclR�RkR�tStructt_get_struct_union_enum_typetUniontEnumRR'Rtis_raw_functiontis_integer_typethasattrR�R�RR�R�tUnaryOptoptexprRt void_typeRR�tQ_CONSTt
is_array_typeR�(R_R�tnodeR�R�((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR��sN
cCs|j|�dS(Ni(tparse_type_and_quals(R_tcdecl((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt
parse_type�scCsx|jd|�d
\}}|jdjjjd}t|tjj�rht j
d|jf��n|j|j�S(Nsvoid __dummy(
%s
);ii����isunknown identifier
'%s'(
RpR�R�R�tparamsR�RR�tIDRR'RkR�(R_R�RnR=texprnode((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR��s
icCs�||jkrl|j|\}}||kr>||kr>dS|jjd�sltjd|f��qln||f|j|<|r�|jj|�ndS(NRzsPmultiple
declarations of %s (for interactive usage, try cdef(xx,
override=True))(RUR[R�RR�RVRH(R_RktobjtincludedR�tprevobjt prevquals((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR��scCs�d}t|tjjtjjf�r�d|jkrF|tjO}nd|jkre|tjO}nd|jkr�|tj O}q�n|S(Nitconsttvolatiletrestrict(
R�RR�R�R�R�RR�t
Q_VOLATILEt
Q_RESTRICT(R_R�R�((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt_extract_quals�scCs�t|tj�r|j�St|tj�r�|jjd�r�|jdj�r�|jdkr�|dk r�tj
|||�Stj||�S(Nt$i(R�RtRawFunctionTypetas_function_pointertStructOrUnionOrEnumRkRRst forcenameRtNamedPointerTypetPointerType(R_R�R�tdeclname((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR��s
%c
Cs�t|tjj�r�t|jtjj�r�t|jj�dkr�d|jjd|jkr�|jd|jjd\}}||j |�O}||fSt|tjj
�r|jdkr�d}n|j
|jd|�}|j|jd|�\}}tj||�|fSt|tjj�rw|j|j�\}}|j||d|�}|j |�}||fSt|tjj�r�|j |�}|j} t| tjj�r4t| j�}
|
ddgkr�i}xE|
r'|
d}|dkr#|j|d�d||<|
d=q�Pq�Wg}x>dD]6}
x-t|j|
d��D]}|j|
�qTWq5W|
s�dg}
n|
dgkr�d|ks�d |kr�g}
q�n||
}
ndj|
�}|d
kr�tj|fS|dkrtjd|jj��nt||�\}}|||BfSt| tjj�rh|jd| |�}||fSt| tjj
�r�|jd| |�}||fSt| tjj!�r�|jd| |�}||fSnt|tjj"�r�|j#||�dfSt|tjj�r2|jd||dt$�dfSt|tjj
�rf|jd||dt$�dfStjd|jj��dS(Nistypedef
iR�R�tsignedtchartshorttlongtunsignedRtR+tvoidRs:%d: bad usage
of "..."R�R�R�tnesteds(:%d: bad or unsupported type
declaration(R�slongR�R�(R�R�slong(%R�RR�R�R�R�RR�RUR�t ArrayDecltdimRt_parse_constantR�Rt ArrayTypeR�R�R9R�trangeRRR�RR�tcoordRvRR�R�R�R�R�t_parse_function_typeR(R_ttypenodeRkR�R�R�tlengthtitemtypet itemqualsR�R�tprefixestnewnamestprefixRtidentttp0tquals0((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR��s�!
c
Cs�tt|jdg��}x^t|�D]P\}}t|d�s(tjd|pUd|dt|dd�f��q(q(Wt|�dko�t|d j t
jj�o�t|d j j t
jj
�o�|d j j jd
gk}|r|j�|stjd|p
d��qng|D]!}|j|j|j ��^q!}|rj|tjgkrjg}n|j|j �\} }
d}t|j d�r�|j jd
dddgkr�d}q�ntjt|�| ||�S(NR�R�st%s
arg %d: unknown type '%s' (if you meant to use the old C syntax
of giving untyped arguments, it is not supported)s
in
expressioniRkt?ii����Rs=%s: a function with only
'(...)' as argument is not correct
CR�i����R�R�t __stdcall(R9tgetattrR�R;R�RR'RR�R�RR�R�R�R�tpopt_as_func_argR�RR�RR�R�ttuple(R_R�tfuncnameR�RtargtellipsistargdeclnodeR�tresultR�tabi((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR�Ks6
+ cCsIt|tj�r%tj|j|�St|tj�rA|j�S|SdS(N(R�RR�R�titemR�R�(R_R�R�((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR�ns
cCs]y|j|SWntk
r"nX|}|j}|dkr||dk rWd|}n|jd7_d|j}d}n1|}d||f}|jj|d�\}} |dkr{|dkr�tj|ddd�}ny|dkrtj |ddd�}nR|dkrF|dkr.t
d ��n|j||j�}nt
d
|f��|dk r�|j||�q�n.|dkr�|jdk r�td|��n|js�|j|�n|jr�d|jkr�|jd
|j|�n||j|<|dkr|S|jdkr$|S|jdk rItj
d|��ng}
g}g}g}
x2|jD]'}t|jtjj�r�dj|jj�dkr�|j||�qkn|jdkr�d}n|j|j�}t|_
|j!|jdt"�\}}|j
r'|j||�nt|tj�rU|j#rU|j||�n|
j$|jpgd�|j$|�|j$|�|
j$|�qkWt%|
�|_t%|�|_&t%|�|_'t%|
�|_(|dgt)|�krt|tj�r|j#rtd|f��qn|j*jd�|_+|j,rYd|_,|j-j$|�n|S(Ns$%sis$%ds%s
%sR�R�R�Rs!Enums cannot be declared with ...s kind = %rs^enum %s:
the '{}' declaration should appear on the first time the enum is
mentioned, not laterR�sanonymous %ss"duplicate declaration of
struct %sR
i����R�s#%s: using both bitfields and
'...;'R{i(NN(.RZtKeyErrorRkRRWRUR�Rt
StructTypet UnionTypeR't_build_enum_typetvaluestAssertionErrorR�R(R�tforce_the_nametdeclstfldnamesRR�R�RR�R�RR�t
_make_partialtbitsizeR�RIt_partial_lengthR�RtpartialRR�tfldtypest
fldbitsizetfldqualsRR[R{t completedR](R_tkindR�RkR�t
force_namet
explicit_nameR�R�t_RRRRR�R
tfqual((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR�vs�
cCsbt|tj�s+tjd|f��n|j�rU|rUtd|f��nt|_dS(Ns%s
cannot be partials%s is partial but has no C
name( R�Rt
StructOrUnionRR't
has_c_nameR(RR(R_R�R�((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR�s
cCst|tjj�r
|j}|jd�re|jd�sK|jd�rXt|d�St|d�Sd|dko�dknr�t|d �S|dd
kr�|dd
kr�t|�dks�t|�d
kr�|ddkr�t|d�St j
d|f��nt|tjj�rA|jdkrA|j
|j�St|tjj�rv|jdkrv|j
|j�St|tjj�r�|j|jkr�|j|jS|r�t|tjj�r�|jdkr�t|_dSnt jd|jj��dS(NR�R�t0Xiit1it9i
t'i����iiis\i����sinvalid constant
%rt+R�t__dotdotdotarray__s...s?:%d: unsupported expression: expected a
simple numeric
constant(R�RR�tConstantR�RRtRtordRR'R�R�R�R�R�RkR\RRR�R�Rv(R_R�R�ts((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR��s8
4 c Cs|dk r�t}g}g}d}x�|jD]�}tj|j�rRt}q.n|jdk rv|j|j�}n|j |j�|j |�|j
|j|�|d7}q.Wt|�}t|�}tj
|||�}||_ntj
|dd�}|S(Nii(((RRItenumeratorst_r_enum_dotdotdotRRkRR�R�RR�R�RtEnumTypeR( R_RR
RR$t
enumvaluest
nextenumvalueR�R�((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyRs*
cCs�xy|jj�D]h\}\}}|jd�r7qn|jdd�d}|dkr|j||d
td|�qqWx-|jj�D]\}}|j||�q�WdS(
Nsanonymous
$enum_$R+iiR�R�R�t anonymousRFR�R�(sstructsunionsenumR)stypedef(RUR�RtsplitR�RR\R�(R_totherRkR�R�Rtktv((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pytinclude1s"#c Cs�|jjj}t|�dkr1tj|j�S|d
dgksW|d dgkrltj|j�}nOx:|d D].}|dkrwtjd|j j
��qwqwWtj|j�}|jdkr�dd
j|d
�|jf|_n|S(Nii����tfloattdoubleRtR�R�R�R�R�s:%d:
bad usage of "..."s'typedef %s...
%s'R+(sintsshortslongssignedsunsignedschar(R�R�RRtunknown_typeRktUnknownFloatTypeRR�R�RvtUnknownIntegerTypeR^RR(R_R�RjRtt((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyR�;s
#N(t__name__t
__module__R`RpRyRgRIRdR}R�R�R�R�R�R�R�R�R�RR�R�R�R�R�RR�RR.R�(((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyRT�s2
* 2 ^# v &
(i(*R
RRtcommontypesRRRRtImportErrorRXtretsystversion_infotthreadt_threadt
allocate_lockRbRtcompiletDOTALLt MULTILINER-R/R:R%R8RJRt
IGNORECASER�R6R5R7R%RR R
R*RDRStobjectRT(((s2/usr/lib64/python2.7/site-packages/cffi/cparser.pyt<module>sF
$
* 2 3 (