2 * WinPR: Windows Portable Runtime
5 * Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
20 #ifndef WINPR_WTYPES_H
21 #define WINPR_WTYPES_H
23 /* MSDN: Windows Data Types - http://msdn.microsoft.com/en-us/library/aa383751/ */
24 /* [MS-DTYP]: Windows Data Types - http://msdn.microsoft.com/en-us/library/cc230273/ */
27 #include <winpr/windows.h>
34 #define __int64 long long
37 #define __int3264 __int64
39 #define __int3264 __int32
42 typedef int BOOL, *PBOOL, *LPBOOL;
43 typedef unsigned char BYTE, *PBYTE, *LPBYTE;
44 typedef BYTE BOOLEAN, *PBOOLEAN;
45 typedef wchar_t WCHAR, *PWCHAR;
47 typedef char CHAR, *PCHAR;
48 typedef unsigned long DWORD, *PDWORD, *LPDWORD;
49 typedef unsigned int DWORD32;
50 typedef unsigned __int64 DWORD64;
51 typedef unsigned __int64 ULONGLONG;
52 typedef ULONGLONG DWORDLONG, *PDWORDLONG;
54 typedef unsigned char UCHAR, *PUCHAR;
59 typedef int INT, *LPINT;
60 typedef signed char INT8;
61 typedef signed short INT16;
62 typedef signed int INT32;
63 typedef signed __int64 INT64;
64 typedef const wchar_t* LMCSTR;
66 typedef long LONG, *PLONG, *LPLONG;
67 typedef signed __int64 LONGLONG;
70 typedef __int3264 LONG_PTR;
71 typedef unsigned __int3264 ULONG_PTR;
73 typedef signed int LONG32;
74 typedef signed __int64 LONG64;
75 typedef const char* LPCSTR;
77 typedef const wchar_t* LPCWSTR;
78 typedef char* PSTR, *LPSTR;
80 typedef wchar_t* LPWSTR, *PWSTR;
81 typedef long NTSTATUS;
83 typedef unsigned __int64 QWORD;
84 typedef UCHAR* STRING;
86 typedef unsigned int UINT;
87 typedef unsigned char UINT8;
88 typedef unsigned short UINT16;
89 typedef unsigned int UINT32;
90 typedef unsigned __int64 UINT64;
91 typedef unsigned long ULONG, *PULONG;
93 typedef ULONG_PTR DWORD_PTR;
94 typedef ULONG_PTR SIZE_T;
95 typedef unsigned int ULONG32;
96 typedef unsigned __int64 ULONG64;
97 typedef wchar_t UNICODE;
98 typedef unsigned short USHORT;
99 typedef void VOID, *PVOID, *LPVOID;
100 typedef const void *LPCVOID;
101 typedef unsigned short WORD, *PWORD, *LPWORD;
104 typedef __int64 INT_PTR;
105 typedef unsigned __int64 UINT_PTR;
108 typedef unsigned int UINT_PTR;
114 unsigned short Data2;
115 unsigned short Data3;
117 } GUID, UUID, *PGUID;
126 typedef LPWSTR LPTSTR;
127 typedef LPCWSTR LPCTSTR;
129 typedef LPSTR LPTSTR;
130 typedef LPCSTR LPCTSTR;
133 typedef struct _FILETIME
136 DWORD dwHighDateTime;
137 } FILETIME, *PFILETIME, *LPFILETIME;
139 typedef struct _RPC_SID_IDENTIFIER_AUTHORITY
142 } RPC_SID_IDENTIFIER_AUTHORITY;
144 typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
146 typedef struct _RPC_SID
148 unsigned char Revision;
149 unsigned char SubAuthorityCount;
150 RPC_SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
151 unsigned long SubAuthority[];
152 } RPC_SID, *PRPC_SID, *PSID;
156 unsigned char AclRevision;
158 unsigned short AclSize;
159 unsigned short AceCount;
163 typedef struct _SECURITY_DESCRIPTOR
172 } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
177 typedef double DOUBLE;
179 typedef void* PCONTEXT_HANDLE;
180 typedef PCONTEXT_HANDLE* PPCONTEXT_HANDLE;
182 typedef unsigned long error_status_t;
184 #endif /* WINPR_WTYPES_H */