Removed PROCESS_GetPtr.
[wine] / include / ntdef.h
1 #ifndef __WINE_NTDEF_H
2 #define __WINE_NTDEF_H
3
4 #define NTAPI   __stdcall 
5
6 /* NT lowlevel Strings (handled by Rtl* functions in NTDLL)
7  * If they are zero terminated, Length does not include the terminating 0.
8  */
9
10 typedef struct _STRING {
11         UINT16  Length;
12         UINT16  MaximumLength;
13         LPSTR   Buffer;
14 } STRING,*PSTRING,ANSI_STRING,*PANSI_STRING;
15
16 typedef struct _CSTRING {
17         UINT16  Length;
18         UINT16  MaximumLength;
19         LPCSTR  Buffer;
20 } CSTRING,*PCSTRING;
21
22 typedef struct _UNICODE_STRING {
23         UINT16  Length;         /* bytes */
24         UINT16  MaximumLength;  /* bytes */
25         LPWSTR  Buffer;
26 } UNICODE_STRING,*PUNICODE_STRING;
27
28 /*
29         Objects
30 */
31
32 #define OBJ_INHERIT             0x00000002L
33 #define OBJ_PERMANENT           0x00000010L
34 #define OBJ_EXCLUSIVE           0x00000020L
35 #define OBJ_CASE_INSENSITIVE    0x00000040L
36 #define OBJ_OPENIF              0x00000080L
37 #define OBJ_OPENLINK            0x00000100L
38 #define OBJ_KERNEL_HANDLE       0x00000200L
39 #define OBJ_VALID_ATTRIBUTES    0x000003F2L
40
41 typedef struct _OBJECT_ATTRIBUTES 
42 {   ULONG Length;
43     HANDLE32 RootDirectory;
44     PUNICODE_STRING ObjectName;
45     ULONG Attributes;
46     PVOID SecurityDescriptor;        /* type SECURITY_DESCRIPTOR */
47     PVOID SecurityQualityOfService;  /* type SECURITY_QUALITY_OF_SERVICE */
48 } OBJECT_ATTRIBUTES;
49
50 typedef OBJECT_ATTRIBUTES *POBJECT_ATTRIBUTES;
51
52
53 #endif