Changeset 7457 for trunk/src/kernel32/hmcomm.h
- Timestamp:
- Nov 26, 2001, 3:54:03 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/hmcomm.h
r5587 r7457 1 /* $Id: hmcomm.h,v 1. 8 2001-04-26 13:22:44sandervl Exp $ */1 /* $Id: hmcomm.h,v 1.9 2001-11-26 14:54:00 sandervl Exp $ */ 2 2 3 3 /* … … 12 12 #ifndef _HM_COMM_H_ 13 13 #define _HM_COMM_H_ 14 15 #define MAGIC_COM 0x12abcd34 16 14 17 typedef struct 15 18 { … … 18 21 }BAUDTABLEENTRY; 19 22 23 #define IOCTL_ASYNC 0x01 24 #define ASYNC_GETDCBINFO 0x73 25 #define ASYNC_SETDCBINFO 0x53 26 #define ASYNC_SETLINECTRL 0x42 27 #define ASYNC_GETCOMMEVENT 0x72 28 #define ASYNC_EXTGETBAUDRATE 0x63 29 #define ASYNC_EXTSETBAUDRATE 0x43 30 #define ASYNC_GETCOMMERROR 0x6D 31 #define ASYNC_GETCOMMSTATUS 0x65 32 #define ASYNC_GETINQUECOUNT 0x68 33 #define ASYNC_GETOUTQUECOUNT 0x69 34 #define ASYNC_GETMODEMINPUT 0x67 35 #define ASYNC_TRANSMITIMM 0x44 36 #define ASYNC_SETBREAKON 0x4B 37 #define ASYNC_SETBREAKOFF 0x45 38 #define ASYNC_SETMODEMCTRL 0x46 39 #define ASYNC_STARTTRANSMIT 0x48 40 #define ASYNC_STOPTRANSMIT 0x47 41 #define ASYNC_GETMODEMOUTPUT 0x66 42 43 44 #pragma pack(1) 45 typedef struct _DCBINFO 46 { 47 USHORT usWriteTimeout; /* Time period used for Write Timeout processing. */ 48 USHORT usReadTimeout; /* Time period used for Read Timeout processing. */ 49 BYTE fbCtlHndShake; /* HandShake Control flag. */ 50 BYTE fbFlowReplace; /* Flow Control flag. */ 51 BYTE fbTimeOut; /* Timeout flag. */ 52 BYTE bErrorReplacementChar; /* Error Replacement Character. */ 53 BYTE bBreakReplacementChar; /* Break Replacement Character. */ 54 BYTE bXONChar; /* Character XON. */ 55 BYTE bXOFFChar; /* Character XOFF. */ 56 } DCBINFO; 57 typedef DCBINFO *PDCBINFO; 58 59 60 typedef struct _RXQUEUE 61 { 62 USHORT cch; /* Number of characters in the queue. */ 63 USHORT cb; /* Size of receive/transmit queue. */ 64 } RXQUEUE; 65 66 typedef RXQUEUE *PRXQUEUE; 67 68 69 typedef struct _MODEMSTATUS 70 { 71 BYTE fbModemOn; /* Modem Control Signals ON Mask. */ 72 BYTE fbModemOff; /* Modem Control Signals OFF Mask. */ 73 } MODEMSTATUS; 74 75 typedef MODEMSTATUS *PMODEMSTATUS; 76 77 78 #pragma pack() 79 80 typedef struct _HMDEVCOMDATA 81 { 82 ULONG ulMagic; 83 // Win32 Device Control Block 84 COMMCONFIG CommCfg; 85 COMMTIMEOUTS CommTOuts; 86 DWORD dwInBuffer, dwOutBuffer; 87 DWORD dwEventMask; 88 //overlapped IO info 89 HANDLE hThread; 90 HANDLE hEventSem; 91 OVERLAPPED overlapped; 92 DWORD dwLastError; 93 BOOL fClosing; 94 BOOL fCancelIo; 95 //OS/2 Device Control Block 96 DCBINFO dcbOS2; 97 } HMDEVCOMDATA, *PHMDEVCOMDATA; 98 99 #pragma pack(1) 100 typedef struct 101 { 102 ULONG ulCurrBaud; 103 UCHAR ucCurrFrac; 104 ULONG ulMinBaud; 105 UCHAR ucMinFrac; 106 ULONG ulMaxBaud; 107 UCHAR ucMaxFrac; 108 } EXTBAUDGET, *PEXTBAUDGET; 109 110 typedef struct 111 { 112 ULONG ulBaud; 113 UCHAR ucFrac; 114 } EXTBAUDSET, *PEXTBAUDSET; 115 #pragma pack() 116 20 117 class HMDeviceCommClass : public HMDeviceHandler 21 118 { … … 28 125 29 126 /* this is the handler method for calls to CreateFile() */ 30 virtual DWORD CreateFile (LPCSTR lpFileName, 127 virtual DWORD CreateFile (HANDLE hHandle, 128 LPCSTR lpFileName, 31 129 PHMHANDLEDATA pHMHandleData, 32 130 PVOID lpSecurityAttributes, … … 112 210 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); 113 211 212 virtual BOOL CancelIo (PHMHANDLEDATA pHMHandleData); 213 214 /* this is a handler method for calls to GetOverlappedResult */ 215 virtual BOOL GetOverlappedResult(PHMHANDLEDATA pHMHandleData, 216 LPOVERLAPPED arg2, 217 LPDWORD arg3, 218 BOOL arg4); 219 114 220 private: 115 221 APIRET SetLine( PHMHANDLEDATA pHMHandleData,
Note:
See TracChangeset
for help on using the changeset viewer.