annotate loader/wine/ntdef.h @ 6129:b6de6a3e682d

catching SIGILL instead of dumping core - patch by Steven M. Schultz <sms@2BSD.COM>
author arpi
date Mon, 20 May 2002 00:01:14 +0000
parents 3b5f5d1c5041
children 93b87066f9da
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
1 #ifndef __WINE_NTDEF_H
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
2 #define __WINE_NTDEF_H
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
4 #include "basetsd.h"
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
5 #include "windef.h"
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
6
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
7 #include "pshpack1.h"
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
8
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
9 #ifdef __cplusplus
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
10 extern "C" {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
11 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
12
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
13 #define NTAPI __stdcall
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
14
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
15 #ifndef IN
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
16 #define IN
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
17 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
18
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
19 #ifndef OUT
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
20 #define OUT
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
21 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
22
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23 #ifndef OPTIONAL
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
24 #define OPTIONAL
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
25 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
26
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
27 #ifndef VOID
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
28 #define VOID void
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
29 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
30
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
31 typedef LONG NTSTATUS;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
32 typedef NTSTATUS *PNTSTATUS;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
33
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
34 typedef short CSHORT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35 typedef CSHORT *PCSHORT;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
37 typedef WCHAR * PWCHAR;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
38
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
39 /* NT lowlevel Strings (handled by Rtl* functions in NTDLL)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 * If they are zero terminated, Length does not include the terminating 0.
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
41 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
42
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
43 typedef struct _STRING {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
44 USHORT Length;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
45 USHORT MaximumLength;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
46 PSTR Buffer;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
47 } STRING,*PSTRING,ANSI_STRING,*PANSI_STRING;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
48
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
49 typedef struct _CSTRING {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
50 USHORT Length;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
51 USHORT MaximumLength;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
52 PCSTR Buffer;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
53 } CSTRING,*PCSTRING;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
54
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
55 typedef struct _UNICODE_STRING {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
56 USHORT Length; /* bytes */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
57 USHORT MaximumLength; /* bytes */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
58 PWSTR Buffer;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
59 } UNICODE_STRING,*PUNICODE_STRING;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
60
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
61 /*
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
62 Objects
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
63 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
64
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
65 #define OBJ_INHERIT 0x00000002L
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
66 #define OBJ_PERMANENT 0x00000010L
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
67 #define OBJ_EXCLUSIVE 0x00000020L
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
68 #define OBJ_CASE_INSENSITIVE 0x00000040L
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
69 #define OBJ_OPENIF 0x00000080L
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
70 #define OBJ_OPENLINK 0x00000100L
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
71 #define OBJ_KERNEL_HANDLE 0x00000200L
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
72 #define OBJ_VALID_ATTRIBUTES 0x000003F2L
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
73
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
74 typedef struct _OBJECT_ATTRIBUTES
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
75 { ULONG Length;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
76 HANDLE RootDirectory;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
77 PUNICODE_STRING ObjectName;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
78 ULONG Attributes;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
79 PVOID SecurityDescriptor; /* type SECURITY_DESCRIPTOR */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
80 PVOID SecurityQualityOfService; /* type SECURITY_QUALITY_OF_SERVICE */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
81 } OBJECT_ATTRIBUTES;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
82
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
83 typedef OBJECT_ATTRIBUTES *POBJECT_ATTRIBUTES;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
84
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
85 #define InitializeObjectAttributes(p,n,a,r,s) \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
86 { (p)->Length = sizeof(OBJECT_ATTRIBUTES); \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
87 (p)->RootDirectory = r; \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
88 (p)->Attributes = a; \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
89 (p)->ObjectName = n; \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
90 (p)->SecurityDescriptor = s; \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
91 (p)->SecurityQualityOfService = NULL; \
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
92 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
93
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
94
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
95 #ifdef __cplusplus
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
96 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
97 #endif
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
98
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
99 #include "poppack.h"
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
100
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
101 #endif