master
h 98 lines 3.49 KB
Raw
1 /*++
2
3 Copyright (c) Microsoft. All rights reserved.
4
5 Module Name:
6
7 lxssbusclient.h
8
9 Abstract:
10
11 This header file contains data structures and prototypes for the LxBus
12 client library.
13
14 --*/
15
16 #pragma once
17
18 NTSTATUS
19 LxBusClientCreateUnnamedServer(_In_ HANDLE MessagePortHandle, _Out_ PLXBUS_IPC_MESSAGE_CREATE_UNNAMED_SERVER_PARAMETERS Parameters);
20
21 NTSTATUS
22 LxBusClientDisconnectConsole(_In_ HANDLE MessagePortHandle, _Inout_ PLXBUS_IPC_MESSAGE_DISCONNECT_CONSOLE_PARAMETERS Parameters);
23
24 NTSTATUS
25 LxBusClientpIoctl(
26 _In_ HANDLE Handle,
27 _In_ ULONG ControlCode,
28 _In_reads_bytes_(InputBufferSize) PVOID InputBuffer,
29 _In_ ULONG InputBufferSize,
30 _Out_writes_bytes_(OutputBufferSize) PVOID OutputBuffer,
31 _In_ ULONG OutputBufferSize);
32
33 NTSTATUS
34 LxBusClientMarshalConsole(_In_ HANDLE MessagePortHandle, _Inout_ PLXBUS_IPC_MESSAGE_MARSHAL_CONSOLE_PARAMETERS Parameters);
35
36 NTSTATUS
37 LxBusClientMarshalForkToken(_In_ HANDLE MessagePortHandle, _Inout_ PLXBUS_IPC_MESSAGE_MARSHAL_FORK_TOKEN_PARAMETERS Parameters);
38
39 NTSTATUS
40 LxBusClientMarshalHandle(_In_ HANDLE MessagePortHandle, _Inout_ PLXBUS_IPC_MESSAGE_MARSHAL_HANDLE_PARAMETERS Parameters);
41
42 NTSTATUS
43 LxBusClientMarshalProcess(_In_ HANDLE MessagePortHandle, _Inout_ PLXBUS_IPC_MESSAGE_MARSHAL_PROCESS_PARAMETERS Parameters);
44
45 NTSTATUS
46 LxBusClientReceiveMessage(_In_ HANDLE MessagePortHandle, _Out_writes_to_(BufferSize, *SizeReceived) PVOID Buffer, _In_ ULONG BufferSize, _Out_ PULONG SizeReceived);
47
48 NTSTATUS
49 LxBusClientReceiveMessageAsync(
50 _In_ HANDLE MessagePortHandle,
51 _Out_writes_bytes_to_(BufferSize, *SizeReceived) PVOID Buffer,
52 _In_ ULONG BufferSize,
53 _Out_ PULONG SizeReceived,
54 _Out_ PIO_STATUS_BLOCK IoStatus,
55 _Inout_opt_ HANDLE Event);
56
57 NTSTATUS
58 LxBusClientRegisterServer(_In_ HANDLE LxBusHandle, _Inout_ PLXBUS_REGISTER_SERVER_PARAMETERS Parameters);
59
60 NTSTATUS
61 LxBusClientRegisterUserCallbackAsync(
62 _In_ HANDLE MessagePortHandle,
63 _In_ HANDLE Event,
64 _Inout_ PIO_STATUS_BLOCK IoStatus,
65 _Inout_ PLXBUS_REGISTER_USER_CALLBACK_PARAMETERS Parameters,
66 _Out_ PVOID OutputBuffer,
67 _In_ ULONG OutputBufferSize);
68
69 NTSTATUS
70 LxBusClientReleaseConsole(_In_ HANDLE MessagePortHandle, _In_ PLXBUS_IPC_MESSAGE_IOCTL_CANCEL_MARSHAL_PARAMETERS Parameters);
71
72 NTSTATUS
73 LxBusClientReleaseForkToken(_In_ HANDLE MessagePortHandle, _In_ PLXBUS_IPC_MESSAGE_IOCTL_CANCEL_MARSHAL_PARAMETERS Parameters);
74
75 NTSTATUS
76 LxBusClientReleaseHandle(_In_ HANDLE MessagePortHandle, _In_ PLXBUS_IPC_MESSAGE_IOCTL_CANCEL_MARSHAL_PARAMETERS Parameters);
77
78 NTSTATUS
79 LxBusClientSendMessage(_In_ HANDLE MessagePortHandle, _In_reads_bytes_(BufferSize) PVOID Buffer, _In_ ULONG BufferSize);
80
81 NTSTATUS
82 LxBusClientSendMessageAsync(
83 _In_ HANDLE MessagePortHandle, _In_reads_bytes_(BufferSize) PVOID Buffer, _In_ ULONG BufferSize, _Out_ PIO_STATUS_BLOCK IoStatus, _Inout_opt_ HANDLE Event);
84
85 NTSTATUS
86 LxBusClientUnmarshalProcess(_In_ HANDLE MessagePortHandle, _Inout_ PLXBUS_IPC_MESSAGE_UNMARSHAL_PROCESS_PARAMETERS Parameters);
87
88 NTSTATUS
89 LxBusClientUnmarshalVfsFile(_In_ HANDLE MessagePortHandle, _Inout_ PLXBUS_IPC_MESSAGE_UNMARSHAL_VFS_FILE_PARAMETERS Parameters);
90
91 NTSTATUS
92 LxBusClientUserCallbackSendResponse(_In_ HANDLE MessagePortHandle, _Inout_ PLXBUS_REGISTER_USER_CALLBACK_PARAMETERS Parameters);
93
94 NTSTATUS
95 LxBusClientWaitForConnection(_In_ HANDLE ServerPortHandle, _Out_ PLXBUS_IPC_SERVER_WAIT_FOR_CONNECTION_PARAMETERS Parameters);
96
97 NTSTATUS
98 LxBusClientWaitForLxProcess(_In_ HANDLE LxProcessHandle, _Out_ PLXBUS_IPC_LX_PROCESS_WAIT_FOR_TERMINATION_PARAMETERS Parameters);