o
    ^+                     @   s  d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ i Zed	ed	< ed
jZdd Ze rWeZneZG dd de	ZeeZzed	 jZW n4 ey   d dlmZ ed	 jZee_eeeege_eZ ed	 j!Z!ee!_eeeeeeege!_e!Z"Y n!w ee_eeeege_eZ ed	 j#Z#ee#_eeeeeeege#_e#Z"G dd de	Z$e$Z%G dd de	Z&e&Z'G dd de	Z(e(Z)G dd de	Z*e*Z+ed	 j,Z,ee,_g e,_ee$Z-eeZ.ed	 j/Z/ee/_ee-e.ege/_ed	 j0Z0ee0_ege0_eZ1ed	 j2Z2ee2_ee1ee.e-ge2_eZ3ed	 j4Z4ee4_ee3ee.e-ge4_ed	 j5Z5ee5_ege5_ed	 j6Z6ee6_ege6_ee&Z7ed	 j8Z8ee8_ee.e7ge8_ed	 j9Z9ee9_eeege9_ed	 j:Z:ee:_eege:_ed	 j;Z;ee;_ee.ge;_ee(Z<ed	 j=Z=ee=_ee<ge=_ee*Z>ed	 j?Z?ee?_ee>ge?_ed	 j@Z@ee@_eege@_ed	 jAZAeeA_egeA_ed	 jBZBeeB_eegeB_ed	 jCZCeeC_ee<geC_ed	 jDZDeeD_ee>geD_ed	 jEZEeeE_eegeE_ed	 jFZFeeF_ee.e-geF_ed	 jGZGeeG_ee-geG_d ZHdZIdZJd ZKdZLdZMdZNdZOdZPd ZQdZRdZSdZTdZUdZVd ZWdZXdZYdZZdZ[dZ\d Z]d!Z^dZ_dZ`d"ZadZbd"Zcd#Zdd$ZedZfd Zgd%Zhd&Zid'Zjd(Zkd)Zld#Zmd*Znd+ZodZpd!ZqdZrdZsdZtd,ZudZvdZwd!Zxd-Zyd.Zzd%Z{d,Z|d%Z}d$Z~dZdZdZd%Zd#ZG d/d0 d0e
ZG d1d2 d2e	Zd3efd4efge_eZd5ge_d5efd6efge_d5ge$_d7efd8efd5efd9efge$_d:efd;e3fd<efge_d=edfd>edfd?edfd@edfdAedfdBedfdCedfdDedEfdFefdGefg
e&_dHefdIefdJedfdKedfdLedfdMedfdNedfdOedfdPedfdQedfdRedfdSedfdTedfdUedfdVedfdWedXfdYefdZefd[efd\efd]efd^efd_efd`efdaefdbefdcefddefge(_deefdfefdgefdhefdiefge*_g djZdkS )l    )absolute_import)	c_ulongc_void_pc_int64c_charWinDLLsizeof	StructureUnionPOINTER)HANDLE)BOOL)LPCWSTR)DWORD)WORD)BYTEkernel32c                   C   s   t tt tkS )z,Returns true when running on a 64 bit system)r   r   r    r   r   ./usr/lib/python3/dist-packages/serial/win32.pyis_64bit   s   r   c                   @      e Zd ZdS )_SECURITY_ATTRIBUTESN__name__
__module____qualname__r   r   r   r   r   *       r   )LPCSTRc                   @   r   )_OVERLAPPEDNr   r   r   r   r   r   H   r   r   c                   @   r   )_COMSTATNr   r   r   r   r   r    N   r   r    c                   @   r   )_DCBNr   r   r   r   r   r!   T   r   r!   c                   @   r   )_COMMTIMEOUTSNr   r   r   r   r   r"   Z   r   r"                            i      i   @   l       i  i  i  i  i   i   @   l        i   c                   @   r   )N11_OVERLAPPED4DOLLAR_48ENr   r   r   r   r   r/     r   r/   c                   @   r   )#N11_OVERLAPPED4DOLLAR_484DOLLAR_49ENr   r   r   r   r   r0   	  r   r0   Offset
OffsetHigh_0PointerInternalInternalHighhEventnLengthlpSecurityDescriptorbInheritHandlefCtsHoldfDsrHold	fRlsdHold	fXoffHold	fXoffSentfEoffTxim	fReserved   cbInQuecbOutQue	DCBlengthBaudRatefBinaryfParityfOutxCtsFlowfOutxDsrFlowfDtrControlfDsrSensitivityfTXContinueOnXofffOutXfInX
fErrorCharfNullfRtsControlfAbortOnErrorfDummy2   	wReservedXonLimXoffLimByteSizeParityStopBitsXonCharXoffChar	ErrorCharEofCharEvtChar
wReserved1ReadIntervalTimeoutReadTotalTimeoutMultiplierReadTotalTimeoutConstantWriteTotalTimeoutMultiplierWriteTotalTimeoutConstant)RGetLastError	MS_CTS_ONFILE_ATTRIBUTE_NORMALDTR_CONTROL_ENABLEr    
MS_RLSD_ONGetOverlappedResultSETXONPURGE_TXABORT	PurgeCommr/   EV_RING
ONESTOPBITSETXOFFPURGE_RXABORTGetCommStateRTS_CONTROL_ENABLEr!   CreateEventr"   r   EV_DSREV_PERR	EV_RXFLAGOPEN_EXISTINGDCBFILE_FLAG_OVERLAPPEDEV_CTS	SetupCommLPOVERLAPPED
EV_TXEMPTYClearCommBreakLPSECURITY_ATTRIBUTESSetCommBreakSetCommTimeoutsCOMMTIMEOUTS	ODDPARITYEV_RLSDGetCommModemStatus	EV_EVENT2PURGE_TXCLEAREV_BREAK
EVENPARITYLPCVOIDCOMSTATReadFilePVOIDr   	WriteFileGetCommTimeouts
ResetEvent	EV_RXCHAR	LPCOMSTATClearCommErrorERROR_IO_PENDINGEscapeCommFunctionGENERIC_READRTS_CONTROL_HANDSHAKE
OVERLAPPEDDTR_CONTROL_HANDSHAKEPURGE_RXCLEARGENERIC_WRITELPDCBCreateEventWSetCommMask	EV_EVENT1SetCommStateLPVOIDCreateFileWLPDWORDEV_RX80FULLTWOSTOPBITSLPCOMMTIMEOUTSMAXDWORD	MS_DSR_ON
MS_RING_ONr0   EV_ERR	ULONG_PTR
CreateFileNOPARITYCloseHandleN)
__future__r   ctypesr   r   r   r   r   r   r	   r
   r   ctypes.wintypesr   r   r   r   r   r   _stdcall_librariesvalueINVALID_HANDLE_VALUEr   r   r   r   r   AttributeErrorr   CreateEventArestypeargtypesrw   CreateFileAr   r   r   r   r    r   r!   r|   r"   r   rh   r   r   rm   r   r   r   r   r   r   r   r   r   r   r   r   r   ru   r   r   rp   r   r   r   r   WaitForSingleObjectWaitCommEvent
CancelIoExrr   r   ONE5STOPBITSr   r   r   
MARKPARITYSPACEPARITYr   RTS_CONTROL_DISABLErv   RTS_CONTROL_TOGGLESETRTSCLRRTSr   DTR_CONTROL_DISABLErk   SETDTRCLRDTRr   rq   ry   r   rs   r   r   r   r}   rx   r   r   ERROR_SUCCESSERROR_NOT_ENOUGH_MEMORYERROR_OPERATION_ABORTEDERROR_IO_INCOMPLETEr   ERROR_INVALID_USER_BUFFERri   r   r   rt   rj   ro   rn   r{   r   r   rz   rl   r   r   r~   r   r   INFINITE	CE_RXOVER
CE_OVERRUNCE_RXPARITYCE_FRAMECE_BREAKr/   r0   _fields_r   _anonymous___all__r   r   r   r   <module>   s  ,


































