annotate loader/wine/ntdef.h @ 16307:03cd6abe5664

avoid reading more than maxlen bytes. Has the sideeffect that the amount read will be close to maxlen instead of minlen as before.
author reimar
date Thu, 25 Aug 2005 19:46:20 +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