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

Last change on this file since 21360 was 21360, checked in by vladest, 16 years ago
  1. Security interface constants and structures added
  2. Fixed conflicts of data definitions in security interface
File size: 1.9 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
29typedef LONG NTSTATUS;
30typedef NTSTATUS *PNTSTATUS;
31
32typedef CONST char *PCSZ;
33
34typedef short CSHORT;
35typedef CSHORT *PCSHORT;
36
37typedef 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
43typedef struct _STRING {
44 USHORT Length;
45 USHORT MaximumLength;
46 PSTR Buffer;
47} STRING,*PSTRING,ANSI_STRING,*PANSI_STRING, OEM_STRING, *POEM_STRING;
48/* @@@PH 1999/06/08 OEM-String support is experimental */
49
50typedef struct _CSTRING {
51 USHORT Length;
52 USHORT MaximumLength;
53 PCSTR Buffer;
54} CSTRING,*PCSTRING;
55
56#ifndef __UNICODE_STRING_DEFINED__
57#define __UNICODE_STRING_DEFINED__
58typedef struct _UNICODE_STRING {
59 USHORT Length; /* bytes */
60 USHORT MaximumLength; /* bytes */
61 PWSTR Buffer;
62} UNICODE_STRING,*PUNICODE_STRING;
63#endif
64/*
65 Objects
66*/
67
68#define OBJ_INHERIT 0x00000002L
69#define OBJ_PERMANENT 0x00000010L
70#define OBJ_EXCLUSIVE 0x00000020L
71#define OBJ_CASE_INSENSITIVE 0x00000040L
72#define OBJ_OPENIF 0x00000080L
73#define OBJ_OPENLINK 0x00000100L
74#define OBJ_KERNEL_HANDLE 0x00000200L
75#define OBJ_VALID_ATTRIBUTES 0x000003F2L
76
77typedef struct _OBJECT_ATTRIBUTES
78{ ULONG Length;
79 HANDLE RootDirectory;
80 PUNICODE_STRING ObjectName;
81 ULONG Attributes;
82 PVOID SecurityDescriptor; /* type SECURITY_DESCRIPTOR */
83 PVOID SecurityQualityOfService; /* type SECURITY_QUALITY_OF_SERVICE */
84} OBJECT_ATTRIBUTES;
85
86typedef OBJECT_ATTRIBUTES *POBJECT_ATTRIBUTES;
87
88#ifdef __cplusplus
89}
90#endif
91
92#endif
Note: See TracBrowser for help on using the repository browser.