HEX
Server: LiteSpeed
System: Linux shams.tasjeel.ae 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
User: infowars (1469)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //usr/lib/python3.9/site-packages/usb/backend/__pycache__/openusb.cpython-39.opt-1.pyc
a

j��Ysm�A@sbddlTddlZddlZddlmZddlZddlZddlZddl	m
Z
ddlmZddlm
Z
ddlZddlmZdZdgZe�d�ZdZdZd	Zd
ZdZdZd
ZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-d Z.d!Z/d"Z0d#Z1d$Z2d%Z3ededeej4�5d&d�edeej4�5d'd�eej4�5d(d�eej4�5d)d�eej4�5d*d�eej4�5d+d�eej4�5d,d�ede ej4�5d-d�e!ej4�5d+d�e"de#de$de%de&ej4�5d(d�e'ej4�5d(d�e(ej4�5d(d�e)ej4�5d.d�e*de+ej4�5d/d�e,ej4�5d0d�e-de.ej4�5d0d�e/de0de1de2ej4�5d1d�e3ej4�5d2d�iZ6Gd3d4�d4e7�Z8Gd5d6�d6e7�Z9Gd7d8�d8e7�Z:Gd9d:�d:e7�Z;Gd;d<�d<e7�Z<Gd=d>�d>e7�Z=Gd?d@�d@e7�Z>GdAdB�dBe7�Z?GdCdD�dDe7�Z@GdEdF�dFe7�ZAeBZCeBZDeBZEeBZFdaGdaHdWdGdH�ZIdIdJ�ZJdKdL�ZKGdMdN�dNejL�ZMGdOdP�dPejL�ZNGdQdR�dRejL�ZOGdSdT�dTejPjQ�ZRdXdUdV�ZSdS)Y�)�*N)�methodtrace)�USBErrorzWander Lairson CostaA�get_backendOPENUSB_SUCCESSOPENUSB_PLATFORM_FAILUREOPENUSB_NO_RESOURCESOPENUSB_NO_BANDWIDTHOPENUSB_NOT_SUPPORTEDOPENUSB_HC_HARDWARE_ERROROPENUSB_INVALID_PERMOPENUSB_BUSYOPENUSB_BADARGOPENUSB_NOACCESSOPENUSB_PARSE_ERROROPENUSB_UNKNOWN_DEVICEOPENUSB_INVALID_HANDLEOPENUSB_SYS_FUNC_FAILUREOPENUSB_NULL_LISTOPENUSB_CB_CONTINUEOPENUSB_CB_TERMINATEOPENUSB_IO_STALLOPENUSB_IO_CRC_ERROROPENUSB_IO_DEVICE_HUNGOPENUSB_IO_REQ_TOO_BIGOPENUSB_IO_BIT_STUFFINGOPENUSB_IO_UNEXPECTED_PIDOPENUSB_IO_DATA_OVERRUNOPENUSB_IO_DATA_UNDERRUNOPENUSB_IO_BUFFER_OVERRUNOPENUSB_IO_BUFFER_UNDERRUNOPENUSB_IO_PID_CHECK_FAILUREOPENUSB_IO_DATA_TOGGLE_MISMATCHOPENUSB_IO_TIMEOUTOPENUSB_IO_CANCELEDzusb.backend.openusb���������������i����i����i����i����i����i����i�i�i�i��i��i���i���i���i���i���i���i���i���i���i���i���i���i���i����ZENOMEMZENOSYSZEIO�EBADFZEBUSY�EINVALZEACCESZENODEVZE2BIGZESRCHZ	EOVERFLOWZ	ETIMEDOUTZEINTRc	@s@eZdZdefdefdefdefdefdefdefdefgZd	S)
�_usb_endpoint_desc�bLength�bDescriptorTypeZbEndpointAddress�bmAttributesZwMaxPacketSizeZ	bIntervalZbRefreshZ
bSynchAddressN��__name__�
__module__�__qualname__�c_uint8�c_uint16�_fields_�rr�7/usr/lib/python3.9/site-packages/usb/backend/openusb.pyr�s�rc
@sFeZdZdefdefdefdefdefdefdefdefd	efg	Zd
S)�_usb_interface_descr
rZbInterfaceNumberZbAlternateSettingZ
bNumEndpointsZbInterfaceClassZbInterfaceSubClassZbInterfaceProtocolZ
iInterfaceN)rrrrrrrrrr�s�rc	@s@eZdZdefdefdefdefdefdefdefdefgZd	S)
�_usb_config_descr
rZwTotalLengthZbNumInterfacesZbConfigurationValueZiConfigurationrZ	bMaxPowerNrrrrrr�s�rc@sdeZdZdefdefdefdefdefdefdefdefd	efd
efdefdefd
efdefgZdS)�_usb_device_descr
rZbcdUSBZbDeviceClassZbDeviceSubClassZbDeviceProtocolZbMaxPacketSize0ZidVendorZ	idProductZ	bcdDeviceZ
iManufacturerZiProductZ
iSerialNumberZbNumConfigurationsNrrrrrr�s�rc@seZdZdefdefgZdS)�_openusb_request_result�status�transferred_bytesN)rrr�c_int32�c_uint32rrrrrr�s�rcs^eZdZ�fdd�ZGdd�de�Zdefdee�fdefdefd	efd
e	fde
fgZ�ZS)�_openusb_ctrl_requestcs`tt|���d|j_d|j_d|j_d|j_d|_d|_	d|_
d|_d|j_
d|j_d|_dS�Nr)�superr!�__init__�setup�
bmRequestType�bRequest�wValue�wIndex�payload�length�timeout�flags�resultrr�next��self��	__class__rrr$�sz_openusb_ctrl_request.__init__c@s(eZdZdefdefdefdefgZdS)z)_openusb_ctrl_request._openusb_ctrl_setupr&r'r(r)Nrrrrr�_openusb_ctrl_setup�s
�r4r%r*r+r,r-r.r/)
rrrr$�	Structurer4�POINTERrr r�c_void_pr�
__classcell__rrr2rr!�s
�r!c@s>eZdZdefdee�fdefdefdefdefdefgZ	dS)	�_openusb_intr_request�intervalr*r+r,r-r.r/N)
rrrrr6rr rr7rrrrrr9�s
�r9c@s8eZdZdee�fdefdefdefdefdefgZdS)�_openusb_bulk_requestr*r+r,r-r.r/N)	rrrr6rr rr7rrrrrr;�s
�r;c@s0eZdZGdd�de�Zdefdee�fgZdS)�_openusb_isoc_pktsc@s eZdZdee�fdefgZdS)z'_openusb_isoc_pkts._openusb_isoc_packetr*r+N)rrrr6rr rrrrr�_openusb_isoc_packet�s
�r=Znum_packetsZpacketsN)rrrr5r=r r6rrrrrr<�s
�r<c@s8eZdZdefdefdefdee�fdefdefgZ	dS)�_openusb_isoc_requestZstart_framer-ZpktsZisoc_resultsZisoc_statusr/N)
rrrr r<r6rrr7rrrrrr>�s
�r>cCstjjddd|d�S)N)�openusbr?zOpenUSB library�Zfind_library)�usb�	libloaderZload_locate_libraryr@rrr�
_load_library
s�rCc
CsFttt�g|j_t|j_tg|j_tttt��tt�g|j	_tt�g|j
_ttttt��tt�g|j_t|j_tt�g|j
_ttttt�g|j_t|j_tg|j_t|j_ttg|j_t|j_ttt�g|j_t|j_tttg|j_t|j_ttg|j_t|j_tttg|j_t|j_tg|j_t|j_tttt�ttt�g|j_t|j_tttt�tttt�g|j_t|j_tttt�tttttt�g|j_t|j_tttt�ttttttt �g	|j!_t|j_tg|j"_t#|j"_ttttt$�g|j%_t|j%_ttttt&�g|j'_t|j(_ttttt)�g|j(_t|j(_ttttt*�g|j+_t|j+_dS�N),r r6�_openusb_handle�openusb_init�argtypesrZrestype�openusb_fini�_openusb_busid�openusb_get_busid_list�openusb_free_busid_list�_openusb_devid�openusb_get_devids_by_bus�openusb_free_devid_list�_openusb_dev_handle�openusb_open_device�openusb_close_devicer�openusb_set_configuration�openusb_get_configurationZc_int�openusb_claim_interface�openusb_release_interface�openusb_set_altsetting�
openusb_resetrr�openusb_parse_device_descr�openusb_parse_config_descr�openusb_parse_interface_descr�openusb_parse_endpoint_desc�openusb_strerrorZc_char_pr!�openusb_ctrl_xferr9�openusb_intr_xfer�openusb_bulk_xferr;r>Zopenusb_isoc_xfer)�librrr�_setup_prototypess�

�
��
���
�	���
����racCs2t|d�r|j}|dkr.tt�|�|t|��|S)N�valuer)�hasattrrbr�_libr\�_openusb_errno)�retrrr�_check�s

rgc@seZdZdd�Zdd�ZdS)�_ContextcCs"t�|_tt�dt|j���dSr")rE�handlergrdrF�byrefr0rrrr$�sz_Context.__init__cCst�|j�dSrD)rdrHrir0rrr�_finalize_objectsz_Context._finalize_objectN)rrrr$rkrrrrrh�srhc@s$eZdZdd�Zdd�Zdd�ZdS)�_BusIteratorcCs<tt��|_t�}tt�tjt	|j�t	|���|j
|_dSrD)r6rI�buslistr rgrdrJ�_ctxrirjrb�
num_busids)r1rorrrr$s
�z_BusIterator.__init__ccs t|j�D]}|j|Vq
dSrD)�rangerorm�r1�irrr�__iter__
sz_BusIterator.__iter__cCst�|j�dSrD)rdrKrmr0rrrrksz_BusIterator._finalize_objectN�rrrr$rsrkrrrrrlsrlc@s$eZdZdd�Zdd�Zdd�ZdS)�_DevIteratorcCs>tt��|_t�}tt�tj|t	|j�t	|���|j
|_dSrD)r6rL�devlistr rgrdrMrnrirjrb�
num_devids)r1Zbusidrwrrrr$s
�z_DevIterator.__init__ccs t|j�D]}|j|Vq
dSrD)rprwrvrqrrrrssz_DevIterator.__iter__cCst�|j�dSrD)rdrNrvr0rrrrksz_DevIterator._finalize_objectNrtrrrrrusruc@s<eZdZee�dd��Zee�dd��Zee�dd��Zee�dd��Zee�d	d
��Z	ee�dd��Z
ee�d
d��Zee�dd��Zee�dd��Z
ee�dd��Zee�dd��Zee�dd��Zee�dd��Zee�dd��Zee�dd��Zee�dd ��Zee�d!d"��Zee�d#d$��Zee�d%d&��Zd'S)(�_OpenUSBccs$t�D]}t|�D]
}|VqqdSrD)rlru)r1�busZdevidrrr�enumerate_devices#s
z_OpenUSB.enumerate_devicesc	CsDt�}tt�tj|ddt|���d|_d|_d|_	d|_
d|_|Sr")rrgrdrXrnrirjryZaddressZport_numberZport_numbersZspeed)r1�dev�descrrr�get_device_descriptor)s
�z_OpenUSB.get_device_descriptorc
Cs.t�}tt�tj|dd|t|���d|_|Sr")rrgrdrYrnrirj�extra_descriptors)r1r{�configr|rrr�get_configuration_descriptor8s
�z%_OpenUSB.get_configuration_descriptorcCs2t�}tt�tj|dd|||t|���d|_|Sr")rrgrdrZrnrirjr~)r1r{�intf�altrr|rrr�get_interface_descriptorDs
�z!_OpenUSB.get_interface_descriptorc
Cs4t�}tt�tj|dd||||t|��	�d|_|Sr")rrgrdr[rnrirjr~)r1r{�epr�r�rr|rrr�get_endpoint_descriptorRs
�	z _OpenUSB.get_endpoint_descriptorcCs$t�}tt�tj|dt|���|Sr")rOrgrdrPrnrirj)r1r{rirrr�open_deviceasz_OpenUSB.open_devicecCst�|�dSrD)rdrQ�r1�
dev_handlerrr�close_devicegsz_OpenUSB.close_devicecCstt�||��dSrD)rgrdrR)r1r�Zconfig_valuerrr�set_configurationksz_OpenUSB.set_configurationcCs t�}tt�|t|���|jSrD)rrgrdrSrjrb)r1r�rrrr�get_configurationosz_OpenUSB.get_configurationcCstt�|||��dSrD)rgrdrV)r1r�r�Z
altsettingrrr�set_interface_altsettingusz!_OpenUSB.set_interface_altsettingcCstt�||d��dSr")rgrdrT�r1r�r�rrr�claim_interfaceysz_OpenUSB.claim_interfacecCst�||�dSrD)rdrUr�rrr�release_interface}sz_OpenUSB.release_interfacecCs^t�}tt|�dt|��|��\}|_t|tt��|_	||_
tt�
|||t|���|jjSr"�r;�memsetrj�sizeof�buffer_infor+�castr6rr*r,rgrdr_r.r�r1r�r�r��datar,�requestr*rrr�
bulk_write�sz_OpenUSB.bulk_writecCs^t�}tt|�dt|��|��\}|_t|tt��|_	||_
tt�
|||t|���|jjSr"r��r1r�r�r�Zbuffr,r�r*rrr�	bulk_read�sz_OpenUSB.bulk_readcCs^t�}tt|�dt|��|��\}|_t|tt��|_	||_
tt�
|||t|���|jjSr"�r9r�rjr�r�r+r�r6rr*r,rgrdr^r.rr�rrr�
intr_write�sz_OpenUSB.intr_writecCs^t�}tt|�dt|��|��\}|_t|tt��|_	||_
tt�
|||t|���|jjSr"r�r�rrr�	intr_read�sz_OpenUSB.intr_readcCs�t�}||j_||j_|jj|jj||_tj�	|�}	|�
�\}
|_|j|j9_t
|
tt��|_tt�|ddt|���|jjSr")r!r%r&r'r(r)r,rA�utilZctrl_directionr�r+�itemsizer�r6rr*rgrdr]rjr.r)r1r�r&r'r(r)r�r,r��	directionr*rrr�
ctrl_transfer�s	z_OpenUSB.ctrl_transfercCstt�|��dSrD)rgrdrWr�rrr�reset_device�sz_OpenUSB.reset_devicec	Cs2t�tjtjtj�}|�||dd|t��d�dS)N�ri�)r�Zbuild_request_typeZCTRL_OUTZCTRL_TYPE_STANDARDZCTRL_RECIPIENT_ENDPOINTr��_interopZas_array)r1r�r�r&rrr�
clear_halt�s��z_OpenUSB.clear_haltN)rrrr�_loggerrzr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrx"sL













	
	
	


rxcCsrz&tdur t|�att�t�at�WStjjyLt	j
ddd�YdStylt	j
ddd�YdS0dS)NzError loading OpenUSB backendF)�exc_infoT)rdrCrarhrnrxrArBZLibraryExceptionr��error�	Exceptionr@rrr�get_backend�sr�)N)N)TZctypesZctypes.utilZusb.utilrAZ
usb._debugrZlogging�errno�sysZusb._interopr�Zusb._objfinalizerZ
_objfinalizerr�Z
usb.libloaderZusb.corer�
__author__�__all__Z	getLoggerr�ZOPENUSB_SUCCESSZOPENUSB_PLATFORM_FAILUREZOPENUSB_NO_RESOURCESZOPENUSB_NO_BANDWIDTHZOPENUSB_NOT_SUPPORTEDZOPENUSB_HC_HARDWARE_ERRORZOPENUSB_INVALID_PERMZOPENUSB_BUSYZOPENUSB_BADARGZOPENUSB_NOACCESSZOPENUSB_PARSE_ERRORZOPENUSB_UNKNOWN_DEVICEZOPENUSB_INVALID_HANDLEZOPENUSB_SYS_FUNC_FAILUREZOPENUSB_NULL_LISTZOPENUSB_CB_CONTINUEZOPENUSB_CB_TERMINATEZOPENUSB_IO_STALLZOPENUSB_IO_CRC_ERRORZOPENUSB_IO_DEVICE_HUNGZOPENUSB_IO_REQ_TOO_BIGZOPENUSB_IO_BIT_STUFFINGZOPENUSB_IO_UNEXPECTED_PIDZOPENUSB_IO_DATA_OVERRUNZOPENUSB_IO_DATA_UNDERRUNZOPENUSB_IO_BUFFER_OVERRUNZOPENUSB_IO_BUFFER_UNDERRUNZOPENUSB_IO_PID_CHECK_FAILUREZOPENUSB_IO_DATA_TOGGLE_MISMATCHZOPENUSB_IO_TIMEOUTZOPENUSB_IO_CANCELED�__dict__�getrer5rrrrrr!r9r;r<r>Zc_uint64rLrIrErOrdrnrCrargZAutoFinalizedObjectrhrlruZbackendZIBackendrxr�rrrr�<module>s��#
�"

	
e>