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

Last change on this file since 4 was 4, checked in by ktk, 26 years ago

Import

File size: 1.7 KB
Line 
1/* $Id: ntdef.h,v 1.1 1999-05-24 20:19:15 ktk Exp $ */
2
3#ifndef __WINE_NTDEF_H
4#define __WINE_NTDEF_H
5
6/* fixme: include basestd.h instead */
7#include "windef.h"
8
9#ifdef __cplusplus
10extern "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
31typedef LONG NTSTATUS;
32typedef NTSTATUS *PNTSTATUS;
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;
48
49typedef struct _CSTRING {
50 USHORT Length;
51 USHORT MaximumLength;
52 PCSTR Buffer;
53} CSTRING,*PCSTRING;
54
55typedef 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
74typedef 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
83typedef OBJECT_ATTRIBUTES *POBJECT_ATTRIBUTES;
84
85#ifdef __cplusplus
86}
87#endif
88
89#endif
Note: See TracBrowser for help on using the repository browser.