source: trunk/src/kernel32/overlappedio.h@ 7549

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

preliminary changes for new overlapped io framework

File size: 1.6 KB
Line 
1/* $Id: overlappedio.h,v 1.1 2001-12-05 14:16:38 sandervl Exp $ */
2
3/*
4 * Win32 overlapped IO class
5 *
6 * Copyright 2001 Sander van Leeuwen <sandervl@xs4all.nl>
7 *
8 * Project Odin Software License can be found in LICENSE.TXT
9 *
10 */
11
12#ifndef __OVERLAPPEDIO_H__
13#define __OVERLAPPEDIO_H__
14
15
16class OverlappedIOHandler
17{
18public:
19 OverlappedIOHandler(
20
21 BOOL WriteFile(HANDLE hOS2Handle,
22 LPCVOID lpBuffer,
23 DWORD nNumberOfBytesToWrite,
24 LPDWORD lpNumberOfBytesWritten,
25 LPOVERLAPPED lpOverlapped,
26 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
27
28 BOOL ReadFile(HANDLE hOS2Handle,
29 LPCVOID lpBuffer,
30 DWORD nNumberOfBytesToRead,
31 LPDWORD lpNumberOfBytesRead,
32 LPOVERLAPPED lpOverlapped,
33 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
34
35 BOOL CancelIo(HANDLE hOS2Handle);
36
37 BOOL GetOverlappedResult(HANDLE hOS2Handle,
38 LPOVERLAPPED lpoOverlapped,
39 LPDWORD lpcbTransfer,
40 DWORD dwTimeout)
41
42protected:
43
44private:
45
46 HANDLE hThreadEvent;
47 HANDLE hThreadRead;
48 HANDLE hThreadWrite;
49 HANDLE hEventExit;
50 HANDLE hEventPoll;
51 HANDLE hEventRead;
52 HANDLE hEventWrite;
53
54 //linked list of pending operations
55 LPOVERLAPPED pending;
56
57};
58
59
60#endif // __OVERLAPPEDIO_H__
Note: See TracBrowser for help on using the repository browser.