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__/libusb0.cpython-39.pyc
a

j��Y�\�
@s�ddlTddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddlZddl
ZdZdgZe�d�Zej�d�d	ks�ej�d
�d	ks�ej�d�d	ks�ej�d�d	kr�d
Zn&ejdks�ejdkr�dZne�dd�ZGdd�de�Zejdk�sejdk�r
de_Gdd�de�ZGdd�de�ZGdd�dee�ZGdd�dee�ZGdd�dee�ZGd d!�d!ee�ZGd"d#�d#ee�Z Gd$d%�d%ee�Z!Gd&d'�d'ee�Z"d(e#e!�fd)e#e!�fd*e$edfd+e#e"�fd,e fd-e#e�fd.e%fd/e&fd0e'fd1e#e#e!��fg
e!_(d(e#e"�fd)e#e"�fd2e)edfd3e#e!�fd4e*fd5e#e!�fge"_(e%Z+Gd6d7�d7�Z,da-dCd8d9�Z.d:d;�Z/d<d=�Z0d>d?�Z1Gd@dA�dAej2j3�Z4dDdBd�Z5dS)E�)�*N)�USBError)�methodtracezWander Lairson Costa�get_backendzusb.backend.libusb0Zbsd���Zmac�darwinZsunos5i�win32�cygwini��.�PC_PATH_MAXc@seZdZdS)�_PackPolicyN��__name__�
__module__�__qualname__�rr�7/usr/lib/python3.9/site-packages/usb/backend/libusb0.pyr<sr�c@s eZdZdZdefdefgZdS)�_usb_descriptor_headerrZblength�bDescriptorTypeN)rrr�_pack_�c_uint8�_fields_rrrrrDs�rc@s&eZdZdZdefdefdefgZdS)�_usb_string_descriptorr�bLengthrZwDataN�rrrrr�c_uint16rrrrrrIs
�rc@sPeZdZdefdefdefdefdefdefdefdefd	ee�fd
efg
ZdS)�_usb_endpoint_descriptorrrZbEndpointAddress�bmAttributesZwMaxPacketSizeZ	bIntervalZbRefreshZ
bSynchAddress�extra�extralenN)rrrrr�POINTER�c_intrrrrrrOs
�rc
@s`eZdZdefdefdefdefdefdefdefdefd	efd
ee�fdee�fdefgZd
S)�_usb_interface_descriptorrrZbInterfaceNumberZbAlternateSetting�
bNumEndpointsZbInterfaceClassZbInterfaceSubClassZbInterfaceProtocolZ
iInterface�endpointrr N)rrrrr!rr"rrrrrr#[s

�r#c@s eZdZdee�fdefgZdS)�_usb_interface�
altsetting�num_altsettingN)rrrr!r#r"rrrrrr&is
�r&c@sZeZdZdefdefdefdefdefdefdefdefd	ee�fd
ee�fdefgZdS)
�_usb_config_descriptorrrZwTotalLength�bNumInterfacesZbConfigurationValueZiConfigurationrZ	bMaxPower�	interfacerr N)	rrrrrr!r&r"rrrrrr)ms

�r)c@sheZdZdZdefdefdefdefdefdefdefd	efd
efdefdefd
efdefdefgZdS)�_usb_device_descriptorrrr�bcdUSB�bDeviceClass�bDeviceSubClass�bDeviceProtocol�bMaxPacketSize0�idVendor�	idProduct�	bcdDevice�
iManufacturer�iProduct�
iSerialNumber�bNumConfigurationsNrrrrrr,zs �r,c@seZdZdS)�_usb_deviceNr
rrrrr9�sr9c@seZdZdS)�_usb_busNr
rrrrr:�sr:�next�prev�filename�bus�
descriptor�config�dev�devnumZnum_childrenZchildren�dirname�devices�locationZroot_devc@seZdZdd�ZdS)�_DeviceDescriptorcCs�|j}|j|_|j|_|j|_|j|_|j|_|j|_|j|_|j|_|j	|_	|j
|_
|j|_|j|_|j
|_
|j|_|j|_|jdj|_d|_d|_d|_dS�Nr)r?rrr-r.r/r0r1r2r3r4r5r6r7r8rB�addressr>rEZport_numberZport_numbersZspeed)�selfrAZdescrrr�__init__�s(z_DeviceDescriptor.__init__N)rrrrJrrrrrF�srFcCstjjddd|d�S)N)zusb-0.1�usbZlibusb0zcygusb0.dllzLibusb 0�Zfind_library)rK�	libloaderZload_locate_libraryrLrrr�
_load_library�s
�rNcCsHtt�g|j_t|j_tg|j_ttttt	g|j
_tttt	g|j_ttttt
tg|j_tttt
tg|j_tttttg|j_tttttg|j_tttttg|j_tttttg|j_ttttttttg|j_ttg|j_ttg|j_ttg|j_ttg|j_ttg|j_ttg|j_tg|j_g|j_t|j_tg|j_tg|j_tt�|j_tt�|j _t!|d��rnttg|j"_t!|d��r�ttt
�t#tg|j$_t!|d��r�ttt
�t#g|j%_t!|d��r�ttt
�t#g|j&_t!|d��r�t
ttg|j'_t!|d��r�t
tg|j(_t!|d��rt
tg|j)_t!|d��r*t
g|j*_t!|d	��rDtt
�g|j+_dS)
N�usb_detach_kernel_driver_np�usb_isochronous_setup_async�usb_bulk_setup_async�usb_interrupt_setup_async�usb_submit_async�usb_reap_async�usb_reap_async_nocancel�usb_cancel_async�usb_free_async),r!r9�usb_open�argtypes�_usb_dev_handleZrestype�	usb_closer"�c_char_pZc_size_tZusb_get_stringZusb_get_string_simple�c_ubyte�c_void_pZusb_get_descriptor_by_endpointZusb_get_descriptor�usb_bulk_write�
usb_bulk_read�usb_interrupt_write�usb_interrupt_read�usb_control_msg�usb_set_configuration�usb_claim_interface�usb_release_interface�usb_set_altinterfaceZusb_resetep�usb_clear_halt�	usb_reset�usb_strerrorZ
usb_set_debugZ
usb_devicer:�usb_get_busses�hasattrrOrrPrQrRrSrTrUrVrW)�librrr�_setup_prototypes�s�
�
��������


���
rncCs^|durt��}n>t|d�r"|j}|dkrLt��}|��dkrPt�|�}n|St||��dS)N�valuerzno error)�_librjrlro�lower�os�strerrorr)�ret�errmsgrrr�_check�s

rvcCs
ttd�S)NrP)rlrprrrr�_has_iso_transfer�srwc@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&��Zee�d'd(��Zee�d)d*��Zee�d+d,��Zd-d.�Zd/d0�Zd1d2�Zd3S)4�_LibUSBccs`tt���tt���t��}t|�r\|dj}t|�rP|dV|dj}q2|dj}q dSrG)rvrpZusb_find_bussesZusb_find_devicesrk�boolrDr;)rIr>rArrr�enumerate_devices�s

z_LibUSB.enumerate_devicescCst|�S�N)rF�rIrArrr�get_device_descriptor�sz_LibUSB.get_device_descriptorcCs<||jjkrtdt|���|j|}|jd|j�|_|S)NzInvalid configuration index )r?r8�
IndexError�strr@rr �extra_descriptors)rIrAr@Zconfig_descrrr�get_configuration_descriptor�s

z$_LibUSB.get_configuration_descriptorcCsj|�||�}||jkr&tdt|���|j|}||jkrJtdt|���|j|}|jd|j�|_	|S)NzInvalid interface index z Invalid alternate setting index )
r�r*r~rr+r(r'rr r�)rIrA�intf�altr@Zcfgdescr+Z	intf_descrrr�get_interface_descriptor�s



z _LibUSB.get_interface_descriptorcCsJ|�||||�}||jkr*tdt|���|j|}|jd|j�|_|S)NzInvalid endpoint index )r�r$r~rr%rr r�)rIrA�epr�r�r@r+Zep_descrrr�get_endpoint_descriptor�s

z_LibUSB.get_endpoint_descriptorcCstt�|��Sr{)rvrprXr|rrr�open_device�sz_LibUSB.open_devicecCstt�|��dSr{)rvrpr[�rI�
dev_handlerrr�close_device�sz_LibUSB.close_devicecCstt�||��dSr{)rvrprd)rIr�Zconfig_valuerrr�set_configuration�sz_LibUSB.set_configurationc	CsRtj�tjjtjjtjj�}tj�d�}|�||ddd|d�}|dksJJ�|dS)Nr�r�d)rK�utilZbuild_request_typeZCTRL_INZCTRL_TYPE_STANDARDZCTRL_RECIPIENT_DEVICEZ
create_buffer�
ctrl_transfer)rIr��
bmRequestType�buffrtrrr�get_configuration�s"��	z_LibUSB.get_configurationcCstt�||��dSr{)rvrprg)rIr�r�r'rrr�set_interface_altsettingsz _LibUSB.set_interface_altsettingcCstt�||��dSr{)rvrpre�rIr�r�rrr�claim_interfacesz_LibUSB.claim_interfacecCstt�||��dSr{)rvrprfr�rrr�release_interfacesz_LibUSB.release_interfacecCs|�tj|||||�Sr{)�_LibUSB__writerpr_�rIr�r�r��data�timeoutrrr�
bulk_writes�z_LibUSB.bulk_writecCs|�tj|||||�Sr{)�
_LibUSB__readrpr`�rIr�r�r�r�r�rrr�	bulk_reads�z_LibUSB.bulk_readcCs|�tj|||||�Sr{)r�rprar�rrr�
intr_write s�z_LibUSB.intr_writecCs|�tj|||||�Sr{)r�rprbr�rrr�	intr_read)s�z_LibUSB.intr_readcCs0t�stjj�||||||�S|�|||||�Sr{)rwrK�backend�IBackend�	iso_write�_LibUSB__iso_transferr�rrrr�2sz_LibUSB.iso_writecCs0t�stjj�||||||�S|�|||||�Sr{)rwrKr�r��iso_readr�r�rrrr�8sz_LibUSB.iso_readc
Cs8|��\}}	|	|j9}	tt�|||||t|t�|	|��Sr{)�buffer_info�itemsizervrprc�castr\)
rIr�r�ZbRequestZwValueZwIndexr�r�rH�lengthrrrr�>s	
�z_LibUSB.ctrl_transfercCstt�||��dSr{)rvrprh)rIr�r�rrr�
clear_haltTsz_LibUSB.clear_haltcCstt�|��dSr{)rvrprir�rrr�reset_deviceXsz_LibUSB.reset_devicecCstt�||��dSr{)rvrprOr�rrr�detach_kernel_driver\sz_LibUSB.detach_kernel_driverc	Cs4|��\}}||j9}tt|||t|t�||���Sr{�r�r��intrvr�r\)	rI�fnr�r�r�r�r�rHr�rrrZ__write`s
�z_LibUSB.__writec
Cs8|��\}}||j9}tt|||t|t�||���}	|	Sr{r�)
rIr�r�r�r�r�r�rHr�rtrrrZ__readks
�z_LibUSB.__readcCs�t�}|��\}}||j9}tt�|t|�|d��d}	z�zd|	|kr�tt�|t||	t	�||	��tt�
||��}
|
s�|	WWtt�t|���S|	|
7}	q<Wn|	s��Yn0Wtt�t|���ntt�t|���0|	SrG)r^r�r�rvrprPZbyrefrSr�r\rTrW)rIr�r�r�r�r��contextr�r�ZtransmittedrtrrrZ__iso_transferws8
���
(z_LibUSB.__iso_transferN)rrrr�_loggerrzr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrx�s^





















rxcCstz(tdur"t|�att�t��t�WStjjyNtj	ddd�YdSt
yntj	ddd�YdS0dS)Nz Error loading libusb 0.1 backendF)�exc_infoT)rprNrnZusb_initrxrKrMZLibraryExceptionr��error�	ExceptionrLrrrr�s)N)N)6ZctypesrrZusb.backendrKZusb.util�sysZusb.corerZ
usb._debugrZusb._interopZ_interopZloggingZ
usb.libloader�
__author__�__all__Z	getLoggerr��platform�findZ	_PATH_MAX�pathconf�objectrrZ	Structurerrrr#r&r)r,r9r:r!Zc_int8r^rr]rZc_charZc_uint32rZrFrprNrnrvrwr�r�rxrrrrr�<module>s|
 ��




�



�
Yd