source: trunk/include/win/ntdef.h@ 21916

Last change on this file since 21916 was 21916, checked in by dmik, 14 years ago

Merge branch gcc-kmk to trunk.

File size: 2.0 KB
Line 
1#ifndef __WINE_NTDEF_H
2#define __WINE_NTDEF_H
3
4/* fixme: include basestd.h instead */
5#include "windef.h"
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11#define NTAPI __stdcall
12
13#ifndef IN
14#define IN
15#endif
16
17#ifndef OUT
18#define OUT
19#endif
20
21#ifndef OPTIONAL
22#define OPTIONAL
23#endif
24
25#ifndef VOID
26#define VOID void
27#endif
28
29#ifndef WINE_NTSTATUS_DECLARED
30#define WINE_NTSTATUS_DECLARED
31typedef LONG NTSTATUS;
32#endif
33#ifndef WINE_PNTSTATUS_DECLARED
34#define WINE_PNTSTATUS_DECLARED
35typedef NTSTATUS *PNTSTATUS;
36#endif
37
38typedef char *PSZ;
39typedef CONST char *PCSZ;
40
41typedef short CSHORT;
42typedef CSHORT *PCSHORT;
43
44/* NT lowlevel Strings (handled by Rtl* functions in NTDLL)
45 * If they are zero terminated, Length does not include the terminating 0.
46 */
47
48typedef struct _STRING {
49 USHORT Length;
50 USHORT MaximumLength;
51 PSTR Buffer;
52} STRING,*PSTRING,ANSI_STRING,*PANSI_STRING, OEM_STRING, *POEM_STRING;
53/* @@@PH 1999/06/08 OEM-String support is experimental */
54
55typedef struct _CSTRING {
56 USHORT Length;
57 USHORT MaximumLength;
58 PCSTR Buffer;
59} CSTRING,*PCSTRING;
60
61#ifndef __UNICODE_STRING_DEFINED__
62#define __UNICODE_STRING_DEFINED__
63typedef struct _UNICODE_STRING {
64 USHORT Length; /* bytes */
65 USHORT MaximumLength; /* bytes */
66 PWSTR Buffer;
67} UNICODE_STRING,*PUNICODE_STRING;
68#endif
69/*
70 Objects
71*/
72
73#define OBJ_INHERIT 0x00000002L
74#define OBJ_PERMANENT 0x00000010L
75#define OBJ_EXCLUSIVE 0x00000020L
76#define OBJ_CASE_INSENSITIVE 0x00000040L
77#define OBJ_OPENIF 0x00000080L
78#define OBJ_OPENLINK 0x00000100L
79#define OBJ_KERNEL_HANDLE 0x00000200L
80#define OBJ_VALID_ATTRIBUTES 0x000003F2L
81
82typedef struct _OBJECT_ATTRIBUTES
83{ ULONG Length;
84 HANDLE RootDirectory;
85 PUNICODE_STRING ObjectName;
86 ULONG Attributes;
87 PVOID SecurityDescriptor; /* type SECURITY_DESCRIPTOR */
88 PVOID SecurityQualityOfService; /* type SECURITY_QUALITY_OF_SERVICE */
89} OBJECT_ATTRIBUTES;
90
91typedef OBJECT_ATTRIBUTES *POBJECT_ATTRIBUTES;
92
93#ifdef __cplusplus
94}
95#endif
96
97#endif
Note: See TracBrowser for help on using the repository browser.