Your IP : 3.135.241.55


Current Path : /lib64/python3.6/ctypes/__pycache__/
Upload File :
Current File : //lib64/python3.6/ctypes/__pycache__/__init__.cpython-36.opt-2.pyc

3

�me1@�@s:ddlZddlZdZddlmZmZmZddlm	Z	ddlm
ZddlmZddlm
Z
mZddlmZdd	lmZeekr�ed
ee��ejdkr�ddlmZe
Zejd
kr�ejdkr�eej�jjd�d�dkr�eZddlmZmZm Z!m"Z#d|dd�Z$d}dd�Z%iZ&dd�Z'ejdk�rXddlm(Z)ddlm*Z+iZ,dd�Z-e-j.�rpe'j.j/dd�e-_.nejd
k�rpddlm0Z)ddlm1Z1m2Z2m3Z3m4Z4m5Z5ddlm6Z6m7Z7ddlm8Z8d~d d!�Z9Gd"d#�d#e8�Z:e9e:d$�Gd%d&�d&e8�Z;e9e;�Gd'd(�d(e8�Z<e9e<�Gd)d*�d*e8�Z=e9e=�Gd+d,�d,e8�Z>e9e>�ed-�ed.�k�rHe=Z?e>Z@n0Gd/d0�d0e8�Z?e9e?�Gd1d2�d2e8�Z@e9e@�Gd3d4�d4e8�ZAe9eA�Gd5d6�d6e8�ZBe9eB�Gd7d8�d8e8�ZCe1eC�e1eB�k�r�eBZCed.�ed9�k�r�e=ZDe>ZEn0Gd:d;�d;e8�ZDe9eD�Gd<d=�d=e8�ZEe9eE�Gd>d?�d?e8�ZFeFeF_GeF_He9eF�Gd@dA�dAe8�ZIeIeI_GeI_He9eI�GdBdC�dCe8�ZJeJeJ_GeJ_He9eJ�GdDdE�dEe8�ZKe9eKd$�GdFdG�dGe8�ZLeLZMe9eL�GdHdI�dIe8�ZNddJlmOZOmPZPmQZQGdKdL�dLe8�ZRGdMdN�dNe8�ZSdOdP�ZTddQdR�ZUdSdT�ZVdUdV�ZWGdWdX�dXeX�ZYGdYdZ�dZeY�ZZejdk�r�Gd[d\�d\eY�Z[dd]lm\Z\m8Z8Gd^d_�d_e8�Z]Gd`da�daeY�Z^Gdbdc�dceX�Z_e_eY�Z`e_eZ�Zaejdk�r�eZdddejb�Zcn,ejdek�r�eZdfejdddg��ZcneZd�Zcejdk�rJe_e[�Zee_e^�Zfejdk�r(eejgjhZhneejijhZhddhlmjZjmkZkd�didj�Zle1e@�e1eL�k�rfe@Zme?Znn6e1e>�e1eL�k�r�e>Zme=Znne1eE�e1eL�k�r�eEZmeDZnddklmoZompZpmqZqmrZre'eLeLeLem�eo�Zse'eLeLe?em�ep�Ztdldm�Zueue:eLe:e:�er�Zvdndo�Zweue:eLe?�eq�Zxd�dqdr�ZyyddslmzZzWne{k
�r:YnXeue:eLe?�ez�Z|d�dtdu�Z}ejdk�rrdvdw�Z~dxdy�Zddzl�m�Z�m�Z�eIZ�eFZ�xPe;e?e=eDgD]@Z�e1e��dgk�r�e�Z�n&e1e��d{k�r�e�Z�ne1e��dk�r�e�Z��q�WxPe<e@e>eEgD]@Z�e1e��dgk�re�Z�n&e1e��d{k�re�Z�ne1e��dk�r�e�Z��q�W[�eT�dS)��Nz1.1.0)�Union�	Structure�Array)�_Pointer)�CFuncPtr)�__version__)�
RTLD_LOCAL�RTLD_GLOBAL)�
ArgumentError)�calcsizezVersion number mismatch�nt)�FormatError�posix�darwin�.�)�FUNCFLAG_CDECL�FUNCFLAG_PYTHONAPI�FUNCFLAG_USE_ERRNO�FUNCFLAG_USE_LASTERRORcCs^t|t�r6|dkrt|�d}t|}|�}||_|St|t�rRt|}|�}|St|��dS)N�)�
isinstance�bytes�len�c_char�value�int�	TypeError)�init�size�buftype�buf�r"�'/usr/lib64/python3.6/ctypes/__init__.py�create_string_buffer/s

r$cCs
t||�S)N)r$)rrr"r"r#�c_bufferAsr%cs�t�|jdd�r�tO�|jdd�r,�tO�|r@td|j���yt���fStk
r�G���fdd�dt�}|t���f<|SXdS)N�	use_errnoF�use_last_errorz!unexpected keyword argument(s) %scseZdZ�Z�Z�ZdS)z CFUNCTYPE.<locals>.CFunctionTypeN)�__name__�
__module__�__qualname__�
_argtypes_�	_restype_�_flags_r")�argtypes�flags�restyper"r#�
CFunctionTypecsr1)	�_FUNCFLAG_CDECL�pop�_FUNCFLAG_USE_ERRNO�_FUNCFLAG_USE_LASTERROR�
ValueError�keys�_c_functype_cache�KeyError�	_CFuncPtr)r0r.�kwr1r")r.r/r0r#�	CFUNCTYPEIsr<)�LoadLibrary)�FUNCFLAG_STDCALLcs�t�|jdd�r�tO�|jdd�r,�tO�|r@td|j���yt���fStk
r�G���fdd�dt�}|t���f<|SXdS)Nr&Fr'z!unexpected keyword argument(s) %scseZdZ�Z�Z�ZdS)z$WINFUNCTYPE.<locals>.WinFunctionTypeN)r(r)r*r+r,r-r")r.r/r0r"r#�WinFunctionType{sr?)	�_FUNCFLAG_STDCALLr3r4r5r6r7�_win_functype_cacher9r:)r0r.r;r?r")r.r/r0r#�WINFUNCTYPEosrB)�dlopen)�sizeof�byref�	addressof�	alignment�resize)�	get_errno�	set_errno)�_SimpleCDatacCsJddlm}|dkr|j}t|�||�}}||krFtd|||f��dS)Nr)rz"sizeof(%s) wrong: %d instead of %d)�structr�_type_rD�SystemError)�typ�typecoderZactualZrequiredr"r"r#�_check_size�srQcs eZdZdZ�fdd�Z�ZS)�	py_object�Ocs.y
t�j�Stk
r(dt|�jSXdS)Nz
%s(<NULL>))�super�__repr__r6�typer()�self)�	__class__r"r#rU�s
zpy_object.__repr__)r(r)r*rMrU�
__classcell__r"r")rXr#rR�srR�Pc@seZdZdZdS)�c_short�hN)r(r)r*rMr"r"r"r#r[�sr[c@seZdZdZdS)�c_ushort�HN)r(r)r*rMr"r"r"r#r]�sr]c@seZdZdZdS)�c_long�lN)r(r)r*rMr"r"r"r#r_�sr_c@seZdZdZdS)�c_ulong�LN)r(r)r*rMr"r"r"r#ra�sra�ir`c@seZdZdZdS)�c_intrcN)r(r)r*rMr"r"r"r#rd�srdc@seZdZdZdS)�c_uint�IN)r(r)r*rMr"r"r"r#re�srec@seZdZdZdS)�c_float�fN)r(r)r*rMr"r"r"r#rg�srgc@seZdZdZdS)�c_double�dN)r(r)r*rMr"r"r"r#ri�sric@seZdZdZdS)�c_longdouble�gN)r(r)r*rMr"r"r"r#rk�srk�qc@seZdZdZdS)�
c_longlongrmN)r(r)r*rMr"r"r"r#rn�srnc@seZdZdZdS)�c_ulonglong�QN)r(r)r*rMr"r"r"r#ro�sroc@seZdZdZdS)�c_ubyte�BN)r(r)r*rMr"r"r"r#rq�srqc@seZdZdZdS)�c_byte�bN)r(r)r*rMr"r"r"r#rs�srsc@seZdZdZdS)r�cN)r(r)r*rMr"r"r"r#r�src@seZdZdZdd�ZdS)�c_char_p�zcCsd|jjtj|�jfS)Nz%s(%s))rXr(�c_void_p�from_bufferr)rWr"r"r#rU�szc_char_p.__repr__N)r(r)r*rMrUr"r"r"r#rv�srvc@seZdZdZdS)rxrZN)r(r)r*rMr"r"r"r#rx�srxc@seZdZdZdS)�c_bool�?N)r(r)r*rMr"r"r"r#rz�srz)�POINTER�pointer�_pointer_type_cachec@seZdZdZdd�ZdS)�	c_wchar_p�ZcCsd|jjtj|�jfS)Nz%s(%s))rXr(rxryr)rWr"r"r#rU�szc_wchar_p.__repr__N)r(r)r*rMrUr"r"r"r#r�src@seZdZdZdS)�c_wchar�uN)r(r)r*rMr"r"r"r#r�sr�cCsFtj�tj�tjdkr"tj�tjtt	�_t
jtt�_ttd<dS)Nr)
r~�clearr8�_os�namerArZ
from_paramr|r�rvrrxr"r"r"r#�_reset_caches
r�cCs^t|t�r6|dkrt|�d}t|}|�}||_|St|t�rRt|}|�}|St|��dS)Nr)r�strrr�rrr)rrr r!r"r"r#�create_unicode_buffers

r�cCsLtj|d�dk	rtd��t|�tkr,td��|j|�|t|<tt|�=dS)Nz%This type already exists in the cachezWhat's this???)r~�get�RuntimeError�idZset_type)r}�clsr"r"r#�SetPointerType"s
r�cCs||S)Nr")rOrr"r"r#�ARRAY,sr�c@sJeZdZeZeZdZdZdZ	e
dddfdd�Zdd�Zd	d
�Z
dd�ZdS)
�CDLLz<uninitialized>rNFcsb|�_�j�|r�tO�|r$�tO�G��fdd�dt�}|�_|dkrXt�j|��_n|�_dS)NcseZdZ�Z�jZdS)zCDLL.__init__.<locals>._FuncPtrN)r(r)r*r-�_func_restype_r,r")r/rWr"r#�_FuncPtrQsr�)�_name�_func_flags_r4r5r:r��_dlopen�_handle)rWr��modeZhandler&r'r�r")r/rWr#�__init__Gsz
CDLL.__init__cCs8d|jj|j|jtjdd@t|�tjdd@fS)Nz<%s '%s', handle %x at %#x>�r)rXr(r�r��_sys�maxsizer�)rWr"r"r#rU[s
z
CDLL.__repr__cCs6|jd�r|jd�rt|��|j|�}t|||�|S)N�__)�
startswith�endswith�AttributeError�__getitem__�setattr)rWr��funcr"r"r#�__getattr__as

zCDLL.__getattr__cCs"|j||f�}t|t�s||_|S)N)r�rrr()rWZname_or_ordinalr�r"r"r#r�hs
zCDLL.__getitem__)r(r)r*r2r�rdr�r�r�r��DEFAULT_MODEr�rUr�r�r"r"r"r#r�2sr�c@seZdZeeBZdS)�PyDLLN)r(r)r*r2�_FUNCFLAG_PYTHONAPIr�r"r"r"r#r�nsr�c@seZdZeZdS)�WinDLLN)r(r)r*r@r�r"r"r"r#r�wsr�)�_check_HRESULTrKc@seZdZdZeZdS)�HRESULTr`N)r(r)r*rMr�Z_check_retval_r"r"r"r#r��s
r�c@seZdZeZeZdS)�OleDLLN)r(r)r*r@r�r�r�r"r"r"r#r��sr�c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�
LibraryLoadercCs
||_dS)N)�_dlltype)rWZdlltyper"r"r#r��szLibraryLoader.__init__cCs.|ddkrt|��|j|�}t|||�|S)Nr�_)r�r�r�)rWr�Zdllr"r"r#r��s

zLibraryLoader.__getattr__cCs
t||�S)N)�getattr)rWr�r"r"r#r��szLibraryLoader.__getitem__cCs
|j|�S)N)r�)rWr�r"r"r#r=�szLibraryLoader.LoadLibraryN)r(r)r*r�r�r�r=r"r"r"r#r��sr�z
python dll�cygwinzlibpython%d.%d.dllr�)�get_last_error�set_last_errorcCs0|dkrt�}|dkr"t|�j�}td|d|�S)N)�GetLastErrorr
�strip�OSError)�codeZdescrr"r"r#�WinError�s
r�)�
_memmove_addr�_memset_addr�_string_at_addr�
_cast_addrcsG��fdd�dt�}|S)NcseZdZ�Z�ZeeBZdS)z!PYFUNCTYPE.<locals>.CFunctionTypeN)r(r)r*r+r,r2r�r-r")r.r0r"r#r1�sr1)r:)r0r.r1r")r.r0r#�
PYFUNCTYPE�sr�cCst|||�S)N)�_cast)�objrOr"r"r#�cast�sr�rcCs
t||�S)N)�
_string_at)�ptrrr"r"r#�	string_at�sr�)�_wstring_at_addrcCs
t||�S)N)�_wstring_at)r�rr"r"r#�
wstring_at�sr�cCs@ytdt�t�dg�}Wntk
r,dSX|j|||�SdS)Nzcomtypes.server.inprocserver�*i�i�)�
__import__�globals�locals�ImportError�DllGetClassObject)ZrclsidZriidZppv�ccomr"r"r#r��s
r�cCs6ytdt�t�dg�}Wntk
r,dSX|j�S)Nzcomtypes.server.inprocserverr�r)r�r�r�r��DllCanUnloadNow)r�r"r"r#r��s
r�)�BigEndianStructure�LittleEndianStructure�)N)N)N)N)NN���)r�r�)r�)��osr��sysr�rZ_ctypesrrrrrr:Z_ctypes_versionrr	r
rLrZ	_calcsize�	Exceptionr�r
r��platformr�uname�release�splitrr2rr�rr4rr5r$r%r8r<r=r�r>r@rArB�__doc__�replacerCrDrErFrGrHrIrJrKrQrRr[r]r_rardrergrirkrnrorqZ__ctype_le__Z__ctype_be__rsrrvrxZc_voidprzr|r}r~rr�r�r�r�r��objectr�r�r�r�r�r�r�ZcdllZpydllZ	dllhandleZ	pythonapi�version_infoZwindllZoledllZkernel32r�Zcoredllr�r�r�Zc_size_tZ	c_ssize_tr�r�r�r�ZmemmoveZmemsetr�r�r�r�r�r�r�r�r�r�r�Zctypes._endianr�r�Zc_int8Zc_uint8ZkindZc_int16Zc_int32Zc_int64Zc_uint16Zc_uint32Zc_uint64r"r"r"r#�<module>s6


!




<