Current File : //proc/self/root/proc/self/root/usr/lib64/python2.7/site-packages/cffi/vengine_gen.pyo
�
p�Wc@sZddlZddlZddlZddlmZmZdefd��YZdZdS(i����Ni(tmodeltffiplatformtVGenericEnginecBs�eZdZeZd�Zd�Zd�Zd�Zdd�Z	d�Z
dd	�Zd
�Zd�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	_generateRtplatformtversion_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_backendRRRtcurdirRtmodulefilenametload_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]"\}}
|jd|
|	�^q�}|j
}t|tj	�r|jd|jd|	��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)sresult 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|jdkrtd|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(RRGRSR6R8tnewfunctiontindirectionstbase_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.pytcheckYsiswrong 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}	|dkrt|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�tjd||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	RRRRR-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���