summaryrefslogtreecommitdiffstats
path: root/loader/wine/ntdef.h
diff options
context:
space:
mode:
Diffstat (limited to 'loader/wine/ntdef.h')
-rw-r--r--loader/wine/ntdef.h101
1 files changed, 101 insertions, 0 deletions
diff --git a/loader/wine/ntdef.h b/loader/wine/ntdef.h
new file mode 100644
index 0000000000..edf0af86c1
--- /dev/null
+++ b/loader/wine/ntdef.h
@@ -0,0 +1,101 @@
+#ifndef __WINE_NTDEF_H
+#define __WINE_NTDEF_H
+
+#include "basetsd.h"
+#include "windef.h"
+
+#include "pshpack1.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define NTAPI __stdcall
+
+#ifndef IN
+#define IN
+#endif
+
+#ifndef OUT
+#define OUT
+#endif
+
+#ifndef OPTIONAL
+#define OPTIONAL
+#endif
+
+#ifndef VOID
+#define VOID void
+#endif
+
+typedef LONG NTSTATUS;
+typedef NTSTATUS *PNTSTATUS;
+
+typedef short CSHORT;
+typedef CSHORT *PCSHORT;
+
+typedef WCHAR * PWCHAR;
+
+/* NT lowlevel Strings (handled by Rtl* functions in NTDLL)
+ * If they are zero terminated, Length does not include the terminating 0.
+ */
+
+typedef struct _STRING {
+ USHORT Length;
+ USHORT MaximumLength;
+ PSTR Buffer;
+} STRING,*PSTRING,ANSI_STRING,*PANSI_STRING;
+
+typedef struct _CSTRING {
+ USHORT Length;
+ USHORT MaximumLength;
+ PCSTR Buffer;
+} CSTRING,*PCSTRING;
+
+typedef struct _UNICODE_STRING {
+ USHORT Length; /* bytes */
+ USHORT MaximumLength; /* bytes */
+ PWSTR Buffer;
+} UNICODE_STRING,*PUNICODE_STRING;
+
+/*
+ Objects
+*/
+
+#define OBJ_INHERIT 0x00000002L
+#define OBJ_PERMANENT 0x00000010L
+#define OBJ_EXCLUSIVE 0x00000020L
+#define OBJ_CASE_INSENSITIVE 0x00000040L
+#define OBJ_OPENIF 0x00000080L
+#define OBJ_OPENLINK 0x00000100L
+#define OBJ_KERNEL_HANDLE 0x00000200L
+#define OBJ_VALID_ATTRIBUTES 0x000003F2L
+
+typedef struct _OBJECT_ATTRIBUTES
+{ ULONG Length;
+ HANDLE RootDirectory;
+ PUNICODE_STRING ObjectName;
+ ULONG Attributes;
+ PVOID SecurityDescriptor; /* type SECURITY_DESCRIPTOR */
+ PVOID SecurityQualityOfService; /* type SECURITY_QUALITY_OF_SERVICE */
+} OBJECT_ATTRIBUTES;
+
+typedef OBJECT_ATTRIBUTES *POBJECT_ATTRIBUTES;
+
+#define InitializeObjectAttributes(p,n,a,r,s) \
+{ (p)->Length = sizeof(OBJECT_ATTRIBUTES); \
+ (p)->RootDirectory = r; \
+ (p)->Attributes = a; \
+ (p)->ObjectName = n; \
+ (p)->SecurityDescriptor = s; \
+ (p)->SecurityQualityOfService = NULL; \
+}
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#include "poppack.h"
+
+#endif