source: trunk/src/kernel32/hmparport.h@ 7502

Last change on this file since 7502 was 7457, checked in by sandervl, 24 years ago

preliminary work on overlapped serial comm IO

File size: 3.9 KB
Line 
1/* $Id: hmparport.h,v 1.4 2001-11-26 14:54:03 sandervl Exp $ */
2
3/*
4 * Project Odin Software License can be found in LICENSE.TXT
5 *
6 * Win32 Parallel Port device access class
7 *
8 * 2001 Patrick Haller <patrick.haller@innotek.de>
9 *
10 */
11
12#ifndef _HM_PARPORT_H_
13#define _HM_PARPORT_H_
14
15class HMDeviceParPortClass : public HMDeviceHandler
16{
17 public:
18
19 HMDeviceParPortClass(LPCSTR lpDeviceName);
20
21 //checks if device name belongs to this class
22 virtual BOOL FindDevice(LPCSTR lpClassDevName, LPCSTR lpDeviceName, int namelength);
23
24 /* this is the handler method for calls to CreateFile() */
25 virtual DWORD CreateFile (HANDLE hHandle,
26 LPCSTR lpFileName,
27 PHMHANDLEDATA pHMHandleData,
28 PVOID lpSecurityAttributes,
29 PHMHANDLEDATA pHMHandleDataTemplate);
30
31 /* this is the handler method for calls to CloseHandle() */
32 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);
33
34 virtual BOOL GetCommProperties( PHMHANDLEDATA pHMHandleData,
35 LPCOMMPROP lpcmmp);
36
37 virtual BOOL ClearCommError( PHMHANDLEDATA pHMHandleData,
38 LPDWORD lpdwErrors,
39 LPCOMSTAT lpcst);
40
41 virtual BOOL SetCommConfig( PHMHANDLEDATA pHMHandleData,
42 LPCOMMCONFIG lpCC,
43 DWORD dwSize );
44
45 virtual BOOL GetCommConfig( PHMHANDLEDATA pHMHandleData,
46 LPCOMMCONFIG lpCC,
47 LPDWORD lpdwSize );
48
49 virtual BOOL SetDefaultCommConfig( PHMHANDLEDATA pHMHandleData,
50 LPCOMMCONFIG lpCC,
51 DWORD dwSize);
52
53 virtual BOOL GetDefaultCommConfig( PHMHANDLEDATA pHMHandleData,
54 LPCOMMCONFIG lpCC,
55 LPDWORD lpdwSize);
56
57 /* this is a handler method for calls to DeviceIoControl() */
58 virtual BOOL DeviceIoControl (PHMHANDLEDATA pHMHandleData, DWORD dwIoControlCode,
59 LPVOID lpInBuffer, DWORD nInBufferSize,
60 LPVOID lpOutBuffer, DWORD nOutBufferSize,
61 LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
62
63
64 /* this is a handler method for calls to ReadFile() */
65 virtual BOOL ReadFile (PHMHANDLEDATA pHMHandleData,
66 LPCVOID lpBuffer,
67 DWORD nNumberOfBytesToRead,
68 LPDWORD lpNumberOfBytesRead,
69 LPOVERLAPPED lpOverlapped);
70
71 /* this is a handler method for calls to ReadFileEx() */
72 virtual BOOL ReadFileEx(PHMHANDLEDATA pHMHandleData,
73 LPVOID lpBuffer,
74 DWORD nNumberOfBytesToRead,
75 LPOVERLAPPED lpOverlapped,
76 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
77
78 /* this is a handler method for calls to WriteFile() */
79 virtual BOOL WriteFile (PHMHANDLEDATA pHMHandleData,
80 LPCVOID lpBuffer,
81 DWORD nNumberOfBytesToWrite,
82 LPDWORD lpNumberOfBytesWritten,
83 LPOVERLAPPED lpOverlapped);
84
85 /* this is a handler method for calls to WriteFileEx() */
86 virtual BOOL WriteFileEx(PHMHANDLEDATA pHMHandleData,
87 LPVOID lpBuffer,
88 DWORD nNumberOfBytesToWrite,
89 LPOVERLAPPED lpOverlapped,
90 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
91
92 private:
93};
94
95
96#endif // _HM_PARPORT_H_
Note: See TracBrowser for help on using the repository browser.