
qV(              Z   @   s:
  d  d l  Td  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   r e Z n e Z Gd d   d e  Z e e  Z y e d j Z Wn e k
 ru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 Yn_ Xe 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 Gd d   d e  Z e Z Gd d   d e  Z  e  Z! Gd d   d e  Z" e" Z# Gd 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 j* Z* e e* _ e g e* _ e+ Z, e d j- Z- e e- _ e e, e e( e' g e- _ e+ Z. e d j/ Z/ e e/ _ e e. e e( e' g e/ _ e d j0 Z0 e e0 _ e g e0 _ e d j1 Z1 e e1 _ e g e1 _ e e   Z2 e d j3 Z3 e e3 _ e e( e2 g e3 _ e d j4 Z4 e e4 _ e e e g e4 _ e d j5 Z5 e e5 _ e e g e5 _ e d j6 Z6 e e6 _ e e( g e6 _ e e"  Z7 e d j8 Z8 e e8 _ e e7 g e8 _ e e$  Z9 e d j: Z: e e: _ e e9 g e: _ e d j; Z; e e; _ e e g e; _ e d j< Z< e e< _ e g e< _ e d j= Z= e e= _ e e g e= _ e d j> Z> e e> _ e e7 g e> _ e d j? Z? e e? _ e e9 g e? _ e d j@ Z@ e e@ _ e e g e@ _ d  ZA d ZB d	 ZC d  ZD d	 ZE d ZF d ZG d ZH d ZI d  ZJ d	 ZK d ZL d ZM d ZN d ZO d  ZP d	 ZQ d ZR d ZS d ZT d ZU d ZV d ZW d	 ZX d	 ZY d  ZZ d Z[ d  Z\ d! Z] d" Z^ d Z_ d  Z` d# Za d! Zb d$ Zc d% Zd d Ze d Zf d	 Zg d Zh d Zi d& Zj d Zk d Zl d Zm d' Zn d( Zo d) Zp d& Zq d) Zr d" Zs Gd* d+   d+ et  Zu Gd, d-   d- e  Zv d. e f d/ e f g ev _w e+ Zx d0 g eu _y d0 ev f d1 ex f g eu _w d0 g e _y d2 e f d3 e f d0 eu f d4 e f g e _w d5 e f d6 e. f d7 e f g e _w d8 e d	 f d9 e d	 f d: e d	 f d; e d	 f d< e d	 f d= e d	 f d> e d	 f d? e d@ f dA e f dB e f g
 e  _w dC e f dD e f dE e d	 f dF e d	 f dG e d	 f dH e d	 f dI e d f dJ e d	 f dK e d	 f dL e d	 f dM e d	 f dN e d	 f dO e d	 f dP e d f dQ e d	 f dR e dS f dT e f dU e f dV e f dW e f dX e f dY e f dZ ez f d[ ez f d\ ez f d] ez f d^ ez f d_ e f g e" _w d` e f da e f db e f dc e f dd e f g e$ _w de df dg dh d di dj dk dl dm d+ dn do dp dq dr ds d dt d d du dv dw dx dy dz d{ d| d} d~ d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d- d d d d d gR Z{ d S)    )*)HANDLE)BOOL)LPCWSTR)DWORD)WORD)BYTEZkernel32   c               C   s   t  t  t  t  k S)z,Returns true when running on a 64 bit system)Zsizeofc_ulongc_void_p r   r   ./usr/lib/python3/dist-packages/serial/win32.pyis_64bit   s    r   c               @   s   e  Z d  Z d S)_SECURITY_ATTRIBUTESN)__name__
__module____qualname__r   r   r   r   r   '   s   r   )LPCSTRc               @   s   e  Z d  Z d S)_OVERLAPPEDN)r   r   r   r   r   r   r   r   E   s   r   c               @   s   e  Z d  Z d S)_COMSTATN)r   r   r   r   r   r   r   r   K   s   r   c               @   s   e  Z d  Z d S)_DCBN)r   r   r   r   r   r   r   r   Q   s   r   c               @   s   e  Z d  Z d S)_COMMTIMEOUTSN)r   r   r   r   r   r   r   r   W   s   r                         i      i   @   l    i  i   i   @   l        i      c               @   s   e  Z d  Z d S)N11_OVERLAPPED4DOLLAR_48EN)r   r   r   r   r   r   r   r#      s   r#   c               @   s   e  Z d  Z d S)#N11_OVERLAPPED4DOLLAR_484DOLLAR_49EN)r   r   r   r   r   r   r   r$      s   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GetLastError	MS_CTS_ONFILE_ATTRIBUTE_NORMALDTR_CONTROL_ENABLE
MS_RLSD_ONGetOverlappedResultSETXONPURGE_TXABORT	PurgeCommEV_RING
ONESTOPBITSETXOFFPURGE_RXABORTGetCommStateRTS_CONTROL_ENABLECreateEvent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PVOID	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_ONEV_ERR	ULONG_PTR
CreateFileNOPARITYCloseHandleN)|ZctypesZctypes.wintypesr   r   r   r   r   r   Z_stdcall_librariesZWinDLLvalueZINVALID_HANDLE_VALUEr   Zc_int64rn   r
   Z	Structurer   ZPOINTERrB   r`   AttributeErrorr   ZCreateEventAZrestypeZargtypesr6   ZCreateFileAro   re   r   r[   r   rN   r   r;   r   rE   r'   r?   rf   r,   rS   r   rM   rQ   rd   rO   rq   rA   rU   rV   r>   rX   rH   r_   r4   ri   rR   r/   rC   ra   rc   rD   ZWaitForSingleObjectr1   rh   ZONE5STOPBITSrp   rF   rL   Z
MARKPARITYZSPACEPARITYrZ   ZRTS_CONTROL_DISABLEr5   ZRTS_CONTROL_TOGGLEZSETRTSZCLRRTSr\   ZDTR_CONTROL_DISABLEr*   ZSETDTRZCLRDTRrk   r0   r8   rm   r2   rT   r^   rJ   r<   r7   rj   rG   ZERROR_SUCCESSrW   r(   rb   rg   r3   r)   r.   r-   r:   rl   r@   r9   r+   rY   rI   r=   rK   r]   ZINFINITEZUnionr#   r$   Z_fields_rP   Z_anonymous_Zc_char__all__r   r   r   r   <module>
   s  
																																																																