]> git.proxmox.com Git - rustc.git/blob - vendor/winapi/src/um/namedpipeapi.rs
New upstream version 1.41.1+dfsg1
[rustc.git] / vendor / winapi / src / um / namedpipeapi.rs
1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 use shared::minwindef::{BOOL, DWORD, LPDWORD, LPVOID, ULONG};
7 use um::minwinbase::{LPOVERLAPPED, LPSECURITY_ATTRIBUTES};
8 use um::winnt::{HANDLE, LPCWSTR, LPWSTR, PHANDLE};
9 extern "system" {
10 pub fn CreatePipe(
11 hReadPipe: PHANDLE,
12 hWritePipe: PHANDLE,
13 lpPipeAttributes: LPSECURITY_ATTRIBUTES,
14 nSize: DWORD,
15 ) -> BOOL;
16 pub fn ConnectNamedPipe(
17 hNamedPipe: HANDLE,
18 lpOverlapped: LPOVERLAPPED,
19 ) -> BOOL;
20 pub fn DisconnectNamedPipe(
21 hNamedPipe: HANDLE,
22 ) -> BOOL;
23 pub fn SetNamedPipeHandleState(
24 hNamedPipe: HANDLE,
25 lpMode: LPDWORD,
26 lpMaxCollectionCount: LPDWORD,
27 lpCollectDataTimeout: LPDWORD,
28 ) -> BOOL;
29 pub fn PeekNamedPipe(
30 hNamedPipe: HANDLE,
31 lpBuffer: LPVOID,
32 nBufferSize: DWORD,
33 lpBytesRead: LPDWORD,
34 lpTotalBytesAvail: LPDWORD,
35 lpBytesLeftThisMessage: LPDWORD,
36 ) -> BOOL;
37 pub fn TransactNamedPipe(
38 hNamedPipe: HANDLE,
39 lpInBuffer: LPVOID,
40 nInBufferSize: DWORD,
41 lpOutBuffer: LPVOID,
42 nOutBufferSize: DWORD,
43 lpBytesRead: LPDWORD,
44 lpOverlapped: LPOVERLAPPED,
45 ) -> BOOL;
46 pub fn CreateNamedPipeW(
47 lpName: LPCWSTR,
48 dwOpenMode: DWORD,
49 dwPipeMode: DWORD,
50 nMaxInstances: DWORD,
51 nOutBufferSize: DWORD,
52 nInBufferSize: DWORD,
53 nDefaultTimeOut: DWORD,
54 lpSecurityAttributes: LPSECURITY_ATTRIBUTES,
55 ) -> HANDLE;
56 pub fn WaitNamedPipeW(
57 lpNamedPipeName: LPCWSTR,
58 nTimeOut: DWORD,
59 ) -> BOOL;
60 pub fn GetNamedPipeClientComputerNameW(
61 Pipe: HANDLE,
62 ClientComputerName: LPWSTR,
63 ClientComputerNameLength: ULONG,
64 ) -> BOOL;
65 pub fn ImpersonateNamedPipeClient(
66 hNamedPipe: HANDLE,
67 ) -> BOOL;
68 pub fn GetNamedPipeInfo(
69 hNamedPipe: HANDLE,
70 lpFlags: LPDWORD,
71 lpOutBufferSize: LPDWORD,
72 lpInBufferSize: LPDWORD,
73 lpMaxInstances: LPDWORD,
74 ) -> BOOL;
75 pub fn GetNamedPipeHandleStateW(
76 hNamedPipe: HANDLE,
77 lpState: LPDWORD,
78 lpCurInstances: LPDWORD,
79 lpMaxCollectionCount: LPDWORD,
80 lpCollectDataTimeout: LPDWORD,
81 lpUserName: LPWSTR,
82 nMaxUserNameSize: DWORD,
83 ) -> BOOL;
84 pub fn CallNamedPipeW(
85 lpNamedPipeName: LPCWSTR,
86 lpInBuffer: LPVOID,
87 nInBufferSize: DWORD,
88 lpOutBuffer: LPVOID,
89 nOutBufferSize: DWORD,
90 lpBytesRead: LPDWORD,
91 nTimeOut: DWORD,
92 ) -> BOOL;
93 }