Generating wtypes.h now with used defines.
authorArmin Novak <armin.novak@thincast.com>
Thu, 17 Dec 2015 11:01:52 +0000 (12:01 +0100)
committerArmin Novak <armin.novak@thincast.com>
Thu, 17 Dec 2015 11:01:52 +0000 (12:01 +0100)
winpr/include/CMakeLists.txt
winpr/include/winpr/wtypes.h
winpr/include/winpr/wtypes.h.in [new file with mode: 0644]

index 3ce562e..1121008 100644 (file)
@@ -16,6 +16,7 @@
 # limitations under the License.
 
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/winpr/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/winpr/version.h)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/winpr/wtypes.h.in ${CMAKE_CURRENT_BINARY_DIR}/winpr/wtypes.h)
 
 file(GLOB WINPR_HEADERS "winpr/*.h")
 install(FILES ${WINPR_HEADERS} DESTINATION include/winpr COMPONENT headers)
index 66b545b..7bbd695 100644 (file)
 #ifndef WINPR_WTYPES_H
 #define WINPR_WTYPES_H
 
+#define HAVE_STDINT_H
+#define HAVE_STDBOOL_H
+
 /* MSDN: Windows Data Types - http://msdn.microsoft.com/en-us/library/aa383751/ */
 /* [MS-DTYP]: Windows Data Types - http://msdn.microsoft.com/en-us/library/cc230273/ */
 
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
 #include <wchar.h>
 #include <winpr/windows.h>
 
diff --git a/winpr/include/winpr/wtypes.h.in b/winpr/include/winpr/wtypes.h.in
new file mode 100644 (file)
index 0000000..af23bce
--- /dev/null
@@ -0,0 +1,489 @@
+/**
+ * WinPR: Windows Portable Runtime
+ * Windows Data Types
+ *
+ * Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WINPR_WTYPES_H
+#define WINPR_WTYPES_H
+
+#cmakedefine HAVE_STDINT_H
+#cmakedefine HAVE_STDBOOL_H
+
+/* MSDN: Windows Data Types - http://msdn.microsoft.com/en-us/library/aa383751/ */
+/* [MS-DTYP]: Windows Data Types - http://msdn.microsoft.com/en-us/library/cc230273/ */
+
+#include <wchar.h>
+#include <winpr/windows.h>
+
+#include <winpr/spec.h>
+
+#if defined(HAVE_STDBOOL_H)
+#include <stdbool.h>
+#endif
+
+#if defined(HAVE_STDINT_H)
+#include <stdint.h>
+#endif
+
+#ifdef _WIN32
+#include <wtypes.h>
+#endif
+
+#if defined(__OBJC__) && defined(__APPLE__)
+#include <objc/objc.h>
+#endif
+
+#ifndef _WIN32
+
+#define WINAPI
+#define CDECL
+
+#ifndef FAR
+#define FAR
+#endif
+
+#ifndef NEAR
+#define NEAR
+#endif
+
+#if defined(HAVE_STDINT_H)
+#define __int8 int8_t
+#define __uint8        uint8_t
+#define __int16 int16_t
+#define __uint16 uint16_t
+#define __int32 int32_t
+#define __uint32 uint32_t
+#define __int64 int64_t
+#define __uint64 uint64_t
+#else
+#define __int8 char
+#define __uint8        unsigned char
+#define __int16 short
+#define __uint16 unsigned short
+#define __int32 int
+#define __uint32 unsigned int
+#define __int64 long long
+#define __uint64 unsigned long long
+#endif
+
+#if defined(HAVE_STDINT_H)
+#if defined(__x86_64__) || defined(__arm64__)
+#define __int3264 int64_t
+#define __uint3264 uint64_t
+#else
+#define __int3264 int32_t
+#define __uint3264 uint32_t
+#endif
+#else
+#if defined(__x86_64__) || defined(__arm64__)
+#define __int3264 __int64
+#define __uint3264 __uint64
+#else
+#define __int3264 __int32
+#define __uint3264 __uint32
+#endif
+#endif
+
+#if defined(HAVE_STDBOOL_H) && !defined(__OBJC__)
+typedef bool BOOL;
+#else
+#ifndef __OBJC__
+#if defined(__APPLE__)
+typedef signed char BOOL;
+#else
+#ifndef XMD_H
+typedef int BOOL;
+#endif
+#endif
+#endif
+#endif
+
+typedef BOOL *PBOOL, *LPBOOL;
+
+#if defined(HAVE_STDINT_H)
+typedef int32_t LONG;
+typedef uint32_t DWORD;
+typedef uint32_t ULONG;
+#elif defined(__LP64__) || defined(__APPLE__)
+typedef int LONG;
+typedef unsigned int DWORD;
+typedef unsigned int ULONG;
+#else
+typedef long LONG;
+typedef unsigned long DWORD;
+typedef unsigned long ULONG;
+#endif
+
+#if defined(HAVE_STDINT_H)
+typedef uint8_t BYTE, *PBYTE, *LPBYTE;
+#else
+typedef unsigned char BYTE, *PBYTE, *LPBYTE;
+#endif
+
+typedef BYTE BOOLEAN, *PBOOLEAN;
+#if defined(wchar_t)
+typedef wchar_t WCHAR, *PWCHAR;
+#else
+typedef unsigned short WCHAR, *PWCHAR;
+#endif
+typedef WCHAR* BSTR;
+typedef char CHAR, *PCHAR;
+typedef DWORD *PDWORD, *LPDWORD;
+#if defined(HAVE_STDINT_H)
+typedef uint32_t DWORD32;
+typedef uint64_t DWORD64;
+typedef uint64_t ULONGLONG;
+#else
+typedef unsigned int DWORD32;
+typedef unsigned __int64 DWORD64;
+typedef unsigned __int64 ULONGLONG;
+#endif
+typedef ULONGLONG DWORDLONG, *PDWORDLONG;
+typedef float FLOAT;
+typedef unsigned char UCHAR, *PUCHAR;
+typedef short SHORT;
+
+#ifndef FALSE
+#if defined(HAVE_STDBOOL_H) && !defined(__OBJC__)
+#define FALSE                  false
+#else
+#define FALSE                  0
+#endif
+#endif
+
+#ifndef TRUE
+#if defined(HAVE_STDBOOL_H) && !defined(__OBJC__)
+#define TRUE                   true
+#else
+#define TRUE                   1
+#endif
+#endif
+
+#define CONST const
+#define CALLBACK
+
+typedef void* HANDLE, *PHANDLE, *LPHANDLE;
+typedef HANDLE HINSTANCE;
+typedef HANDLE HMODULE;
+typedef HANDLE HWND;
+typedef HANDLE HBITMAP;
+typedef HANDLE HICON;
+typedef HANDLE HCURSOR;
+typedef HANDLE HBRUSH;
+typedef HANDLE HMENU;
+
+typedef DWORD HCALL;
+typedef int INT, *LPINT;
+#if defined(HAVE_STDINT_H)
+typedef int8_t INT8;
+typedef int16_t INT16;
+typedef int32_t INT32;
+typedef int64_t INT64;
+#else
+typedef signed char INT8;
+typedef signed short INT16;
+#ifndef XMD_H
+typedef signed int INT32;
+typedef signed __int64 INT64;
+#endif
+#endif
+typedef const WCHAR* LMCSTR;
+typedef WCHAR* LMSTR;
+typedef LONG *PLONG, *LPLONG;
+#if defined(HAVE_STDINT_H)
+typedef int64_t LONGLONG;
+#else
+typedef signed __int64 LONGLONG;
+#endif
+
+typedef __int3264 LONG_PTR, *PLONG_PTR;
+typedef __uint3264 ULONG_PTR, *PULONG_PTR;
+
+#if defined(HAVE_STDINT_H)
+typedef int32_t LONG32;
+typedef int64_t LONG64;
+#else
+typedef signed int LONG32;
+#ifndef XMD_H
+typedef signed __int64 LONG64;
+#endif
+#endif
+
+typedef CHAR *PSTR, *LPSTR, *LPCH;
+typedef const CHAR *LPCSTR,*PCSTR;
+
+typedef WCHAR *LPWSTR, *PWSTR, *LPWCH;
+typedef const WCHAR *LPCWSTR,*PCWSTR;
+
+typedef unsigned int UINT;
+#if defined(HAVE_STDINT_H)
+typedef uint64_t QWORD;
+
+typedef uint8_t UINT8;
+typedef uint16_t UINT16;
+typedef uint32_t UINT32;
+typedef uint64_t UINT64;
+#else
+typedef unsigned __int64 QWORD;
+
+typedef unsigned char UINT8;
+typedef unsigned short UINT16;
+typedef unsigned int UINT32;
+typedef unsigned __int64 UINT64;
+#endif
+
+typedef ULONG *PULONG;
+
+typedef LONG HRESULT;
+typedef LONG SCODE;
+typedef SCODE *PSCODE;
+
+typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
+typedef ULONG_PTR SIZE_T;
+#if defined(HAVE_STDINT_H)
+typedef uint32_t ULONG32;
+typedef uint64_t ULONG64;
+typedef uint16_t USHORT;
+typedef uint16_t WORD, *PWORD, *LPWORD;
+#else
+typedef unsigned int ULONG32;
+typedef unsigned __int64 ULONG64;
+typedef unsigned short USHORT;
+typedef unsigned short WORD, *PWORD, *LPWORD;
+#endif
+typedef wchar_t UNICODE;
+#define VOID void
+typedef void *PVOID, *LPVOID;
+typedef void *PVOID64, *LPVOID64;
+
+#if defined(HAVE_STDINT_H)
+typedef intptr_t INT_PTR;
+typedef uintptr_t UINT_PTR;
+#elif __x86_64__
+typedef __int64 INT_PTR;
+typedef unsigned __int64 UINT_PTR;
+#else
+typedef int INT_PTR;
+typedef unsigned int UINT_PTR;
+#endif
+
+typedef struct _GUID
+{
+       UINT32 Data1;
+       UINT16 Data2;
+       UINT16 Data3;
+       BYTE Data4[8];
+} GUID, UUID, *PGUID, *LPGUID, *LPCGUID;
+
+typedef struct _LUID
+{
+       DWORD LowPart;
+       LONG  HighPart;
+} LUID, *PLUID;
+
+typedef GUID IID;
+typedef IID* REFIID;
+
+#ifdef UNICODE
+#define _T(x)  L ## x
+#else
+#define _T(x)  x
+#endif
+
+#ifdef UNICODE
+typedef LPWSTR PTSTR;
+typedef LPWSTR LPTCH;
+typedef LPWSTR LPTSTR;
+typedef LPCWSTR LPCTSTR;
+#else
+typedef LPSTR PTSTR;
+typedef LPSTR LPTCH;
+typedef LPSTR LPTSTR;
+typedef LPCSTR LPCTSTR;
+#endif
+
+typedef union _ULARGE_INTEGER
+{
+       struct
+       {
+               DWORD LowPart;
+               DWORD HighPart;
+       };
+
+       struct
+       {
+               DWORD LowPart;
+               DWORD HighPart;
+       } u;
+
+       ULONGLONG QuadPart;
+} ULARGE_INTEGER, *PULARGE_INTEGER;
+
+typedef union _LARGE_INTEGER
+{
+       struct
+       {
+               DWORD LowPart;
+               LONG  HighPart;
+       };
+
+       struct
+       {
+               DWORD LowPart;
+               LONG  HighPart;
+       } u;
+
+       LONGLONG QuadPart;
+} LARGE_INTEGER, *PLARGE_INTEGER;
+
+typedef struct _FILETIME
+{
+       DWORD dwLowDateTime;
+       DWORD dwHighDateTime;
+} FILETIME, *PFILETIME, *LPFILETIME;
+
+typedef struct _SYSTEMTIME
+{
+       WORD wYear;
+       WORD wMonth;
+       WORD wDayOfWeek;
+       WORD wDay;
+       WORD wHour;
+       WORD wMinute;
+       WORD wSecond;
+       WORD wMilliseconds;
+} SYSTEMTIME,*PSYSTEMTIME,*LPSYSTEMTIME;
+
+typedef struct _RPC_SID_IDENTIFIER_AUTHORITY
+{
+       BYTE Value[6];
+} RPC_SID_IDENTIFIER_AUTHORITY;
+
+typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
+
+typedef struct _RPC_SID
+{
+       UCHAR Revision;
+       UCHAR SubAuthorityCount;
+       RPC_SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
+       ULONG SubAuthority[];
+} RPC_SID, *PRPC_SID, *PSID;
+
+typedef struct _ACL
+{
+       UCHAR AclRevision;
+       UCHAR Sbz1;
+       USHORT AclSize;
+       USHORT AceCount;
+       USHORT Sbz2;
+} ACL, *PACL;
+
+typedef struct _SECURITY_DESCRIPTOR
+{
+       UCHAR Revision;
+       UCHAR Sbz1;
+       USHORT Control;
+       PSID Owner;
+       PSID Group;
+       PACL Sacl;
+       PACL Dacl;
+} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
+
+typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
+
+typedef struct _SECURITY_ATTRIBUTES
+{
+       DWORD nLength;
+       LPVOID lpSecurityDescriptor;
+       BOOL bInheritHandle;
+} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
+
+typedef struct _PROCESS_INFORMATION
+{
+       HANDLE hProcess;
+       HANDLE hThread;
+       DWORD dwProcessId;
+       DWORD dwThreadId;
+} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
+
+typedef DWORD (*PTHREAD_START_ROUTINE)(LPVOID lpThreadParameter);
+typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
+
+typedef void* FARPROC;
+
+#endif
+
+typedef BYTE byte;
+typedef double DOUBLE;
+
+typedef void* PCONTEXT_HANDLE;
+typedef PCONTEXT_HANDLE* PPCONTEXT_HANDLE;
+
+typedef ULONG error_status_t;
+
+#ifndef _NTDEF_
+typedef LONG NTSTATUS;
+typedef NTSTATUS *PNTSTATUS;
+#endif
+
+#ifndef _LPCBYTE_DEFINED
+#define _LPCBYTE_DEFINED
+typedef const BYTE *LPCBYTE;
+#endif
+
+#ifndef _LPCVOID_DEFINED
+#define _LPCVOID_DEFINED
+typedef const VOID *LPCVOID;
+#endif
+
+#ifndef _WIN32
+
+typedef struct tagDEC
+{
+       USHORT wReserved;
+       union {
+               struct {
+                       BYTE scale;
+                       BYTE sign;
+               } DUMMYSTRUCTNAME;
+               USHORT signscale;
+       } DUMMYUNIONNAME;
+       ULONG Hi32;
+       union {
+               struct {
+                       ULONG Lo32;
+                       ULONG Mid32;
+               } DUMMYSTRUCTNAME2;
+               ULONGLONG Lo64;
+       } DUMMYUNIONNAME2;
+} DECIMAL;
+
+typedef DECIMAL *LPDECIMAL;
+
+#define DECIMAL_NEG            ((BYTE) 0x80)
+#define DECIMAL_SETZERO(dec)   { (dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0; }
+
+typedef char CCHAR;
+typedef DWORD LCID;
+typedef PDWORD PLCID;
+typedef WORD LANGID;
+
+#endif
+
+#include <winpr/user.h>
+
+#endif /* WINPR_WTYPES_H */