[CMAKE]
[reactos.git] / include / reactos / idl / ms-dtyp.idl
1 cpp_quote("#ifndef _DTYP_IDL")
2 cpp_quote("#define _DTYP_IDL")
3
4 /* Common data types */
5 cpp_quote("#ifndef _WINDEF_H")
6 typedef int BOOL, *PBOOL, *LPBOOL;
7 typedef unsigned char BYTE, *PBYTE, *LPBYTE;
8 typedef unsigned long DWORD, *PDWORD, *LPDWORD;
9 cpp_quote("#endif")
10 cpp_quote("#ifndef _BASETSD_H")
11 typedef unsigned int DWORD32;
12 typedef unsigned __int64 DWORD64;
13 cpp_quote("#endif")
14 //typedef unsigned long error_status_t;
15 cpp_quote("#ifndef _WINDEF_H")
16 typedef int INT, *LPINT;
17 cpp_quote("#endif")
18 cpp_quote("#ifndef _BASETSD_H")
19 typedef signed char INT8;
20 typedef signed short INT16;
21 typedef signed int INT32;
22 typedef signed __int64 INT64;
23 cpp_quote("#endif")
24 cpp_quote("#ifndef _BASETSD_H")
25 typedef signed int LONG32;
26 typedef signed __int64 LONG64;
27 cpp_quote("#endif")
28 typedef unsigned __int64 QWORD;
29 cpp_quote("#ifndef _WINNT_H")
30 typedef short SHORT;
31 cpp_quote("#endif")
32 typedef __int64 TIME;
33 cpp_quote("#ifndef _WINNT_H")
34 typedef char CHAR, *PCHAR;
35 typedef unsigned char UCHAR, *PUCHAR;
36 cpp_quote("#endif")
37 cpp_quote("#ifndef _WINDEF_H")
38 typedef unsigned int UINT;
39 cpp_quote("#endif")
40 cpp_quote("#ifndef _BASETSD_H")
41 typedef unsigned char UINT8;
42 typedef unsigned short UINT16;
43 typedef unsigned int UINT32;
44 typedef unsigned __int64 UINT64;
45 cpp_quote("#endif")
46 cpp_quote("#ifndef _WINNT_H")
47 typedef unsigned long ULONG, *PULONG;
48 cpp_quote("#endif")
49 cpp_quote("#ifndef _BASETSD_H")
50 typedef unsigned int ULONG32;
51 typedef unsigned __int64 ULONG64;
52 cpp_quote("#endif")
53 cpp_quote("#ifndef _WINNT_H")
54 typedef unsigned __int64 ULONGLONG;
55 typedef unsigned short USHORT;
56 cpp_quote("#endif")
57 cpp_quote("#ifndef _WINDEF_H")
58 typedef unsigned short WORD, *PWORD, *LPWORD;
59 cpp_quote("#endif")
60 cpp_quote("#ifndef _WINNT_H")
61 typedef long LONG, *PLONG;
62 cpp_quote("#endif")
63 cpp_quote("#ifndef _WINDEF_H")
64 typedef long *LPLONG;
65 cpp_quote("#endif")
66 cpp_quote("#ifndef _WINNT_H")
67 typedef signed __int64 LONGLONG;
68 cpp_quote("#endif")
69
70 cpp_quote("#ifndef _WINDEF_H")
71 typedef float FLOAT;
72 cpp_quote("#endif")
73 cpp_quote("#ifndef __wtypes_h__")
74 typedef double DOUBLE;
75 cpp_quote("#endif")
76
77 cpp_quote("#ifndef _WINNT_H")
78 typedef BYTE BOOLEAN, *PBOOLEAN;
79 cpp_quote("#endif")
80 cpp_quote("#ifndef _BASETSD_H")
81 #ifdef _WIN64
82 typedef __int64 LONG_PTR;
83 typedef unsigned __int64 ULONG_PTR;
84 #else
85 typedef LONG LONG_PTR;
86 typedef ULONG ULONG_PTR;
87 #endif
88 typedef ULONG_PTR SIZE_T;
89 typedef ULONG_PTR DWORD_PTR;
90 cpp_quote("#endif")
91 typedef DWORD NET_API_STATUS;
92 cpp_quote("#ifndef _WINNT_H")
93 typedef ULONGLONG DWORDLONG, *PDWORDLONG;
94 cpp_quote("#endif")
95 typedef DWORD HCALL;
96 //typedef DWORD HRESULT;
97
98 cpp_quote("#ifndef _WINNT_H")
99 typedef void *HANDLE;
100 typedef void /*VOID,*/ *PVOID;
101 cpp_quote("#endif")
102 cpp_quote("#ifndef __WINE_RPCDCE_H")
103 typedef void *RPC_BINDING_HANDLE;
104 cpp_quote("#endif")
105 typedef [context_handle] void *PCONTEXT_HANDLE, *PPCONTEXT_HANDLE;
106
107 cpp_quote("#ifndef _WINNT_H")
108 typedef wchar_t WCHAR, *PWCHAR;
109 cpp_quote("#if 0")
110 typedef wchar_t UNICODE;
111 cpp_quote("#endif")
112 typedef const char *LPCSTR;
113 typedef const wchar_t *LPCWSTR;
114 typedef char *PSTR, *LPSTR;
115 typedef wchar_t *LPWSTR, *PWSTR;
116 cpp_quote("#endif")
117 typedef const wchar_t *LMCSTR;
118 typedef WCHAR *LMSTR;
119 cpp_quote("#ifndef __wtypes_h__")
120 typedef WCHAR *BSTR;
121 cpp_quote("#endif")
122
123 cpp_quote("#if 0")
124 #ifdef Unicode
125 typedef LPCWSTR LPCTSTR;
126 typedef LPWSTR LPTSTR;
127 typedef WCHAR TCHAR;
128 #else
129 typedef LPCSTR LPCTSTR;
130 typedef LPSTR LPTSTR;
131 typedef CHAR TCHAR;
132 #endif
133 cpp_quote("#endif")
134
135 /* Common data structures */
136
137 cpp_quote("#if 0")
138
139 typedef struct _FILETIME {
140 DWORD dwLowDateTime;
141 DWORD dwHighDateTime;
142 } FILETIME, *PFILETIME, *LPFILETIME;
143
144 typedef struct _GUID {
145 DWORD Data1;
146 WORD Data2;
147 WORD Data3;
148 BYTE Data4[8];
149 } GUID, UUID, *PGUID;
150
151 typedef struct _LARGE_INTEGER {
152 LONGLONG QuadPart;
153 } LARGE_INTEGER, *PLARGE_INTEGER;
154
155 typedef DWORD LCID;
156
157 cpp_quote("#endif")
158
159 typedef struct _RPC_UNICODE_STRING {
160 USHORT Length;
161 USHORT MaximumLength;
162 [size_is(MaximumLength/2), length_is(Length/2)] LPWSTR Buffer;
163 } RPC_UNICODE_STRING, *PRPC_UNICODE_STRING;
164
165 cpp_quote("#if 0")
166
167 typedef struct _SYSTEMTIME {
168 WORD wYear;
169 WORD wMonth;
170 WORD wDayOfWeek;
171 WORD wDay;
172 WORD wHour;
173 WORD wMinute;
174 WORD wSecond;
175 WORD wMilliseconds;
176 } SYSTEMTIME, *PSYSTEMTIME;
177
178 typedef struct _UINT128 {
179 UINT64 lower;
180 UINT64 upper;
181 } UINT128, *PUINT128;
182
183 typedef struct _ULARGE_INTEGER {
184 ULONGLONG QuadPart;
185 } ULARGE_INTEGER, *PULARGE_INTEGER;
186
187 typedef struct _UNICODE_STRING {
188 USHORT Length;
189 USHORT MaximumLength;
190 [size_is(MaximumLength/2), length_is(Length/2)] LPWSTR Buffer;
191 } UNICODE_STRING, *PUNICODE_STRING;
192
193 cpp_quote("#endif")
194
195 /* Constructed security types */
196
197 cpp_quote("#if 0")
198
199 typedef struct _SID_IDENTIFIER_AUTHORITY {
200 BYTE Value[6];
201 } SID_IDENTIFIER_AUTHORITY;
202
203 typedef struct _SID {
204 BYTE Revision;
205 BYTE SubAuthorityCount;
206 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
207 [size_is(SubAuthorityCount)] DWORD SubAuthority[*];
208 } SID, *PSID;
209
210 typedef struct _ACCESS_MASK {
211 DWORD ACCESS_MASK;
212 } ACCESS_MASK, *PACCESS_MASK;
213
214 typedef struct _ACE_HEADER {
215 UCHAR AceType;
216 UCHAR AceFlags;
217 USHORT AceSize;
218 } ACE_HEADER, *PACE_HEADER;
219
220 typedef struct _ACCESS_ALLOWED_ACE {
221 ACE_HEADER Header;
222 ACCESS_MASK Mask;
223 DWORD SidStart;
224 } ACCESS_ALLOWED_ACE, *PACCESS_ALLOWED_ACE;
225
226 typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
227 ACE_HEADER Header;
228 ACCESS_MASK Mask;
229 DWORD Flags;
230 GUID ObjectType;
231 GUID InheritedObjectType;
232 DWORD SidStart;
233 } ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE;
234
235 typedef struct _ACCESS_DENIED_ACE {
236 ACE_HEADER Header;
237 ACCESS_MASK Mask;
238 DWORD SidStart;
239 } ACCESS_DENIED_ACE, *PACCESS_DENIED_ACE;
240
241 typedef struct _ACCESS_ALLOWED_CALLBACK_ACE {
242 ACE_HEADER Header;
243 ACCESS_MASK Mask;
244 DWORD SidStart;
245 } ACCESS_ALLOWED_CALLBACK_ACE, *PACCESS_ALLOWED_CALLBACK_ACE;
246
247 typedef struct _ACCESS_DENIED_CALLBACK_ACE {
248 ACE_HEADER Header;
249 ACCESS_MASK Mask;
250 DWORD SidStart;
251 } ACCESS_DENIED_CALLBACK_ACE, *PACCESS_DENIED_CALLBACK_ACE;
252
253 typedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
254 ACE_HEADER Header;
255 ACCESS_MASK Mask;
256 DWORD Flags;
257 GUID ObjectType;
258 GUID InheritedObjectType;
259 DWORD SidStart;
260 } ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, *PACCESS_ALLOWED_CALLBACK_OBJECT_ACE;
261
262 typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE {
263 ACE_HEADER Header;
264 ACCESS_MASK Mask;
265 DWORD Flags;
266 GUID ObjectType;
267 GUID InheritedObjectType;
268 DWORD SidStart;
269 } ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE;
270
271 typedef struct _SYSTEM_AUDIT_ACE {
272 ACE_HEADER Header;
273 ACCESS_MASK Mask;
274 DWORD SidStart;
275 } SYSTEM_AUDIT_ACE, *PSYSTEM_AUDIT_ACE;
276
277 typedef struct _SYSTEM_AUDIT_CALLBACK_ACE {
278 ACE_HEADER Header;
279 ACCESS_MASK Mask;
280 DWORD SidStart;
281 } SYSTEM_AUDIT_CALLBACK_ACE, *PSYSTEM_AUDIT_CALLBACK_ACE;
282
283 typedef struct _SYSTEM_MANDATORY_LABEL_ACE {
284 ACE_HEADER Header;
285 ACCESS_MASK Mask;
286 DWORD SidStart;
287 } SYSTEM_MANDATORY_LABEL_ACE, *PSYSTEM_MANDATORY_LABEL_ACE;
288
289 typedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
290 ACE_HEADER Header;
291 ACCESS_MASK Mask;
292 DWORD Flags;
293 GUID ObjectType;
294 GUID InheritedObjectType;
295 DWORD SidStart;
296 } SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, *PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE;
297
298 typedef struct _ACL {
299 UCHAR AclRevision;
300 UCHAR Sbz1;
301 USHORT AclSize;
302 USHORT AceCount;
303 USHORT Sbz2;
304 } ACL, *PACL;
305
306 typedef struct _SECURITY_DESCRIPTOR {
307 UCHAR Revision;
308 UCHAR Sbz1;
309 USHORT Control;
310 ULONG Owner;
311 ULONG Group;
312 ULONG Sacl;
313 ULONG Dacl;
314 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
315
316 typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
317
318 cpp_quote("#endif")
319
320 typedef struct _RPC_SID {
321 UCHAR Revision;
322 UCHAR SubAuthorityCount;
323 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
324 [size_is(SubAuthorityCount)] DWORD SubAuthority[];
325 } RPC_SID, *PRPC_SID;
326
327 cpp_quote("#endif /* _DTYP_IDL */")