o
    4c
                     @   s   d dl Z ddlmZ ddlmZ i Zzd dlmZ ee W n	 ey'   Y nw e	dded< ded	< ej
jD ]Zed
rCeee< q8[i Zdd Zdd Ze jdkr\ee  dS dS )    N   )model)FFIError)_get_common_typesFILE_IO_FILE_Boolbool_tc                 C   s   zt | W S  ty]   t||}t|ts|d}}n,|tjjv r,t|d}}n|dkr7t	d|f ||krBt	d|f | 
|\}}t|tjsQJ ||ft |< ||f Y S w )Nr   set-unicode-neededzFThe Windows type %r is only available after you call ffi.set_unicode()zUnsupported type: %r.  Please look at http://cffi.readthedocs.io/en/latest/cdef.html#ffi-cdef-limitations and file an issue if you think this type should really be supported.)_CACHEKeyErrorCOMMON_TYPESget
isinstancestrr   PrimitiveTypeALL_PRIMITIVE_TYPESr   parse_type_and_qualsBaseTypeByIdentity)parser
commontypecdeclresultquals r   F/var/www/html/gps/gps/lib/python3.10/site-packages/cffi/commontypes.pyresolve_common_type   s.   

r   c                   C   sN   t dg dt dt dt t dgg dddddddddddd	S )
N_UNICODE_STRING)LengthMaximumLengthBufferzunsigned shortwchar_t)r#   r#   zUNICODE_STRING *zconst UNICODE_STRING *r   )UNICODE_STRINGPUNICODE_STRINGPCUNICODE_STRINGTBYTETCHARLPCTSTRPCTSTRLPTSTRPTSTRPTBYTEPTCHAR)r   
StructTyper   PointerTyper   r   r   r   win_common_types7   s(   	r1   win32)sys r   errorr   r   _cffi_backendr   ImportErrorunknown_typer   r   _typeendswithr   r   r1   platformupdater   r   r   r   <module>   s.    

