source: trunk/src/kernel32/hmcomm.h@ 4310

Last change on this file since 4310 was 4285, checked in by hugh, 25 years ago

Implemented Serial APIs

File size: 3.9 KB
Line 
1/* $Id: hmcomm.h,v 1.5 2000-09-20 21:32:54 hugh Exp $ */
2
3/*
4 * Project Odin Software License can be found in LICENSE.TXT
5 *
6 * Win32 COM device access class
7 *
8 * 1999 Achim Hasenmueller <achimha@innotek.de>
9 *
10 */
11
12#ifndef _HM_COMM_H_
13#define _HM_COMM_H_
14typedef struct
15{
16 DWORD dwBaudRate;
17 DWORD dwBaudFlag;
18}BAUDTABLEENTRY;
19
20class HMDeviceCommClass : public HMDeviceHandler
21{
22 public:
23
24 HMDeviceCommClass(LPCSTR lpDeviceName);
25
26 /* this is the handler method for calls to CreateFile() */
27 virtual DWORD CreateFile (LPCSTR lpFileName,
28 PHMHANDLEDATA pHMHandleData,
29 PVOID lpSecurityAttributes,
30 PHMHANDLEDATA pHMHandleDataTemplate);
31
32 /* this is the handler method for calls to CloseHandle() */
33 virtual DWORD CloseHandle(PHMHANDLEDATA pHMHandleData);
34
35 /* this is the handler method for SetComm() */
36 virtual BOOL WaitCommEvent( PHMHANDLEDATA pHMHandleData,
37 LPDWORD lpfdwEvtMask,
38 LPOVERLAPPED lpo);
39
40 virtual BOOL GetCommProperties( PHMHANDLEDATA pHMHandleData,
41 LPCOMMPROP lpcmmp);
42 virtual BOOL GetCommMask( PHMHANDLEDATA pHMHandleData,
43 LPDWORD lpfdwEvtMask);
44 virtual BOOL SetCommMask( PHMHANDLEDATA pHMHandleData,
45 DWORD fdwEvtMask);
46 virtual BOOL PurgeComm( PHMHANDLEDATA pHMHandleData,
47 DWORD fdwAction);
48 virtual BOOL ClearCommError( PHMHANDLEDATA pHMHandleData,
49 LPDWORD lpdwErrors,
50 LPCOMSTAT lpcst);
51 virtual BOOL SetCommState( PHMHANDLEDATA pHMHandleData,
52 LPDCB lpdcb) ;
53 virtual BOOL GetCommState( PHMHANDLEDATA pHMHandleData,
54 LPDCB lpdcb);
55 virtual BOOL GetCommModemStatus( PHMHANDLEDATA pHMHandleData,
56 LPDWORD lpModemStat );
57 virtual BOOL GetCommTimeouts( PHMHANDLEDATA pHMHandleData,
58 LPCOMMTIMEOUTS lpctmo);
59 virtual BOOL SetCommTimeouts( PHMHANDLEDATA pHMHandleData,
60 LPCOMMTIMEOUTS lpctmo);
61 virtual BOOL TransmitCommChar( PHMHANDLEDATA pHMHandleData,
62 CHAR cChar );
63 virtual BOOL SetCommConfig( PHMHANDLEDATA pHMHandleData,
64 LPCOMMCONFIG lpCC,
65 DWORD dwSize );
66 virtual BOOL SetCommBreak( PHMHANDLEDATA pHMHandleData );
67 virtual BOOL GetCommConfig( PHMHANDLEDATA pHMHandleData,
68 LPCOMMCONFIG lpCC,
69 LPDWORD lpdwSize );
70 virtual BOOL EscapeCommFunction( PHMHANDLEDATA pHMHandleData,
71 UINT dwFunc );
72 virtual BOOL SetupComm( PHMHANDLEDATA pHMHandleData,
73 DWORD dwInQueue,
74 DWORD dwOutQueue);
75 virtual BOOL ClearCommBreak( PHMHANDLEDATA pHMHandleData);
76 virtual BOOL SetDefaultCommConfig( PHMHANDLEDATA pHMHandleData,
77 LPCOMMCONFIG lpCC,
78 DWORD dwSize);
79 virtual BOOL GetDefaultCommConfig( PHMHANDLEDATA pHMHandleData,
80 LPCOMMCONFIG lpCC,
81 LPDWORD lpdwSize);
82 private:
83 APIRET SetLine( PHMHANDLEDATA pHMHandleData,
84 UCHAR ucSize,UCHAR Parity, UCHAR Stop);
85 APIRET SetOS2DCB( PHMHANDLEDATA pHMHandleData,
86 BOOL fOutxCtsFlow, BOOL fOutxDsrFlow,
87 UCHAR ucDtrControl, BOOL fDsrSensitivity,
88 BOOL fTXContinueOnXoff, BOOL fOutX,
89 BOOL fInX, BOOL fErrorChar,
90 BOOL fNull, UCHAR ucRtsControl,
91 BOOL fAbortOnError, BYTE XonChar,
92 BYTE XoffChar,BYTE ErrorChar);
93 APIRET SetBaud( PHMHANDLEDATA pHMHandleData,
94 DWORD dwNewBaud);
95};
96
97
98#endif // _HM_COMM_H_
Note: See TracBrowser for help on using the repository browser.