From 63894eb4e74197481350fee92986e39ffee3a27e Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 7 Sep 2015 12:09:39 +0200 Subject: [PATCH 01/15] Using stdint.h and stdbool.h for type definitions When stdint.h or stdbool.h are detected, use these standard types for definitions in wtypes.h --- CMakeLists.txt | 10 +++ config.h.in | 1 - winpr/include/winpr/wtypes.h | 132 ++++++++++++++++++++++++++++++----- 3 files changed, 123 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 411bdef73..abacb3650 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -328,6 +328,7 @@ if(NOT IOS) check_include_files(unistd.h HAVE_UNISTD_H) check_include_files(execinfo.h HAVE_EXECINFO_H) check_include_files(stdint.h HAVE_STDINT_H) + check_include_files(stdbool.h HAVE_STDBOOL_H) check_include_files(inttypes.h HAVE_INTTYPES_H) check_include_files(sys/modem.h HAVE_SYS_MODEM_H) check_include_files(sys/filio.h HAVE_SYS_FILIO_H) @@ -339,10 +340,19 @@ else() set(HAVE_FCNTL_H 1) set(HAVE_UNISTD_H 1) set(HAVE_STDINT_H 1) + set(HAVE_STDBOOL_H 1) set(HAVE_INTTYPES_H 1) set(HAVE_SYS_FILIO_H 1) endif() +if(HAVE_STDBOOL_H) + add_definitions(-DHAVE_STDBOOL_H) +endif() + +if(HAVE_STDINT_H) + add_definitions(-DHAVE_STDINT_H) +endif() + if(NOT IOS) check_struct_has_member("struct tm" tm_gmtoff time.h HAVE_TM_GMTOFF) else() diff --git a/config.h.in b/config.h.in index 0f39545f2..df24a3071 100644 --- a/config.h.in +++ b/config.h.in @@ -4,7 +4,6 @@ /* Include files */ #cmakedefine HAVE_FCNTL_H #cmakedefine HAVE_UNISTD_H -#cmakedefine HAVE_STDINT_H #cmakedefine HAVE_INTTYPES_H #cmakedefine HAVE_SYS_MODEM_H #cmakedefine HAVE_SYS_FILIO_H diff --git a/winpr/include/winpr/wtypes.h b/winpr/include/winpr/wtypes.h index 271b8c160..635c106b2 100644 --- a/winpr/include/winpr/wtypes.h +++ b/winpr/include/winpr/wtypes.h @@ -28,6 +28,14 @@ #include +#if defined(HAVE_STDBOOL_H) +#include +#endif + +#if defined(HAVE_STDINT_H) +#include +#endif + #ifdef _WIN32 #include #endif @@ -49,17 +57,39 @@ #define NEAR #endif +#if defined(HAVE_STDINT_H) +#define int8_t char +#define int16_t short +#define int32_t int +#define int64_t long long +#else #define __int8 char #define __int16 short #define __int32 int #define __int64 long long - -#if defined(__x86_64__) || defined(__arm64__) -#define __int3264 __int64 -#else -#define __int3264 __int32 #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 unsigned __int64 +#else +#define __int3264 __int32 +#define __uint3264 unsigned __int32 +#endif +#endif + +#if defined(HAVE_STDBOOL_H) +typedef bool BOOL; +#else #ifndef __OBJC__ #if defined(__APPLE__) typedef signed char BOOL; @@ -69,10 +99,15 @@ typedef int BOOL; #endif #endif #endif +#endif typedef BOOL *PBOOL, *LPBOOL; -#if defined(__LP64__) || defined(__APPLE__) +#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; @@ -82,27 +117,50 @@ 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) +#define FALSE false +#else #define FALSE 0 #endif +#endif #ifndef TRUE +#if defined(HAVE_STDBOOL_H) +#define TRUE true +#else #define TRUE 1 #endif +#endif #define CONST const #define CALLBACK @@ -119,25 +177,41 @@ 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 unsigned __int3264 ULONG_PTR, *PULONG_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; @@ -145,13 +219,23 @@ 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 int UINT; typedef unsigned char UINT8; typedef unsigned short UINT16; typedef unsigned int UINT32; typedef unsigned __int64 UINT64; +#endif + typedef ULONG *PULONG; typedef LONG HRESULT; @@ -160,15 +244,25 @@ 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 wchar_t UNICODE; 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; -typedef unsigned short WORD, *PWORD, *LPWORD; +#if defined(HAVE_STDINT_H) +typedef intptr_t INT_PTR; +typedef uintptr_t UINT_PTR; #if defined(__x86_64__) || defined(__arm64__) typedef __int64 INT_PTR; typedef unsigned __int64 UINT_PTR; @@ -273,19 +367,19 @@ typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION; typedef struct _RPC_SID { - unsigned char Revision; - unsigned char SubAuthorityCount; + UCHAR Revision; + UCHAR SubAuthorityCount; RPC_SID_IDENTIFIER_AUTHORITY IdentifierAuthority; - unsigned long SubAuthority[]; + ULONG SubAuthority[]; } RPC_SID, *PRPC_SID, *PSID; typedef struct _ACL { - unsigned char AclRevision; - unsigned char Sbz1; - unsigned short AclSize; - unsigned short AceCount; - unsigned short Sbz2; + UCHAR AclRevision; + UCHAR Sbz1; + USHORT AclSize; + USHORT AceCount; + USHORT Sbz2; } ACL, *PACL; typedef struct _SECURITY_DESCRIPTOR @@ -329,7 +423,7 @@ typedef double DOUBLE; typedef void* PCONTEXT_HANDLE; typedef PCONTEXT_HANDLE* PPCONTEXT_HANDLE; -typedef unsigned long error_status_t; +typedef ULONG error_status_t; #ifndef _NTDEF_ typedef LONG NTSTATUS; From 74c15a6309a9154389220461774d80aa6f1107aa Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 7 Sep 2015 13:52:35 +0200 Subject: [PATCH 02/15] Fixed freerdp_assistance_file_new argument declaration --- include/freerdp/assistance.h | 2 +- libfreerdp/common/assistance.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/freerdp/assistance.h b/include/freerdp/assistance.h index 23ce9339e..48301a2ae 100644 --- a/include/freerdp/assistance.h +++ b/include/freerdp/assistance.h @@ -77,7 +77,7 @@ FREERDP_API int freerdp_assistance_decrypt(rdpAssistanceFile* file, const char* FREERDP_API int freerdp_client_populate_settings_from_assistance_file(rdpAssistanceFile* file, rdpSettings* settings); -FREERDP_API rdpAssistanceFile* freerdp_assistance_file_new(); +FREERDP_API rdpAssistanceFile* freerdp_assistance_file_new(void); FREERDP_API void freerdp_assistance_file_free(rdpAssistanceFile* file); #ifdef __cplusplus diff --git a/libfreerdp/common/assistance.c b/libfreerdp/common/assistance.c index 2855a2b0a..9e4702e7c 100644 --- a/libfreerdp/common/assistance.c +++ b/libfreerdp/common/assistance.c @@ -1193,7 +1193,7 @@ int freerdp_client_populate_settings_from_assistance_file(rdpAssistanceFile* fil return 1; } -rdpAssistanceFile* freerdp_assistance_file_new() +rdpAssistanceFile* freerdp_assistance_file_new(void) { return (rdpAssistanceFile*) calloc(1, sizeof(rdpAssistanceFile)); } From 639c1760042c1136311f7b16c1aa52f7761ab0f1 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 7 Sep 2015 13:53:37 +0200 Subject: [PATCH 03/15] Fixed DecodeEx return value --- channels/tsmf/client/tsmf_decoder.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/channels/tsmf/client/tsmf_decoder.h b/channels/tsmf/client/tsmf_decoder.h index d507b9e1b..fe8d99fd5 100644 --- a/channels/tsmf/client/tsmf_decoder.h +++ b/channels/tsmf/client/tsmf_decoder.h @@ -49,7 +49,7 @@ struct _ITSMFDecoder /* Optional Contol function */ BOOL (*Control)(ITSMFDecoder *decoder, ITSMFControlMsg control_msg, UINT32 *arg); /* Decode a sample with extended interface. */ - int (*DecodeEx)(ITSMFDecoder *decoder, const BYTE *data, UINT32 data_size, UINT32 extensions, + BOOL (*DecodeEx)(ITSMFDecoder *decoder, const BYTE *data, UINT32 data_size, UINT32 extensions, UINT64 start_time, UINT64 end_time, UINT64 duration); /* Get current play time */ UINT64(*GetRunningTime)(ITSMFDecoder *decoder); From 90251f5e0d75c9e85500f6fac00d5c633bf02e17 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 7 Sep 2015 13:54:19 +0200 Subject: [PATCH 04/15] Fixed OnNewChannelConnection arguments --- channels/audin/client/audin_main.c | 2 +- channels/disp/client/disp_main.c | 2 +- channels/drdynvc/client/drdynvc_main.c | 6 +++--- channels/echo/client/echo_main.c | 2 +- channels/rdpei/client/rdpei_main.c | 2 +- channels/rdpgfx/client/rdpgfx_main.c | 2 +- channels/tsmf/client/tsmf_main.c | 2 +- channels/urbdrc/client/urbdrc_main.c | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/channels/audin/client/audin_main.c b/channels/audin/client/audin_main.c index 17bb60f7d..373ae86dc 100644 --- a/channels/audin/client/audin_main.c +++ b/channels/audin/client/audin_main.c @@ -522,7 +522,7 @@ static UINT audin_on_close(IWTSVirtualChannelCallback* pChannelCallback) * @return 0 on success, otherwise a Win32 error code */ static UINT audin_on_new_channel_connection(IWTSListenerCallback* pListenerCallback, - IWTSVirtualChannel* pChannel, BYTE* Data, int* pbAccept, + IWTSVirtualChannel* pChannel, BYTE* Data, BOOL* pbAccept, IWTSVirtualChannelCallback** ppCallback) { AUDIN_CHANNEL_CALLBACK* callback; diff --git a/channels/disp/client/disp_main.c b/channels/disp/client/disp_main.c index 6486388ba..d70f61964 100644 --- a/channels/disp/client/disp_main.c +++ b/channels/disp/client/disp_main.c @@ -254,7 +254,7 @@ static UINT disp_on_close(IWTSVirtualChannelCallback* pChannelCallback) * @return 0 on success, otherwise a Win32 error code */ static UINT disp_on_new_channel_connection(IWTSListenerCallback* pListenerCallback, - IWTSVirtualChannel* pChannel, BYTE* Data, int* pbAccept, + IWTSVirtualChannel* pChannel, BYTE* Data, BOOL* pbAccept, IWTSVirtualChannelCallback** ppCallback) { DISP_CHANNEL_CALLBACK* callback; diff --git a/channels/drdynvc/client/drdynvc_main.c b/channels/drdynvc/client/drdynvc_main.c index cfe8679bc..83e8497b8 100644 --- a/channels/drdynvc/client/drdynvc_main.c +++ b/channels/drdynvc/client/drdynvc_main.c @@ -436,7 +436,7 @@ static UINT dvcman_close_channel_iface(IWTSVirtualChannel* pChannel) UINT dvcman_create_channel(IWTSVirtualChannelManager* pChannelMgr, UINT32 ChannelId, const char* ChannelName) { int i; - int bAccept; + BOOL bAccept; DVCMAN_LISTENER* listener; DVCMAN_CHANNEL* channel; DrdynvcClientContext* context; @@ -462,11 +462,11 @@ UINT dvcman_create_channel(IWTSVirtualChannelManager* pChannelMgr, UINT32 Channe channel->iface.Write = dvcman_write_channel; channel->iface.Close = dvcman_close_channel_iface; - bAccept = 1; + bAccept = TRUE; pCallback = NULL; if ((error = listener->listener_callback->OnNewChannelConnection(listener->listener_callback, - (IWTSVirtualChannel*) channel, NULL, &bAccept, &pCallback)) == CHANNEL_RC_OK && bAccept == 1) + (IWTSVirtualChannel*) channel, NULL, &bAccept, &pCallback)) == CHANNEL_RC_OK && bAccept) { WLog_DBG(TAG, "listener %s created new channel %d", listener->channel_name, channel->channel_id); diff --git a/channels/echo/client/echo_main.c b/channels/echo/client/echo_main.c index 871b75b89..fe2d3631c 100644 --- a/channels/echo/client/echo_main.c +++ b/channels/echo/client/echo_main.c @@ -96,7 +96,7 @@ static UINT echo_on_close(IWTSVirtualChannelCallback* pChannelCallback) * @return 0 on success, otherwise a Win32 error code */ static UINT echo_on_new_channel_connection(IWTSListenerCallback* pListenerCallback, - IWTSVirtualChannel* pChannel, BYTE* Data, int* pbAccept, + IWTSVirtualChannel* pChannel, BYTE* Data, BOOL* pbAccept, IWTSVirtualChannelCallback** ppCallback) { ECHO_CHANNEL_CALLBACK* callback; diff --git a/channels/rdpei/client/rdpei_main.c b/channels/rdpei/client/rdpei_main.c index 7494d4b0e..d1cbb7c07 100644 --- a/channels/rdpei/client/rdpei_main.c +++ b/channels/rdpei/client/rdpei_main.c @@ -596,7 +596,7 @@ static UINT rdpei_on_close(IWTSVirtualChannelCallback* pChannelCallback) * @return 0 on success, otherwise a Win32 error code */ static UINT rdpei_on_new_channel_connection(IWTSListenerCallback* pListenerCallback, - IWTSVirtualChannel* pChannel, BYTE* Data, int* pbAccept, + IWTSVirtualChannel* pChannel, BYTE* Data, BOOL* pbAccept, IWTSVirtualChannelCallback** ppCallback) { RDPEI_CHANNEL_CALLBACK* callback; diff --git a/channels/rdpgfx/client/rdpgfx_main.c b/channels/rdpgfx/client/rdpgfx_main.c index cf18fc4c7..7da8c9fd2 100644 --- a/channels/rdpgfx/client/rdpgfx_main.c +++ b/channels/rdpgfx/client/rdpgfx_main.c @@ -1265,7 +1265,7 @@ static UINT rdpgfx_on_close(IWTSVirtualChannelCallback* pChannelCallback) * @return 0 on success, otherwise a Win32 error code */ static UINT rdpgfx_on_new_channel_connection(IWTSListenerCallback* pListenerCallback, - IWTSVirtualChannel* pChannel, BYTE* Data, int* pbAccept, + IWTSVirtualChannel* pChannel, BYTE* Data, BOOL* pbAccept, IWTSVirtualChannelCallback** ppCallback) { RDPGFX_CHANNEL_CALLBACK* callback; diff --git a/channels/tsmf/client/tsmf_main.c b/channels/tsmf/client/tsmf_main.c index 0c8bdea3a..b473954dc 100644 --- a/channels/tsmf/client/tsmf_main.c +++ b/channels/tsmf/client/tsmf_main.c @@ -351,7 +351,7 @@ static UINT tsmf_on_close(IWTSVirtualChannelCallback *pChannelCallback) static UINT tsmf_on_new_channel_connection(IWTSListenerCallback *pListenerCallback, IWTSVirtualChannel *pChannel, BYTE *Data, - int *pbAccept, + BOOL *pbAccept, IWTSVirtualChannelCallback **ppCallback) { TSMF_CHANNEL_CALLBACK* callback; diff --git a/channels/urbdrc/client/urbdrc_main.c b/channels/urbdrc/client/urbdrc_main.c index d69205d60..78cd77da0 100644 --- a/channels/urbdrc/client/urbdrc_main.c +++ b/channels/urbdrc/client/urbdrc_main.c @@ -1335,7 +1335,7 @@ static UINT urbdrc_on_close(IWTSVirtualChannelCallback * pChannelCallback) * @return 0 on success, otherwise a Win32 error code */ static UINT urbdrc_on_new_channel_connection(IWTSListenerCallback* pListenerCallback, - IWTSVirtualChannel * pChannel, BYTE* pData, int* pbAccept, IWTSVirtualChannelCallback** ppCallback) + IWTSVirtualChannel * pChannel, BYTE* pData, BOOL* pbAccept, IWTSVirtualChannelCallback** ppCallback) { URBDRC_LISTENER_CALLBACK* listener_callback = (URBDRC_LISTENER_CALLBACK*) pListenerCallback; URBDRC_CHANNEL_CALLBACK* callback; From 00b8d802d291a93e809e3328c883f2253db1ee69 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 7 Sep 2015 13:54:41 +0200 Subject: [PATCH 05/15] Fixed callback function return --- libfreerdp/codec/jpeg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libfreerdp/codec/jpeg.c b/libfreerdp/codec/jpeg.c index 784b5a7df..9fa90bf15 100644 --- a/libfreerdp/codec/jpeg.c +++ b/libfreerdp/codec/jpeg.c @@ -45,7 +45,7 @@ static void my_init_source(j_decompress_ptr cinfo) } /*****************************************************************************/ -static BOOL my_fill_input_buffer(j_decompress_ptr cinfo) +static boolean my_fill_input_buffer(j_decompress_ptr cinfo) { struct mydata_decomp* md; @@ -61,7 +61,7 @@ static void my_skip_input_data(j_decompress_ptr cinfo, long num_bytes) } /*****************************************************************************/ -static BOOL my_resync_to_restart(j_decompress_ptr cinfo, int desired) +static boolean my_resync_to_restart(j_decompress_ptr cinfo, int desired) { return 1; } From c8652371e7bb7a37ebb7b197eceded5b29505b3f Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 7 Sep 2015 15:05:18 +0200 Subject: [PATCH 06/15] Removed stdbool define for iOS. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index abacb3650..925f0e40d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -340,7 +340,7 @@ else() set(HAVE_FCNTL_H 1) set(HAVE_UNISTD_H 1) set(HAVE_STDINT_H 1) - set(HAVE_STDBOOL_H 1) + set(HAVE_STDBOOL_H 0) set(HAVE_INTTYPES_H 1) set(HAVE_SYS_FILIO_H 1) endif() From 6e69caad9f21046c25a56c8170658cd9c2795063 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 7 Sep 2015 15:11:08 +0200 Subject: [PATCH 07/15] Disabled definition of BOOL for objective C --- winpr/include/winpr/wtypes.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/winpr/include/winpr/wtypes.h b/winpr/include/winpr/wtypes.h index 635c106b2..b734a8c33 100644 --- a/winpr/include/winpr/wtypes.h +++ b/winpr/include/winpr/wtypes.h @@ -87,7 +87,7 @@ #endif #endif -#if defined(HAVE_STDBOOL_H) +#if defined(HAVE_STDBOOL_H) && !defined(__OBJC__) typedef bool BOOL; #else #ifndef __OBJC__ @@ -147,7 +147,7 @@ typedef unsigned char UCHAR, *PUCHAR; typedef short SHORT; #ifndef FALSE -#if defined(HAVE_STDBOOL_H) +#if defined(HAVE_STDBOOL_H) && !defined(__OBJC__) #define FALSE false #else #define FALSE 0 @@ -155,7 +155,7 @@ typedef short SHORT; #endif #ifndef TRUE -#if defined(HAVE_STDBOOL_H) +#if defined(HAVE_STDBOOL_H) && !defined(__OBJC__) #define TRUE true #else #define TRUE 1 From ff24885ff3d53790bf66c4ee4baab5d4fe57144f Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 7 Sep 2015 16:34:23 +0200 Subject: [PATCH 08/15] Fixed mixup of type defines. --- winpr/include/winpr/wtypes.h | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/winpr/include/winpr/wtypes.h b/winpr/include/winpr/wtypes.h index b734a8c33..b363ff3e4 100644 --- a/winpr/include/winpr/wtypes.h +++ b/winpr/include/winpr/wtypes.h @@ -58,15 +58,23 @@ #endif #if defined(HAVE_STDINT_H) -#define int8_t char -#define int16_t short -#define int32_t int -#define int64_t long long +#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) @@ -207,7 +215,6 @@ typedef int32_t LONG32; typedef int64_t LONG64; #else typedef signed int LONG32; - #ifndef XMD_H typedef signed __int64 LONG64; #endif @@ -263,7 +270,7 @@ typedef void *PVOID64, *LPVOID64; #if defined(HAVE_STDINT_H) typedef intptr_t INT_PTR; typedef uintptr_t UINT_PTR; -#if defined(__x86_64__) || defined(__arm64__) +#elif __x86_64__ typedef __int64 INT_PTR; typedef unsigned __int64 UINT_PTR; #else From 533e14745e858534c861a9fe9bdb26c0abc39a3f Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Tue, 8 Sep 2015 13:03:13 +0200 Subject: [PATCH 09/15] Fixed broken objective C detection. --- winpr/include/winpr/wtypes.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/winpr/include/winpr/wtypes.h b/winpr/include/winpr/wtypes.h index b363ff3e4..1a7191fc6 100644 --- a/winpr/include/winpr/wtypes.h +++ b/winpr/include/winpr/wtypes.h @@ -88,11 +88,10 @@ #else #if defined(__x86_64__) || defined(__arm64__) #define __int3264 __int64 -#define __uint3264 unsigned __int64 +#define __uint3264 __uint64 #else #define __int3264 __int32 -#define __uint3264 unsigned __int32 -#endif +#define __uint3264 __uint32 #endif #if defined(HAVE_STDBOOL_H) && !defined(__OBJC__) From d339b986de980a0e96ca78cb933deb3feb31acab Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Tue, 10 Nov 2015 11:45:49 +0100 Subject: [PATCH 10/15] Fixed broken #if #endif. --- winpr/include/winpr/wtypes.h | 1 + 1 file changed, 1 insertion(+) diff --git a/winpr/include/winpr/wtypes.h b/winpr/include/winpr/wtypes.h index 1a7191fc6..2ba38fb1e 100644 --- a/winpr/include/winpr/wtypes.h +++ b/winpr/include/winpr/wtypes.h @@ -93,6 +93,7 @@ #define __int3264 __int32 #define __uint3264 __uint32 #endif +#endif #if defined(HAVE_STDBOOL_H) && !defined(__OBJC__) typedef bool BOOL; From 120e5e2d43a53f631aeb41473f87b8715212e0c9 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Thu, 17 Dec 2015 11:28:03 +0100 Subject: [PATCH 11/15] Moved header detection defines to config.h --- CMakeLists.txt | 8 -------- config.h.in | 2 ++ winpr/include/winpr/wtypes.h | 4 ++++ 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 925f0e40d..6bc98ec16 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -345,14 +345,6 @@ else() set(HAVE_SYS_FILIO_H 1) endif() -if(HAVE_STDBOOL_H) - add_definitions(-DHAVE_STDBOOL_H) -endif() - -if(HAVE_STDINT_H) - add_definitions(-DHAVE_STDINT_H) -endif() - if(NOT IOS) check_struct_has_member("struct tm" tm_gmtoff time.h HAVE_TM_GMTOFF) else() diff --git a/config.h.in b/config.h.in index df24a3071..9dc44bdba 100644 --- a/config.h.in +++ b/config.h.in @@ -4,6 +4,8 @@ /* Include files */ #cmakedefine HAVE_FCNTL_H #cmakedefine HAVE_UNISTD_H +#cmakedefine HAVE_STDINT_H +#cmakedefine HAVE_STDBOOL_H #cmakedefine HAVE_INTTYPES_H #cmakedefine HAVE_SYS_MODEM_H #cmakedefine HAVE_SYS_FILIO_H diff --git a/winpr/include/winpr/wtypes.h b/winpr/include/winpr/wtypes.h index 2ba38fb1e..66b545b5a 100644 --- a/winpr/include/winpr/wtypes.h +++ b/winpr/include/winpr/wtypes.h @@ -23,6 +23,10 @@ /* 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 #include From f8565b8b7503aedbf75468ec5fb9c4c3a91d3366 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Thu, 17 Dec 2015 12:01:52 +0100 Subject: [PATCH 12/15] Generating wtypes.h now with used defines. --- winpr/include/CMakeLists.txt | 1 + winpr/include/winpr/wtypes.h | 7 +- winpr/include/winpr/wtypes.h.in | 489 ++++++++++++++++++++++++++++++++ 3 files changed, 493 insertions(+), 4 deletions(-) create mode 100644 winpr/include/winpr/wtypes.h.in diff --git a/winpr/include/CMakeLists.txt b/winpr/include/CMakeLists.txt index 3ce562e29..1121008ad 100644 --- a/winpr/include/CMakeLists.txt +++ b/winpr/include/CMakeLists.txt @@ -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) diff --git a/winpr/include/winpr/wtypes.h b/winpr/include/winpr/wtypes.h index 66b545b5a..7bbd695b2 100644 --- a/winpr/include/winpr/wtypes.h +++ b/winpr/include/winpr/wtypes.h @@ -20,13 +20,12 @@ #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 #include diff --git a/winpr/include/winpr/wtypes.h.in b/winpr/include/winpr/wtypes.h.in new file mode 100644 index 000000000..af23bce2a --- /dev/null +++ b/winpr/include/winpr/wtypes.h.in @@ -0,0 +1,489 @@ +/** + * WinPR: Windows Portable Runtime + * Windows Data Types + * + * Copyright 2012 Marc-Andre Moreau + * + * 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 +#include + +#include + +#if defined(HAVE_STDBOOL_H) +#include +#endif + +#if defined(HAVE_STDINT_H) +#include +#endif + +#ifdef _WIN32 +#include +#endif + +#if defined(__OBJC__) && defined(__APPLE__) +#include +#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 + +#endif /* WINPR_WTYPES_H */ From ef23b4568c062d6a15e410be5e4c15bb38460af3 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Thu, 17 Dec 2015 13:15:00 +0100 Subject: [PATCH 13/15] Renamed HAVE_STDXX_H in public header. --- winpr/include/winpr/wtypes.h | 36 ++++++++++++++++----------------- winpr/include/winpr/wtypes.h.in | 36 ++++++++++++++++----------------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/winpr/include/winpr/wtypes.h b/winpr/include/winpr/wtypes.h index 7bbd695b2..689f32f2f 100644 --- a/winpr/include/winpr/wtypes.h +++ b/winpr/include/winpr/wtypes.h @@ -20,8 +20,8 @@ #ifndef WINPR_WTYPES_H #define WINPR_WTYPES_H -#define HAVE_STDINT_H -#define HAVE_STDBOOL_H +#define WINPR_HAVE_STDINT_H 0 +#define WINPR_HAVE_STDINT_H 0 /* 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/ */ @@ -31,11 +31,11 @@ #include -#if defined(HAVE_STDBOOL_H) +#if WINPR_HAVE_STDBOOL_H #include #endif -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H #include #endif @@ -60,7 +60,7 @@ #define NEAR #endif -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H #define __int8 int8_t #define __uint8 uint8_t #define __int16 int16_t @@ -80,7 +80,7 @@ #define __uint64 unsigned long long #endif -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H #if defined(__x86_64__) || defined(__arm64__) #define __int3264 int64_t #define __uint3264 uint64_t @@ -98,7 +98,7 @@ #endif #endif -#if defined(HAVE_STDBOOL_H) && !defined(__OBJC__) +#if WINPR_HAVE_STDBOOL_H && !defined(__OBJC__) typedef bool BOOL; #else #ifndef __OBJC__ @@ -114,7 +114,7 @@ typedef int BOOL; typedef BOOL *PBOOL, *LPBOOL; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef int32_t LONG; typedef uint32_t DWORD; typedef uint32_t ULONG; @@ -128,7 +128,7 @@ typedef unsigned long DWORD; typedef unsigned long ULONG; #endif -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef uint8_t BYTE, *PBYTE, *LPBYTE; #else typedef unsigned char BYTE, *PBYTE, *LPBYTE; @@ -143,7 +143,7 @@ typedef unsigned short WCHAR, *PWCHAR; typedef WCHAR* BSTR; typedef char CHAR, *PCHAR; typedef DWORD *PDWORD, *LPDWORD; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef uint32_t DWORD32; typedef uint64_t DWORD64; typedef uint64_t ULONGLONG; @@ -158,7 +158,7 @@ typedef unsigned char UCHAR, *PUCHAR; typedef short SHORT; #ifndef FALSE -#if defined(HAVE_STDBOOL_H) && !defined(__OBJC__) +#if WINPR_HAVE_STDBOOL_H && !defined(__OBJC__) #define FALSE false #else #define FALSE 0 @@ -166,7 +166,7 @@ typedef short SHORT; #endif #ifndef TRUE -#if defined(HAVE_STDBOOL_H) && !defined(__OBJC__) +#if WINPR_HAVE_STDBOOL_H && !defined(__OBJC__) #define TRUE true #else #define TRUE 1 @@ -188,7 +188,7 @@ typedef HANDLE HMENU; typedef DWORD HCALL; typedef int INT, *LPINT; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef int8_t INT8; typedef int16_t INT16; typedef int32_t INT32; @@ -204,7 +204,7 @@ typedef signed __int64 INT64; typedef const WCHAR* LMCSTR; typedef WCHAR* LMSTR; typedef LONG *PLONG, *LPLONG; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef int64_t LONGLONG; #else typedef signed __int64 LONGLONG; @@ -213,7 +213,7 @@ typedef signed __int64 LONGLONG; typedef __int3264 LONG_PTR, *PLONG_PTR; typedef __uint3264 ULONG_PTR, *PULONG_PTR; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef int32_t LONG32; typedef int64_t LONG64; #else @@ -230,7 +230,7 @@ typedef WCHAR *LPWSTR, *PWSTR, *LPWCH; typedef const WCHAR *LPCWSTR,*PCWSTR; typedef unsigned int UINT; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef uint64_t QWORD; typedef uint8_t UINT8; @@ -254,7 +254,7 @@ typedef SCODE *PSCODE; typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR; typedef ULONG_PTR SIZE_T; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef uint32_t ULONG32; typedef uint64_t ULONG64; typedef uint16_t USHORT; @@ -270,7 +270,7 @@ typedef wchar_t UNICODE; typedef void *PVOID, *LPVOID; typedef void *PVOID64, *LPVOID64; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef intptr_t INT_PTR; typedef uintptr_t UINT_PTR; #elif __x86_64__ diff --git a/winpr/include/winpr/wtypes.h.in b/winpr/include/winpr/wtypes.h.in index af23bce2a..09fba0d20 100644 --- a/winpr/include/winpr/wtypes.h.in +++ b/winpr/include/winpr/wtypes.h.in @@ -20,8 +20,8 @@ #ifndef WINPR_WTYPES_H #define WINPR_WTYPES_H -#cmakedefine HAVE_STDINT_H -#cmakedefine HAVE_STDBOOL_H +#define WINPR_HAVE_STDINT_H @HAVE_STDINT_H@ +#define WINPR_HAVE_STDINT_H @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/ */ @@ -31,11 +31,11 @@ #include -#if defined(HAVE_STDBOOL_H) +#if WINPR_HAVE_STDBOOL_H #include #endif -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H #include #endif @@ -60,7 +60,7 @@ #define NEAR #endif -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H #define __int8 int8_t #define __uint8 uint8_t #define __int16 int16_t @@ -80,7 +80,7 @@ #define __uint64 unsigned long long #endif -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H #if defined(__x86_64__) || defined(__arm64__) #define __int3264 int64_t #define __uint3264 uint64_t @@ -98,7 +98,7 @@ #endif #endif -#if defined(HAVE_STDBOOL_H) && !defined(__OBJC__) +#if WINPR_HAVE_STDBOOL_H && !defined(__OBJC__) typedef bool BOOL; #else #ifndef __OBJC__ @@ -114,7 +114,7 @@ typedef int BOOL; typedef BOOL *PBOOL, *LPBOOL; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef int32_t LONG; typedef uint32_t DWORD; typedef uint32_t ULONG; @@ -128,7 +128,7 @@ typedef unsigned long DWORD; typedef unsigned long ULONG; #endif -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef uint8_t BYTE, *PBYTE, *LPBYTE; #else typedef unsigned char BYTE, *PBYTE, *LPBYTE; @@ -143,7 +143,7 @@ typedef unsigned short WCHAR, *PWCHAR; typedef WCHAR* BSTR; typedef char CHAR, *PCHAR; typedef DWORD *PDWORD, *LPDWORD; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef uint32_t DWORD32; typedef uint64_t DWORD64; typedef uint64_t ULONGLONG; @@ -158,7 +158,7 @@ typedef unsigned char UCHAR, *PUCHAR; typedef short SHORT; #ifndef FALSE -#if defined(HAVE_STDBOOL_H) && !defined(__OBJC__) +#if WINPR_HAVE_STDBOOL_H && !defined(__OBJC__) #define FALSE false #else #define FALSE 0 @@ -166,7 +166,7 @@ typedef short SHORT; #endif #ifndef TRUE -#if defined(HAVE_STDBOOL_H) && !defined(__OBJC__) +#if WINPR_HAVE_STDBOOL_H && !defined(__OBJC__) #define TRUE true #else #define TRUE 1 @@ -188,7 +188,7 @@ typedef HANDLE HMENU; typedef DWORD HCALL; typedef int INT, *LPINT; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef int8_t INT8; typedef int16_t INT16; typedef int32_t INT32; @@ -204,7 +204,7 @@ typedef signed __int64 INT64; typedef const WCHAR* LMCSTR; typedef WCHAR* LMSTR; typedef LONG *PLONG, *LPLONG; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef int64_t LONGLONG; #else typedef signed __int64 LONGLONG; @@ -213,7 +213,7 @@ typedef signed __int64 LONGLONG; typedef __int3264 LONG_PTR, *PLONG_PTR; typedef __uint3264 ULONG_PTR, *PULONG_PTR; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef int32_t LONG32; typedef int64_t LONG64; #else @@ -230,7 +230,7 @@ typedef WCHAR *LPWSTR, *PWSTR, *LPWCH; typedef const WCHAR *LPCWSTR,*PCWSTR; typedef unsigned int UINT; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef uint64_t QWORD; typedef uint8_t UINT8; @@ -254,7 +254,7 @@ typedef SCODE *PSCODE; typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR; typedef ULONG_PTR SIZE_T; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef uint32_t ULONG32; typedef uint64_t ULONG64; typedef uint16_t USHORT; @@ -270,7 +270,7 @@ typedef wchar_t UNICODE; typedef void *PVOID, *LPVOID; typedef void *PVOID64, *LPVOID64; -#if defined(HAVE_STDINT_H) +#if WINPR_HAVE_STDINT_H typedef intptr_t INT_PTR; typedef uintptr_t UINT_PTR; #elif __x86_64__ From 33500b400d73d009f8b511323dfb5db705dc90ee Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Thu, 17 Dec 2015 13:30:41 +0100 Subject: [PATCH 14/15] Removed obsolete wtypes.h --- winpr/include/winpr/wtypes.h | 489 ----------------------------------- 1 file changed, 489 deletions(-) delete mode 100644 winpr/include/winpr/wtypes.h diff --git a/winpr/include/winpr/wtypes.h b/winpr/include/winpr/wtypes.h deleted file mode 100644 index 689f32f2f..000000000 --- a/winpr/include/winpr/wtypes.h +++ /dev/null @@ -1,489 +0,0 @@ -/** - * WinPR: Windows Portable Runtime - * Windows Data Types - * - * Copyright 2012 Marc-Andre Moreau - * - * 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 - -#define WINPR_HAVE_STDINT_H 0 -#define WINPR_HAVE_STDINT_H 0 - -/* 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 -#include - -#include - -#if WINPR_HAVE_STDBOOL_H -#include -#endif - -#if WINPR_HAVE_STDINT_H -#include -#endif - -#ifdef _WIN32 -#include -#endif - -#if defined(__OBJC__) && defined(__APPLE__) -#include -#endif - -#ifndef _WIN32 - -#define WINAPI -#define CDECL - -#ifndef FAR -#define FAR -#endif - -#ifndef NEAR -#define NEAR -#endif - -#if WINPR_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 WINPR_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 WINPR_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 WINPR_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 WINPR_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 WINPR_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 WINPR_HAVE_STDBOOL_H && !defined(__OBJC__) -#define FALSE false -#else -#define FALSE 0 -#endif -#endif - -#ifndef TRUE -#if WINPR_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 WINPR_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 WINPR_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 WINPR_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 WINPR_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 WINPR_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 WINPR_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 - -#endif /* WINPR_WTYPES_H */ From d25855b2878b817c4ea94cb3ad31c761a9f940e4 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Thu, 17 Dec 2015 16:25:16 +0100 Subject: [PATCH 15/15] Added comment to generated defines. --- winpr/include/winpr/wtypes.h.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/winpr/include/winpr/wtypes.h.in b/winpr/include/winpr/wtypes.h.in index 09fba0d20..f067461d1 100644 --- a/winpr/include/winpr/wtypes.h.in +++ b/winpr/include/winpr/wtypes.h.in @@ -20,7 +20,9 @@ #ifndef WINPR_WTYPES_H #define WINPR_WTYPES_H +/* Set by CMake during configuration. */ #define WINPR_HAVE_STDINT_H @HAVE_STDINT_H@ +/* Set by CMake during configuration. */ #define WINPR_HAVE_STDINT_H @HAVE_STDBOOL_H@ /* MSDN: Windows Data Types - http://msdn.microsoft.com/en-us/library/aa383751/ */