source: trunk/src/kernel32/hmnpipe.h@ 7788

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

preliminary changes for new overlapped io framework

File size: 3.6 KB
Line 
1/* $Id: hmnpipe.h,v 1.5 2001-12-05 14:16:02 sandervl Exp $ */
2/*
3 * Project Odin Software License can be found in LICENSE.TXT
4 *
5 * Win32 Named Pipes device access class
6 *
7 * Copyright 2000 Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
8 *
9 */
10
11#ifndef _HM_NPIPE_H_
12#define _HM_NPIPE_H_
13
14class HMDeviceNamedPipeClass : public HMDeviceFileClass
15{
16 public:
17 HMDeviceNamedPipeClass(LPCSTR lpDeviceName);
18
19 virtual BOOL FindDevice(LPCSTR lpClassDevName, LPCSTR lpDeviceName, int namelength) ;
20
21 virtual BOOL PeekNamedPipe(PHMHANDLEDATA pHMHandleData,
22 LPVOID lpvBuffer,
23 DWORD cbBuffer,
24 LPDWORD lpcbRead,
25 LPDWORD lpcbAvail,
26 LPDWORD lpcbMessage);
27
28 virtual DWORD CreateNamedPipe(PHMHANDLEDATA pHMHandleData, LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode,
29 DWORD nMaxInstances, DWORD nOutBufferSize,
30 DWORD nInBufferSize, DWORD nDefaultTimeOut,
31 LPSECURITY_ATTRIBUTES lpSecurityAttributes);
32
33 /* this is a handler method for calls to CreateFile() */
34 virtual DWORD CreateFile (LPCSTR lpFileName,
35 PHMHANDLEDATA pHMHandleData,
36 PVOID lpSecurityAttributes,
37 PHMHANDLEDATA pHMHandleDataTemplate);
38
39 /* this is a handler method for calls to GetFileType() */
40 virtual DWORD GetFileType (PHMHANDLEDATA pHMHandleData);
41
42 /* this is a handler method for calls to CloseHandle() */
43 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);
44
45 virtual BOOL ConnectNamedPipe(PHMHANDLEDATA pHMHandleData, LPOVERLAPPED lpOverlapped);
46
47 virtual BOOL DisconnectNamedPipe(PHMHANDLEDATA pHMHandleData);
48
49 virtual BOOL GetNamedPipeHandleState(PHMHANDLEDATA pHMHandleData,
50 LPDWORD lpState,
51 LPDWORD lpCurInstances,
52 LPDWORD lpMaxCollectionCount,
53 LPDWORD lpCollectDataTimeout,
54 LPTSTR lpUserName,
55 DWORD nMaxUserNameSize);
56
57 virtual BOOL GetNamedPipeInfo(PHMHANDLEDATA pHMHandleData,
58 LPDWORD lpFlags,
59 LPDWORD lpOutBufferSize,
60 LPDWORD lpInBufferSize,
61 LPDWORD lpMaxInstances);
62
63
64 virtual DWORD TransactNamedPipe(PHMHANDLEDATA pHMHandleData,
65 LPVOID lpvWriteBuf,
66 DWORD cbWriteBuf,
67 LPVOID lpvReadBuf,
68 DWORD cbReadBuf,
69 LPDWORD lpcbRead,
70 LPOVERLAPPED lpo);
71
72 virtual BOOL SetNamedPipeHandleState(PHMHANDLEDATA pHMHandleData,
73 LPDWORD lpdwMode,
74 LPDWORD lpcbMaxCollect,
75 LPDWORD lpdwCollectDataTimeout);
76
77 virtual BOOL GetOverlappedResult (PHMHANDLEDATA pHMHandleData,
78 LPOVERLAPPED lpOverlapped,
79 LPDWORD arg3,
80 BOOL arg4);
81
82 virtual BOOL CreatePipe(PHMHANDLEDATA pHMHandleDataRead,
83 PHMHANDLEDATA pHMHandleDataWrite,
84 LPSECURITY_ATTRIBUTES lpsa,
85 DWORD cbPipe);
86
87
88};
89
90
91#endif // _HM_NPIPE_H_
Note: See TracBrowser for help on using the repository browser.