From: Martin H. <mh...@us...> - 2005-03-21 01:41:07
|
Update of /cvsroot/opengtoolkit/serial/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7132/c_source Modified Files: lvserial.h Log Message: Added and changed some comments Index: lvserial.h =================================================================== RCS file: /cvsroot/opengtoolkit/serial/c_source/lvserial.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** lvserial.h 18 Mar 2005 23:13:49 -0000 1.2 --- lvserial.h 21 Mar 2005 01:40:55 -0000 1.3 *************** *** 34,60 **** typedef struct { ! HANDLE hC; ! char *pszPort; ! long lTeminationMode; ! char *pcTermination; ! long lNumberOfTermChar; ! pcre *RegEx; ! pcre_extra *RegExExtra; ! long lWriteMode; ! char *pcStartOfTransmission; ! long lNumberOfStartChars; ! char *pcEndOfTransmission; ! long lNumberOfEndChars; ! unsigned long ulReadIntervalTimeout; ! unsigned long ulReadTotalTimeoutMultiplier; ! unsigned long ulReadTotalTimeoutConstant; ! unsigned long ulWriteTotalTimeoutMultiplier; ! unsigned long ulWriteTotalTimeoutConstant; ! unsigned long ulNOpened; ! HANDLE hLock; ! HANDLE hInternalLock; ! unsigned long ulUserData; ! HANDLE hEvRead; ! HANDLE hEvWrite; } COMM, *PCOMM; --- 34,60 ---- typedef struct { ! HANDLE hC; //the OS handle of the opened serial port ! char *pszPort; //serial port name ! long lTeminationMode; //read termination mode ! char *pcTermination; //read termination characters ! long lNumberOfTermChar; //number of characters in pcTermination ! pcre *RegEx; //compiled regex (for termination mode COMM_TERM_REGEX) ! pcre_extra *RegExExtra; //regex extra data (for termination mode COMM_TERM_REGEX) ! long lWriteMode; //write mode ! char *pcStartOfTransmission; //start of transmission characters ! long lNumberOfStartChars; //number of characters in pcStartOfTransmission ! char *pcEndOfTransmission; //end of transmission characters ! long lNumberOfEndChars; //number of characters in pcEndOfTransmission ! unsigned long ulReadIntervalTimeout; //read interval timeout ! unsigned long ulReadTotalTimeoutMultiplier; //read total timeout multiplier ! unsigned long ulReadTotalTimeoutConstant; //read total timeout constant ! unsigned long ulWriteTotalTimeoutMultiplier;//write total timeout multiplier ! unsigned long ulWriteTotalTimeoutConstant; //write total timeout constant ! unsigned long ulNOpened; //number of CommOpenPort calls for this port ! HANDLE hLock; //lock handle for external use ! HANDLE hInternalLock; //lock handle for internal use ! unsigned long ulUserData; //user specified data ! HANDLE hEvRead; //read event handle ! HANDLE hEvWrite; //write event handle } COMM, *PCOMM; *************** *** 74,77 **** --- 74,78 ---- #endif //LVSERIAL_CONST_ONLY + //serial port parity configuration #define COMM_PARITY_NONE 0 #define COMM_PARITY_ODD 1 *************** *** 80,87 **** --- 81,90 ---- #define COMM_PARITY_SPACE 4 + //serial port stop bit configuration #define COMM_ONESTOPBIT 0 #define COMM_ONE5STOPBITS 1 #define COMM_TWOSTOPBITS 2 + //option flags for the CommFlush function #define COMM_FLUSH_TXABORT 0x0001 // Kill the pending/current writes to the comm port. #define COMM_FLUSH_RXABORT 0x0002 // Kill the pending/current reads to the comm port. *************** *** 89,92 **** --- 92,96 ---- #define COMM_FLUSH_RXCLEAR 0x0008 // Kill the typeahead buffer if there. + //serial port error flags #define COMM_ERRF_RXOVER 0x0001 // Receive Queue overflow #define COMM_ERRF_OVERRUN 0x0002 // Receive Overrun Error *************** *** 101,104 **** --- 105,109 ---- #define COMM_ERRF_MODE 0x8000 // Requested mode unsupported + //serial port status flags #define COMM_STAT_CTS 0x0001 #define COMM_STAT_DSR 0x0002 *************** *** 109,112 **** --- 114,118 ---- #define COMM_STAT_TXIM 0x0040 + //serial port modem status flags #define COMM_MSTAT_CTS_ON ((DWORD)0x0010) #define COMM_MSTAT_DSR_ON ((DWORD)0x0020) *************** *** 114,117 **** --- 120,124 ---- #define COMM_MSTAT_RLSD_ON ((DWORD)0x0080) + //serial port flow control configuration #define COMM_FLOW_NONE 0 #define COMM_FLOW_XONXOFF 1 *************** *** 119,122 **** --- 126,130 ---- #define COMM_FLOW_DTRDSR 3 + //serial port advanced control flags (used for CommControl) #define COMM_CTRL_OUTXCTSFLOW 0x00000001 #define COMM_CTRL_OUTXDSRFLOW 0x00000002 *************** *** 134,137 **** --- 142,146 ---- #define COMM_CTRL_ABORTONERROR 0x00002000 + //serial port read termination modes #define COMM_TERM_NONE 0 #define COMM_TERM_CHAR 1 *************** *** 139,142 **** --- 148,152 ---- #define COMM_TERM_REGEX 3 + //serial port write mode #define COMM_WRITE_NORMAL 0 #define COMM_WRITE_STX 1 *************** *** 144,147 **** --- 154,158 ---- #define COMM_WRITE_STXETX (COMM_WRITE_STX | COMM_WRITE_ETX) + //serial port error codes #define COMM_MIN_ERROR -65100 #define COMM_MAX_ERROR -65060 *************** *** 179,182 **** --- 190,195 ---- #endif + //function prototypes + long CommOpenPort(PHANDLE phComm, char * pszPort, int fDuplicate); long CommClosePort(HANDLE hComm); |