301da1a4e2f3cfd588d627c6413fcd6a9b289d0f
[reactos.git] / reactos / 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_")
30 typedef short SHORT;
31 cpp_quote("#endif")
32 typedef __int64 TIME;
33 cpp_quote("#ifndef _WINNT_")
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_")
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_")
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_")
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_")
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_")
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_")
93 typedef ULONGLONG DWORDLONG, *PDWORDLONG;
94 cpp_quote("#endif")
95 typedef DWORD HCALL;
96 //typedef DWORD HRESULT;
97
98 cpp_quote("#ifndef _WINNT_")
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;
106 typedef PCONTEXT_HANDLE *PPCONTEXT_HANDLE;
107
108 cpp_quote("#ifndef _WINNT_")
109 typedef wchar_t WCHAR, *PWCHAR;
110 cpp_quote("#if 0")
111 typedef wchar_t UNICODE;
112 cpp_quote("#endif")
113 typedef const char *LPCSTR;
114 typedef const wchar_t *LPCWSTR;
115 typedef char *PSTR, *LPSTR;
116 typedef wchar_t *LPWSTR, *PWSTR;
117 cpp_quote("#endif")
118 typedef const wchar_t *LMCSTR;
119 typedef WCHAR *LMSTR;
120 cpp_quote("#ifndef __wtypes_h__")
121 typedef WCHAR *BSTR;
122 cpp_quote("#endif")
123
124 cpp_quote("#if 0")
125 #ifdef Unicode
126 typedef LPCWSTR LPCTSTR;
127 typedef LPWSTR LPTSTR;
128 typedef WCHAR TCHAR;
129 #else
130 typedef LPCSTR LPCTSTR;
131 typedef LPSTR LPTSTR;
132 typedef CHAR TCHAR;
133 #endif
134 cpp_quote("#endif")
135
136 /* Common data structures */
137
138 cpp_quote("#if 0")
139
140 typedef struct _FILETIME {
141 DWORD dwLowDateTime;
142 DWORD dwHighDateTime;
143 } FILETIME, *PFILETIME, *LPFILETIME;
144
145 typedef struct _GUID {
146 DWORD Data1;
147 WORD Data2;
148 WORD Data3;
149 BYTE Data4[8];
150 } GUID, UUID, *PGUID;
151
152 typedef struct _LARGE_INTEGER {
153 LONGLONG QuadPart;
154 } LARGE_INTEGER, *PLARGE_INTEGER;
155
156 typedef DWORD LCID;
157
158 cpp_quote("#endif")
159
160 typedef struct _RPC_UNICODE_STRING {
161 USHORT Length;
162 USHORT MaximumLength;
163 [size_is(MaximumLength/2), length_is(Length/2)] LPWSTR Buffer;
164 } RPC_UNICODE_STRING, *PRPC_UNICODE_STRING;
165
166 cpp_quote("#if 0")
167
168 typedef struct _SYSTEMTIME {
169 WORD wYear;
170 WORD wMonth;
171 WORD wDayOfWeek;
172 WORD wDay;
173 WORD wHour;
174 WORD wMinute;
175 WORD wSecond;
176 WORD wMilliseconds;
177 } SYSTEMTIME, *PSYSTEMTIME;
178
179 typedef struct _UINT128 {
180 UINT64 lower;
181 UINT64 upper;
182 } UINT128, *PUINT128;
183
184 typedef struct _ULARGE_INTEGER {
185 ULONGLONG QuadPart;
186 } ULARGE_INTEGER, *PULARGE_INTEGER;
187
188 typedef struct _UNICODE_STRING {
189 USHORT Length;
190 USHORT MaximumLength;
191 [size_is(MaximumLength/2), length_is(Length/2)] LPWSTR Buffer;
192 } UNICODE_STRING, *PUNICODE_STRING;
193
194 cpp_quote("#endif")
195
196 /* Constructed security types */
197
198 cpp_quote("#if 0")
199
200 typedef struct _SID_IDENTIFIER_AUTHORITY {
201 BYTE Value[6];
202 } SID_IDENTIFIER_AUTHORITY;
203
204 typedef struct _SID {
205 BYTE Revision;
206 BYTE SubAuthorityCount;
207 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
208 [size_is(SubAuthorityCount)] DWORD SubAuthority[*];
209 } SID, *PSID;
210
211 typedef struct _ACCESS_MASK {
212 DWORD ACCESS_MASK;
213 } ACCESS_MASK, *PACCESS_MASK;
214
215 typedef struct _ACE_HEADER {
216 UCHAR AceType;
217 UCHAR AceFlags;
218 USHORT AceSize;
219 } ACE_HEADER, *PACE_HEADER;
220
221 typedef struct _ACCESS_ALLOWED_ACE {
222 ACE_HEADER Header;
223 ACCESS_MASK Mask;
224 DWORD SidStart;
225 } ACCESS_ALLOWED_ACE, *PACCESS_ALLOWED_ACE;
226
227 typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
228 ACE_HEADER Header;
229 ACCESS_MASK Mask;
230 DWORD Flags;
231 GUID ObjectType;
232 GUID InheritedObjectType;
233 DWORD SidStart;
234 } ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE;
235
236 typedef struct _ACCESS_DENIED_ACE {
237 ACE_HEADER Header;
238 ACCESS_MASK Mask;
239 DWORD SidStart;
240 } ACCESS_DENIED_ACE, *PACCESS_DENIED_ACE;
241
242 typedef struct _ACCESS_ALLOWED_CALLBACK_ACE {
243 ACE_HEADER Header;
244 ACCESS_MASK Mask;
245 DWORD SidStart;
246 } ACCESS_ALLOWED_CALLBACK_ACE, *PACCESS_ALLOWED_CALLBACK_ACE;
247
248 typedef struct _ACCESS_DENIED_CALLBACK_ACE {
249 ACE_HEADER Header;
250 ACCESS_MASK Mask;
251 DWORD SidStart;
252 } ACCESS_DENIED_CALLBACK_ACE, *PACCESS_DENIED_CALLBACK_ACE;
253
254 typedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
255 ACE_HEADER Header;
256 ACCESS_MASK Mask;
257 DWORD Flags;
258 GUID ObjectType;
259 GUID InheritedObjectType;
260 DWORD SidStart;
261 } ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, *PACCESS_ALLOWED_CALLBACK_OBJECT_ACE;
262
263 typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE {
264 ACE_HEADER Header;
265 ACCESS_MASK Mask;
266 DWORD Flags;
267 GUID ObjectType;
268 GUID InheritedObjectType;
269 DWORD SidStart;
270 } ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE;
271
272 typedef struct _SYSTEM_AUDIT_ACE {
273 ACE_HEADER Header;
274 ACCESS_MASK Mask;
275 DWORD SidStart;
276 } SYSTEM_AUDIT_ACE, *PSYSTEM_AUDIT_ACE;
277
278 typedef struct _SYSTEM_AUDIT_CALLBACK_ACE {
279 ACE_HEADER Header;
280 ACCESS_MASK Mask;
281 DWORD SidStart;
282 } SYSTEM_AUDIT_CALLBACK_ACE, *PSYSTEM_AUDIT_CALLBACK_ACE;
283
284 typedef struct _SYSTEM_MANDATORY_LABEL_ACE {
285 ACE_HEADER Header;
286 ACCESS_MASK Mask;
287 DWORD SidStart;
288 } SYSTEM_MANDATORY_LABEL_ACE, *PSYSTEM_MANDATORY_LABEL_ACE;
289
290 typedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
291 ACE_HEADER Header;
292 ACCESS_MASK Mask;
293 DWORD Flags;
294 GUID ObjectType;
295 GUID InheritedObjectType;
296 DWORD SidStart;
297 } SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, *PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE;
298
299 typedef struct _ACL {
300 UCHAR AclRevision;
301 UCHAR Sbz1;
302 USHORT AclSize;
303 USHORT AceCount;
304 USHORT Sbz2;
305 } ACL, *PACL;
306
307 typedef struct _SECURITY_DESCRIPTOR {
308 UCHAR Revision;
309 UCHAR Sbz1;
310 USHORT Control;
311 ULONG Owner;
312 ULONG Group;
313 ULONG Sacl;
314 ULONG Dacl;
315 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
316
317 typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
318
319 cpp_quote("#endif")
320
321 typedef struct _RPC_SID {
322 UCHAR Revision;
323 UCHAR SubAuthorityCount;
324 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
325 [size_is(SubAuthorityCount)] DWORD SubAuthority[];
326 } RPC_SID, *PRPC_SID;
327
328 cpp_quote("#endif /* _DTYP_IDL */")