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)BYTEZ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   r/   	  r   r/   ZOffsetZ
OffsetHighZ_0ZPointerZInternalZInternalHighZhEventZnLengthZlpSecurityDescriptorZbInheritHandleZfCtsHoldZfDsrHoldZ	fRlsdHoldZ	fXoffHoldZ	fXoffSentZfEofZfTximZ	fReserved   ZcbInQueZcbOutQueZ	DCBlengthZBaudRateZfBinaryZfParityZfOutxCtsFlowZfOutxDsrFlowZfDtrControlZfDsrSensitivityZfTXContinueOnXoffZfOutXZfInXZ
fErrorCharZfNullZfRtsControlZfAbortOnErrorZfDummy2   Z	wReservedZXonLimZXoffLimZByteSizeZParityZStopBitsZXonCharZXoffCharZ	ErrorCharZEofCharZEvtCharZ
wReserved1ZReadIntervalTimeoutZReadTotalTimeoutMultiplierZReadTotalTimeoutConstantZWriteTotalTimeoutMultiplierZ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_ONr/   EV_ERR	ULONG_PTR
CreateFileNOPARITYCloseHandleN)Z
__future__r   Zctypesr   r   r   r   r   r   r	   r
   r   Zctypes.wintypesr   r   r   r   r   r   Z_stdcall_librariesvalueZINVALID_HANDLE_VALUEr   ry   r   rM   rk   AttributeErrorr   ZCreateEventAZrestypeargtypesrA   ZCreateFileArz   rp   r   rf   r   rY   r    rF   r!   rP   r2   rJ   rq   r7   r^   rX   r\   ro   rZ   r|   rL   r`   ra   rI   rc   rS   rj   r?   rt   r]   r:   rN   rl   rn   rO   ZWaitForSingleObjectZWaitCommEventZ
CancelIoExr<   rs   ZONE5STOPBITSr{   rQ   rW   Z
MARKPARITYZSPACEPARITYre   ZRTS_CONTROL_DISABLEr@   ZRTS_CONTROL_TOGGLEZSETRTSZCLRRTSrg   ZDTR_CONTROL_DISABLEr5   ZSETDTRZCLRDTRrv   r;   rC   rx   r=   r_   ri   rU   rG   rB   ru   rR   ZERROR_SUCCESSZERROR_NOT_ENOUGH_MEMORYZERROR_OPERATION_ABORTEDZERROR_IO_INCOMPLETErb   ZERROR_INVALID_USER_BUFFERr3   rm   rr   r>   r4   r9   r8   rE   rw   rK   rD   r6   rd   rT   rH   rV   rh   ZINFINITEZ	CE_RXOVERZ
CE_OVERRUNZCE_RXPARITYZCE_FRAMEZCE_BREAKr.   r/   Z_fields_r[   Z_anonymous___all__r   r   r   r   <module>   s  ,


































