Release 990226.
[wine/gsoc-2012-control.git] / include / ntdef.h
blob4de6fff4e09cd07a97633da5744e370a174c8d71
1 #ifndef __WINE_NTDEF_H
2 #define __WINE_NTDEF_H
4 #define NTAPI __stdcall
6 #ifndef IN
7 #define IN
8 #endif
10 #ifndef OUT
11 #define OUT
12 #endif
14 #ifndef OPTIONAL
15 #define OPTIONAL
16 #endif
18 /* NT lowlevel Strings (handled by Rtl* functions in NTDLL)
19 * If they are zero terminated, Length does not include the terminating 0.
22 typedef struct _STRING {
23 UINT16 Length;
24 UINT16 MaximumLength;
25 LPSTR Buffer;
26 } STRING,*PSTRING,ANSI_STRING,*PANSI_STRING;
28 typedef struct _CSTRING {
29 UINT16 Length;
30 UINT16 MaximumLength;
31 LPCSTR Buffer;
32 } CSTRING,*PCSTRING;
34 typedef struct _UNICODE_STRING {
35 UINT16 Length; /* bytes */
36 UINT16 MaximumLength; /* bytes */
37 LPWSTR Buffer;
38 } UNICODE_STRING,*PUNICODE_STRING;
41 Objects
44 #define OBJ_INHERIT 0x00000002L
45 #define OBJ_PERMANENT 0x00000010L
46 #define OBJ_EXCLUSIVE 0x00000020L
47 #define OBJ_CASE_INSENSITIVE 0x00000040L
48 #define OBJ_OPENIF 0x00000080L
49 #define OBJ_OPENLINK 0x00000100L
50 #define OBJ_KERNEL_HANDLE 0x00000200L
51 #define OBJ_VALID_ATTRIBUTES 0x000003F2L
53 typedef struct _OBJECT_ATTRIBUTES
54 { ULONG Length;
55 HANDLE RootDirectory;
56 PUNICODE_STRING ObjectName;
57 ULONG Attributes;
58 PVOID SecurityDescriptor; /* type SECURITY_DESCRIPTOR */
59 PVOID SecurityQualityOfService; /* type SECURITY_QUALITY_OF_SERVICE */
60 } OBJECT_ATTRIBUTES;
62 typedef OBJECT_ATTRIBUTES *POBJECT_ATTRIBUTES;
65 #endif