1
|
1 #ifndef __WINE_NTDEF_H
|
|
2 #define __WINE_NTDEF_H
|
|
3
|
|
4 #include "basetsd.h"
|
|
5 #include "windef.h"
|
|
6
|
|
7 #include "pshpack1.h"
|
|
8
|
|
9 #ifdef __cplusplus
|
|
10 extern "C" {
|
|
11 #endif
|
|
12
|
|
13 #define NTAPI __stdcall
|
|
14
|
|
15 #ifndef IN
|
|
16 #define IN
|
|
17 #endif
|
|
18
|
|
19 #ifndef OUT
|
|
20 #define OUT
|
|
21 #endif
|
|
22
|
|
23 #ifndef OPTIONAL
|
|
24 #define OPTIONAL
|
|
25 #endif
|
|
26
|
|
27 #ifndef VOID
|
|
28 #define VOID void
|
|
29 #endif
|
|
30
|
|
31 typedef LONG NTSTATUS;
|
|
32 typedef NTSTATUS *PNTSTATUS;
|
|
33
|
|
34 typedef short CSHORT;
|
|
35 typedef CSHORT *PCSHORT;
|
|
36
|
|
37 typedef WCHAR * PWCHAR;
|
|
38
|
|
39 /* NT lowlevel Strings (handled by Rtl* functions in NTDLL)
|
|
40 * If they are zero terminated, Length does not include the terminating 0.
|
|
41 */
|
|
42
|
|
43 typedef struct _STRING {
|
|
44 USHORT Length;
|
|
45 USHORT MaximumLength;
|
|
46 PSTR Buffer;
|
|
47 } STRING,*PSTRING,ANSI_STRING,*PANSI_STRING;
|
|
48
|
|
49 typedef struct _CSTRING {
|
|
50 USHORT Length;
|
|
51 USHORT MaximumLength;
|
|
52 PCSTR Buffer;
|
|
53 } CSTRING,*PCSTRING;
|
|
54
|
|
55 typedef struct _UNICODE_STRING {
|
|
56 USHORT Length; /* bytes */
|
|
57 USHORT MaximumLength; /* bytes */
|
|
58 PWSTR Buffer;
|
|
59 } UNICODE_STRING,*PUNICODE_STRING;
|
|
60
|
|
61 /*
|
|
62 Objects
|
|
63 */
|
|
64
|
|
65 #define OBJ_INHERIT 0x00000002L
|
|
66 #define OBJ_PERMANENT 0x00000010L
|
|
67 #define OBJ_EXCLUSIVE 0x00000020L
|
|
68 #define OBJ_CASE_INSENSITIVE 0x00000040L
|
|
69 #define OBJ_OPENIF 0x00000080L
|
|
70 #define OBJ_OPENLINK 0x00000100L
|
|
71 #define OBJ_KERNEL_HANDLE 0x00000200L
|
|
72 #define OBJ_VALID_ATTRIBUTES 0x000003F2L
|
|
73
|
|
74 typedef struct _OBJECT_ATTRIBUTES
|
|
75 { ULONG Length;
|
|
76 HANDLE RootDirectory;
|
|
77 PUNICODE_STRING ObjectName;
|
|
78 ULONG Attributes;
|
|
79 PVOID SecurityDescriptor; /* type SECURITY_DESCRIPTOR */
|
|
80 PVOID SecurityQualityOfService; /* type SECURITY_QUALITY_OF_SERVICE */
|
|
81 } OBJECT_ATTRIBUTES;
|
|
82
|
|
83 typedef OBJECT_ATTRIBUTES *POBJECT_ATTRIBUTES;
|
|
84
|
|
85 #define InitializeObjectAttributes(p,n,a,r,s) \
|
|
86 { (p)->Length = sizeof(OBJECT_ATTRIBUTES); \
|
|
87 (p)->RootDirectory = r; \
|
|
88 (p)->Attributes = a; \
|
|
89 (p)->ObjectName = n; \
|
|
90 (p)->SecurityDescriptor = s; \
|
|
91 (p)->SecurityQualityOfService = NULL; \
|
|
92 }
|
|
93
|
|
94
|
|
95 #ifdef __cplusplus
|
|
96 }
|
|
97 #endif
|
|
98
|
|
99 #include "poppack.h"
|
|
100
|
|
101 #endif
|