summaryrefslogtreecommitdiffstats
path: root/private/inc/xactsrv2.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/inc/xactsrv2.h
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'private/inc/xactsrv2.h')
-rw-r--r--private/inc/xactsrv2.h158
1 files changed, 158 insertions, 0 deletions
diff --git a/private/inc/xactsrv2.h b/private/inc/xactsrv2.h
new file mode 100644
index 000000000..7a46e1501
--- /dev/null
+++ b/private/inc/xactsrv2.h
@@ -0,0 +1,158 @@
+/*++
+
+Copyright (c) 1991 Microsoft Corporation
+
+Module Name:
+
+ xactsrv.h
+
+Abstract:
+
+ Header file for XACTSRV. Defines structures common to the server and
+ XACTSRV.
+
+Author:
+
+ David Treadwell (davidtr) 07-Jan-1991
+
+Revision History:
+
+--*/
+
+#ifndef _XACTSRV_
+#define _XACTSRV_
+
+//
+// Structures for messages that are passed across the LPC port between
+// the server and XACTSRV.
+//
+// *** The PORT_MESSAGE structure *must* be the first element of these
+// structures!
+
+typedef struct _XACTSRV_REQUEST_MESSAGE {
+
+ PORT_MESSAGE PortMessage;
+ ULONG MessageType;
+
+ union {
+
+ struct {
+ struct _TRANSACTION *Transaction;
+ WCHAR ClientMachineName[CNLEN + 1];
+ UCHAR ServerName[ NETBIOS_NAME_LEN ];
+ ULONG TransportNameLength;
+ PWSTR TransportName;
+ UCHAR LanmanSessionKey[MSV1_0_LANMAN_SESSION_KEY_LENGTH];
+ ULONG Flags;
+ } DownLevelApi;
+
+ struct {
+ PSZ PrinterName;
+ } OpenPrinter;
+
+ struct {
+ HANDLE hPrinter;
+ PVOID Buffer;
+ ULONG BufferLength;
+ } AddPrintJob;
+
+ struct {
+ HANDLE hPrinter;
+ ULONG JobId;
+ } SchedulePrintJob;
+
+ struct {
+ HANDLE hPrinter;
+ } ClosePrinter;
+
+ struct {
+ PSZ Receipient;
+ PVOID Buffer;
+ USHORT BufferLength;
+ } MessageBufferSend;
+
+ struct {
+ PWSTR UserName;
+ BOOL IsAdmin;
+ } LSRequest;
+
+ struct {
+ HANDLE hLicense;
+ } LSRelease;
+
+ struct {
+ BOOLEAN Bind;
+ UNICODE_STRING TransportName;
+ } Pnp;
+
+ } Message;
+
+
+} XACTSRV_REQUEST_MESSAGE, *PXACTSRV_REQUEST_MESSAGE;
+
+typedef struct _XACTSRV_REPLY_MESSAGE {
+
+ PORT_MESSAGE PortMessage;
+
+ union {
+
+ struct {
+ NTSTATUS Status;
+ } DownLevelApi;
+
+ struct {
+ ULONG Error;
+ HANDLE hPrinter;
+ } OpenPrinter;
+
+ struct {
+ ULONG Error;
+ USHORT BufferLength;
+ ULONG JobId;
+ } AddPrintJob;
+
+ struct {
+ ULONG Error;
+ } SchedulePrintJob;
+
+ struct {
+ ULONG Error;
+ } ClosePrinter;
+
+ struct {
+ ULONG Error;
+ } MessageBufferSend;
+
+ struct {
+ NTSTATUS Status;
+ HANDLE hLicense;
+ } LSRequest;
+
+ } Message;
+
+} XACTSRV_REPLY_MESSAGE, *PXACTSRV_REPLY_MESSAGE;
+
+//
+// Message types that can be sent to XACTSRV.
+//
+
+#define XACTSRV_MESSAGE_DOWN_LEVEL_API 0
+#define XACTSRV_MESSAGE_OPEN_PRINTER 1
+#define XACTSRV_MESSAGE_ADD_JOB_PRINTER 2
+#define XACTSRV_MESSAGE_SCHD_JOB_PRINTER 4
+#define XACTSRV_MESSAGE_CLOSE_PRINTER 5
+#define XACTSRV_MESSAGE_MESSAGE_SEND 6
+#define XACTSRV_MESSAGE_WAKEUP 7
+#define XACTSRV_MESSAGE_LSREQUEST 8
+#define XACTSRV_MESSAGE_LSRELEASE 9
+#define XACTSRV_MESSAGE_PNP 10
+#define XACTSRV_MESSAGE_SERVER_THREAD_EXIT 11
+
+//
+// Request Flags definitions
+//
+
+#define XS_FLAGS_NT_CLIENT 0x00000001
+
+#endif // ndef _XACTSRV_
+