; #INDEX# ======================================================================================================================= ; Name ..........: CommAPIConstants.au3 ; Title .........: Communications structures and constants of Windows API ; Description ...: Communications structures of Windows API have been translated to AutoIt structures. ; Version Date ..: 2014-03-31 ; AutoIt Version : 3.3.8.1 ; Link ..........: http://msdn.microsoft.com/en-us/library/aa363199(v=vs.85).aspx ; Tag(s) ........: RS-232, serial port, COM port ; Author(s) .....: ; Dll(s) ........: kernel32.dll ; =============================================================================================================================== #include-once #include #NoAutoIt3Execute #AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7 Global Const $tagCOMMPROP = _ "WORD wPacketLength;" & _ "WORD wPacketVersion;" & _ "DWORD dwServiceMask;" & _ "DWORD dwReserved1;" & _ "DWORD dwMaxTxQueue;" & _ "DWORD dwMaxRxQueue;" & _ "DWORD dwMaxBaud;" & _ "DWORD dwProvSubType;" & _ "DWORD dwProvCapabilities;" & _ "DWORD dwSettableParams;" & _ "DWORD dwSettableBaud;" & _ "WORD wSettableData;" & _ "WORD wSettableStopParity;" & _ "DWORD dwCurrentTxQueue;" & _ "DWORD dwCurrentRxQueue;" & _ "DWORD dwProvSpec1;" & _ "DWORD dwProvSpec2;" & _ "WCHAR wcProvChar[1];" Global Const $tagCOMMTIMEOUTS = _ "DWORD ReadIntervalTimeout;" & _ "DWORD ReadTotalTimeoutMultiplier;" & _ "DWORD ReadTotalTimeoutConstant;" & _ "DWORD WriteTotalTimeoutMultiplier;" & _ "DWORD WriteTotalTimeoutConstant;" #cs http://msdn.microsoft.com/en-us/library/aa363200(v=vs.85).aspx The eight actual COMSTAT bit-sized data fields within the four bytes of fBitFields can be manipulated by bitwise logical And/Or operations. FieldName Bits Description ----------------- ----- --------------------------- fCtsHold 1 Tx waiting for CTS signal fDsrHold 2 Tx waiting for DSR signal fRlsdHold 3 Tx waiting for RLSD signal fXoffHold 4 Tx waiting, XOFF char rec'd fXoffSent 5 Tx waiting, XOFF char sent fEof 6 EOF character sent fTxim 7 character waiting for Tx fReserved 8-32 reserved (25 bits) #ce Global Const $tagCOMSTAT = _ "DWORD fBitFields;" & _ ; see comment above "DWORD cbInQue;" & _ "DWORD cbOutQue;" #cs http://msdn.microsoft.com/en-us/library/aa363214(v=vs.85).aspx The fourteen actual DCB bit-sized data fields within the four bytes of fBitFields can be manipulated by bitwise logical And/Or operations. FieldName Bits Description ----------------- ----- --------------------------- fBinary 1 binary mode, no EOF check fParity 2 enable parity checking fOutxCtsFlow 3 CTS output flow control fOutxDsrFlow 4 DSR output flow control fDtrControl 5-6 DTR flow control type fDsrSensitivity 7 DSR sensitivity fTXContinueOnXoff 8 XOFF continues Tx fOutX 9 XON/XOFF out flow control fInX 10 XON/XOFF in flow control fErrorCHAR 11 enable error replacement fNull 12 enable null stripping fRtsControl 13-14 RTS flow control fAbortOnError 15 abort reads/writes on error fDummy2 16-32 reserved (17 bits) #ce Global Const $tagDCB = _ "DWORD DCBlength;" & _ "DWORD BaudRate;" & _ "DWORD fBitFields;" & _ ; see comment above "WORD wReserved;" & _ "WORD XonLim;" & _ "WORD XoffLim;" & _ "BYTE ByteSize;" & _ "BYTE Parity;" & _ "BYTE StopBits;" & _ "CHAR XonChar;" & _ "CHAR XoffChar;" & _ "CHAR ErrorChar;" & _ "CHAR EofChar;" & _ "CHAR EvtChar;" & _ "WORD wReserved1;" Global Const $tagMODEMDEVCAPS = _ "DWORD dwActualSize;" & _ "DWORD dwRequiredSize;" & _ "DWORD dwDevSpecificOffset;" & _ "DWORD dwDevSpecificSize;" & _ "DWORD dwModemProviderVersion;" & _ "DWORD dwModemManufacturerOffset;" & _ "DWORD dwModemManufacturerSize;" & _ "DWORD dwModemModelOffset;" & _ "DWORD dwModemModelSize;" & _ "DWORD dwModemVersionOffset;" & _ "DWORD dwModemVersionSize;" & _ "DWORD dwDialOptions;" & _ "DWORD dwCallSetupFailTimer;" & _ "DWORD dwInactivityTimeout;" & _ "DWORD dwSpeakerVolume;" & _ "DWORD dwSpeakerMode;" & _ "DWORD dwModemOptions;" & _ "DWORD dwMaxDTERate;" & _ "DWORD dwMaxDCERate;" & _ "BYTE abVariablePortion[1];" Global Const $tagMODEMSETTINGS = _ "DWORD dwActualSize;" & _ "DWORD dwRequiredSize;" & _ "DWORD dwDevSpecificOffset;" & _ "DWORD dwDevSpecificSize;" & _ "DWORD dwCallSetupFailTimer;" & _ "DWORD dwInactivityTimeout;" & _ "DWORD dwSpeakerVolume;" & _ "DWORD dwSpeakerMode;" & _ "DWORD dwPreferredModemOptions;" & _ "DWORD dwNegotiatedModemOptions;" & _ "DWORD dwNegotiatedDCERate;" & _ "BYTE abVariablePortion[1];" Global Const $SETXOFF = 1 Global Const $SETXON = 2 Global Const $SETRTS = 3 Global Const $CLRRTS = 4 Global Const $SETDTR = 5 Global Const $CLRDTR = 6 Global Const $SETBREAK = 8 Global Const $CLRBREAK = 9 Global Const $CE_RXOVER = 0x0001 Global Const $CE_OVERRUN = 0x0002 Global Const $CE_RXPARITY = 0x0004 Global Const $CE_FRAME = 0x0008 Global Const $CE_BREAK = 0x0010 Global Const $EV_RXCHAR = 0x0001 Global Const $EV_RXFLAG = 0x0002 Global Const $EV_TXEMPTY = 0x0004 Global Const $EV_CTS = 0x0008 Global Const $EV_DSR = 0x0010 Global Const $EV_RLSD = 0x0020 Global Const $EV_BREAK = 0x0040 Global Const $EV_ERR = 0x0080 Global Const $EV_RING = 0x0100 Global Const $EV_PERR = 0x0200 Global Const $EV_RX80FULL = 0x0400 Global Const $EV_EVENT1 = 0x0800 Global Const $EV_EVENT2 = 0x1000 Global Const $MS_CTS_ON = 0x0010 Global Const $MS_DSR_ON = 0x0020 Global Const $MS_RING_ON = 0x0040 Global Const $MS_RLSD_ON = 0x0080 Global Const $PURGE_TXABORT = 0x0001 Global Const $PURGE_RXABORT = 0x0002 Global Const $PURGE_TXCLEAR = 0x0004 Global Const $PURGE_RXCLEAR = 0x0008 Global Const $PURGE_ALL = 0x000F