Blame winpr/include/winpr/wtypes.h.in

Packit 1fb8d4
/**
Packit 1fb8d4
 * WinPR: Windows Portable Runtime
Packit 1fb8d4
 * Windows Data Types
Packit 1fb8d4
 *
Packit 1fb8d4
 * Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
Packit 1fb8d4
 *
Packit 1fb8d4
 * Licensed under the Apache License, Version 2.0 (the "License");
Packit 1fb8d4
 * you may not use this file except in compliance with the License.
Packit 1fb8d4
 * You may obtain a copy of the License at
Packit 1fb8d4
 *
Packit 1fb8d4
 *     http://www.apache.org/licenses/LICENSE-2.0
Packit 1fb8d4
 *
Packit 1fb8d4
 * Unless required by applicable law or agreed to in writing, software
Packit 1fb8d4
 * distributed under the License is distributed on an "AS IS" BASIS,
Packit 1fb8d4
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Packit 1fb8d4
 * See the License for the specific language governing permissions and
Packit 1fb8d4
 * limitations under the License.
Packit 1fb8d4
 */
Packit 1fb8d4
Packit 1fb8d4
#ifndef WINPR_WTYPES_H
Packit 1fb8d4
#define WINPR_WTYPES_H
Packit 1fb8d4
Packit 1fb8d4
/* Set by CMake during configuration */
Packit 1fb8d4
#cmakedefine WINPR_HAVE_STDINT_H
Packit 1fb8d4
#cmakedefine WINPR_HAVE_STDBOOL_H
Packit 1fb8d4
Packit 1fb8d4
#if !defined(_MSC_VER) || _MSC_VER >= 1900
Packit 1fb8d4
/* Microsoft's inttypes.h is broken before MSVC 2015 */
Packit 1fb8d4
#cmakedefine WINPR_HAVE_INTTYPES_H
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
/* MSDN: Windows Data Types - http://msdn.microsoft.com/en-us/library/aa383751/ */
Packit 1fb8d4
/* [MS-DTYP]: Windows Data Types - http://msdn.microsoft.com/en-us/library/cc230273/ */
Packit 1fb8d4
Packit 1fb8d4
#include <wchar.h>
Packit 1fb8d4
#include <winpr/windows.h>
Packit 1fb8d4
Packit 1fb8d4
#include <winpr/spec.h>
Packit 1fb8d4
Packit 1fb8d4
#ifdef WINPR_HAVE_STDBOOL_H
Packit 1fb8d4
#include <stdbool.h>
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifdef WINPR_HAVE_STDINT_H
Packit 1fb8d4
#include <stdint.h>
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifdef WINPR_HAVE_INTTYPES_H
Packit 1fb8d4
#include <inttypes.h>
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#include <limits.h>
Packit 1fb8d4
Packit 1fb8d4
#ifdef _WIN32
Packit 1fb8d4
#include <wtypes.h>
Packit 1fb8d4
Packit 1fb8d4
/* Handle missing ssize_t on Windows */
Packit 1fb8d4
#ifdef _WIN64
Packit 1fb8d4
typedef long long LONG_PTR;
Packit 1fb8d4
#else
Packit 1fb8d4
typedef long LONG_PTR;
Packit 1fb8d4
#endif
Packit 1fb8d4
typedef LONG_PTR SSIZE_T;
Packit 1fb8d4
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#if defined(__OBJC__) && defined(__APPLE__)
Packit 1fb8d4
#include <objc/objc.h>
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifndef CONST
Packit 1fb8d4
#define CONST const
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifndef VOID
Packit 1fb8d4
#define VOID void
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifndef _WIN32
Packit 1fb8d4
Packit 1fb8d4
#define CALLBACK
Packit 1fb8d4
Packit 1fb8d4
#define WINAPI
Packit 1fb8d4
#define CDECL
Packit 1fb8d4
Packit 1fb8d4
#ifndef FAR
Packit 1fb8d4
#define FAR
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifndef NEAR
Packit 1fb8d4
#define NEAR
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifdef WINPR_HAVE_STDINT_H
Packit 1fb8d4
typedef int8_t                  __int8;
Packit 1fb8d4
typedef uint8_t                 __uint8;
Packit 1fb8d4
typedef int16_t                 __int16;
Packit 1fb8d4
typedef uint16_t                __uint16;
Packit 1fb8d4
typedef int32_t                 __int32;
Packit 1fb8d4
typedef uint32_t                __uint32;
Packit 1fb8d4
typedef int64_t                 __int64;
Packit 1fb8d4
typedef uint64_t                __uint64;
Packit 1fb8d4
#else
Packit 1fb8d4
#if UCHAR_MAX == 0xFF
Packit 1fb8d4
typedef signed char             __int8;
Packit 1fb8d4
typedef unsigned char           __uint8;
Packit 1fb8d4
#else
Packit 1fb8d4
#error "8-bit type not configured"
Packit 1fb8d4
#endif
Packit 1fb8d4
#if USHRT_MAX == 0xFFFF
Packit 1fb8d4
typedef short                   __int16;
Packit 1fb8d4
typedef unsigned short          __uint16;
Packit 1fb8d4
#elif UINT_MAX == 0xFFFF
Packit 1fb8d4
typedef int                     __int16;
Packit 1fb8d4
typedef unsigned int            __uint16;
Packit 1fb8d4
#error "16-bit type not configured"
Packit 1fb8d4
#endif
Packit 1fb8d4
#if UINT_MAX == 0xFFFFFFFF
Packit 1fb8d4
typedef int                     __int32;
Packit 1fb8d4
typedef unsigned int            __uint32;
Packit 1fb8d4
#elif ULONG_MAX == 0xFFFFFFFF
Packit 1fb8d4
typedef long                    __int32;
Packit 1fb8d4
typedef unsigned long           __uint32;
Packit 1fb8d4
#else
Packit 1fb8d4
#error "32-bit type not configured"
Packit 1fb8d4
#endif
Packit 1fb8d4
#if ULONG_MAX == 0xFFFFFFFFFFFFFFFF
Packit 1fb8d4
typedef long                    __int64;
Packit 1fb8d4
typedef unsigned long           __uint64;
Packit 1fb8d4
#elif ULLONG_MAX == 0xFFFFFFFFFFFFFFFF
Packit 1fb8d4
typedef long long               __int64;
Packit 1fb8d4
typedef unsigned long long      __uint64;
Packit 1fb8d4
#else
Packit 1fb8d4
#error "64-bit type not configured"
Packit 1fb8d4
#endif
Packit 1fb8d4
#endif /* WINPR_HAVE_STDINT_H */
Packit 1fb8d4
Packit 1fb8d4
#ifdef WINPR_HAVE_STDINT_H
Packit 1fb8d4
#if defined(__ILP64__) || defined(__LP64__)
Packit 1fb8d4
#define __int3264 int64_t
Packit 1fb8d4
#define __uint3264 uint64_t
Packit 1fb8d4
#else
Packit 1fb8d4
#define __int3264 int32_t
Packit 1fb8d4
#define __uint3264 uint32_t
Packit 1fb8d4
#endif
Packit 1fb8d4
#else
Packit 1fb8d4
#if defined(__ILP64__) || defined(__LP64__)
Packit 1fb8d4
#define __int3264 __int64
Packit 1fb8d4
#define __uint3264 __uint64
Packit 1fb8d4
#else
Packit 1fb8d4
#define __int3264 __int32
Packit 1fb8d4
#define __uint3264 __uint32
Packit 1fb8d4
#endif
Packit 1fb8d4
#endif /* WINPR_HAVE_STDINT_H */
Packit 1fb8d4
Packit 1fb8d4
Packit 1fb8d4
typedef void* PVOID, *LPVOID, *PVOID64, *LPVOID64;
Packit 1fb8d4
Packit 1fb8d4
#ifndef XMD_H /* X11/Xmd.h typedef collision with BOOL */
Packit 1fb8d4
#ifndef __OBJC__ /* objc.h typedef collision with BOOL */
Packit 1fb8d4
#ifndef __APPLE__
Packit 1fb8d4
typedef __int32 BOOL;
Packit 1fb8d4
#else /* __APPLE__ */
Packit 1fb8d4
/* ensure compatibility with objc libraries */
Packit 1fb8d4
#if (TARGET_OS_IPHONE && __LP64__)  ||  TARGET_OS_WATCH
Packit 1fb8d4
typedef bool BOOL;
Packit 1fb8d4
#else
Packit 1fb8d4
typedef signed char BOOL;
Packit 1fb8d4
#endif
Packit 1fb8d4
#endif /* __APPLE__ */
Packit 1fb8d4
#endif /* __OBJC__ */
Packit 1fb8d4
#endif /* XMD_H */
Packit 1fb8d4
Packit 1fb8d4
typedef BOOL* PBOOL, *LPBOOL;
Packit 1fb8d4
Packit 1fb8d4
#ifndef FALSE
Packit 1fb8d4
#define FALSE 0
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifndef TRUE
Packit 1fb8d4
#define TRUE 1
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifndef XMD_H /* X11/Xmd.h typedef collision with BYTE */
Packit 1fb8d4
typedef __uint8 BYTE;
Packit 1fb8d4
#endif /* XMD_H */
Packit 1fb8d4
typedef BYTE byte, *PBYTE, *LPBYTE;
Packit 1fb8d4
typedef BYTE BOOLEAN, PBOOLEAN;
Packit 1fb8d4
Packit 1fb8d4
#if CHAR_BIT == 8
Packit 1fb8d4
typedef char CHAR;
Packit 1fb8d4
typedef unsigned char UCHAR;
Packit 1fb8d4
#else
Packit 1fb8d4
typedef __int8 CHAR;
Packit 1fb8d4
typedef __uint8 UCHAR;
Packit 1fb8d4
#endif
Packit 1fb8d4
typedef CHAR CCHAR, *PCHAR, *LPCH, *PCH, *PSTR, *LPSTR;
Packit 1fb8d4
typedef const CHAR* LPCCH, *PCCH, *LPCSTR, *PCSTR;
Packit 1fb8d4
typedef UCHAR* PUCHAR;
Packit 1fb8d4
Packit 1fb8d4
typedef __uint16 WCHAR;
Packit 1fb8d4
typedef WCHAR UNICODE, *PWCHAR, *LPWCH, *PWCH, *BSTR, *LMSTR, *LPWSTR, *PWSTR;
Packit 1fb8d4
typedef const WCHAR* LPCWCH, *PCWCH, *LMCSTR, *LPCWSTR, *PCWSTR;
Packit 1fb8d4
Packit 1fb8d4
typedef __int16 SHORT, *PSHORT;
Packit 1fb8d4
typedef __int32 INT, *PINT, *LPINT;
Packit 1fb8d4
typedef __int32 LONG, *PLONG, *LPLONG;
Packit 1fb8d4
typedef __int64 LONGLONG, *PLONGLONG;
Packit 1fb8d4
Packit 1fb8d4
typedef __uint32 UINT, *PUINT, *LPUINT;
Packit 1fb8d4
typedef __uint16 USHORT, *PUSHORT;
Packit 1fb8d4
typedef __uint32 ULONG, *PULONG;
Packit 1fb8d4
typedef __uint64 ULONGLONG, *PULONGLONG;
Packit 1fb8d4
Packit 1fb8d4
#ifndef XMD_H /* X11/Xmd.h typedef collisions */
Packit 1fb8d4
typedef __int8 INT8;
Packit 1fb8d4
typedef __int16 INT16;
Packit 1fb8d4
typedef __int32 INT32;
Packit 1fb8d4
typedef __int64 INT64;
Packit 1fb8d4
#endif
Packit 1fb8d4
typedef INT8* PINT8;
Packit 1fb8d4
typedef INT16* PINT16;
Packit 1fb8d4
typedef INT32* PINT32;
Packit 1fb8d4
typedef INT64* PINT64;
Packit 1fb8d4
Packit 1fb8d4
typedef __int32 LONG32, *PLONG32;
Packit 1fb8d4
#ifndef LONG64 /* X11/Xmd.h uses/defines LONG64 */
Packit 1fb8d4
typedef __int64 LONG64, *PLONG64;
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
typedef __uint8 UINT8, *PUINT8;
Packit 1fb8d4
typedef __uint16 UINT16, *PUINT16;
Packit 1fb8d4
typedef __uint32 UINT32, *PUINT32;
Packit 1fb8d4
typedef __uint64 UINT64, *PUINT64;
Packit 1fb8d4
typedef __uint64 ULONG64, *PULONG64;
Packit 1fb8d4
Packit 1fb8d4
typedef __uint16 WORD, *PWORD, *LPWORD;
Packit 1fb8d4
typedef __uint32 DWORD, DWORD32, *PDWORD, *LPDWORD, *PDWORD32;
Packit 1fb8d4
typedef __uint64 DWORD64, DWORDLONG, QWORD, *PDWORD64, *PDWORDLONG, *PQWORD;
Packit 1fb8d4
Packit 1fb8d4
typedef __int3264 INT_PTR, *PINT_PTR;
Packit 1fb8d4
typedef __uint3264 UINT_PTR, *PUINT_PTR;
Packit 1fb8d4
typedef __int3264 LONG_PTR, *PLONG_PTR;
Packit 1fb8d4
typedef __uint3264 ULONG_PTR, *PULONG_PTR;
Packit 1fb8d4
typedef __uint3264 DWORD_PTR, *PDWORD_PTR;
Packit 1fb8d4
Packit 1fb8d4
typedef ULONG_PTR SIZE_T, *PSIZE_T;
Packit 1fb8d4
typedef LONG_PTR SSIZE_T, *PSSIZE_T;
Packit 1fb8d4
Packit 1fb8d4
typedef float FLOAT;
Packit 1fb8d4
Packit 1fb8d4
typedef double DOUBLE;
Packit 1fb8d4
Packit 1fb8d4
typedef void* HANDLE, *PHANDLE, *LPHANDLE;
Packit 1fb8d4
typedef HANDLE HINSTANCE;
Packit 1fb8d4
typedef HANDLE HMODULE;
Packit 1fb8d4
typedef HANDLE HWND;
Packit 1fb8d4
typedef HANDLE HBITMAP;
Packit 1fb8d4
typedef HANDLE HICON;
Packit 1fb8d4
typedef HANDLE HCURSOR;
Packit 1fb8d4
typedef HANDLE HBRUSH;
Packit 1fb8d4
typedef HANDLE HMENU;
Packit 1fb8d4
Packit 1fb8d4
typedef DWORD HCALL;
Packit 1fb8d4
Packit 1fb8d4
typedef ULONG error_status_t;
Packit 1fb8d4
typedef LONG HRESULT;
Packit 1fb8d4
typedef LONG SCODE;
Packit 1fb8d4
typedef SCODE* PSCODE;
Packit 1fb8d4
Packit 1fb8d4
typedef struct _GUID
Packit 1fb8d4
{
Packit 1fb8d4
	UINT32 Data1;
Packit 1fb8d4
	UINT16 Data2;
Packit 1fb8d4
	UINT16 Data3;
Packit 1fb8d4
	BYTE Data4[8];
Packit 1fb8d4
} GUID, UUID, *PGUID, *LPGUID, *LPCGUID;
Packit 1fb8d4
Packit 1fb8d4
typedef struct _LUID
Packit 1fb8d4
{
Packit 1fb8d4
	DWORD LowPart;
Packit 1fb8d4
	LONG  HighPart;
Packit 1fb8d4
} LUID, *PLUID;
Packit 1fb8d4
Packit 1fb8d4
typedef GUID IID;
Packit 1fb8d4
typedef IID* REFIID;
Packit 1fb8d4
Packit 1fb8d4
#ifdef UNICODE
Packit 1fb8d4
#define _T(x)	L ## x
Packit 1fb8d4
#else
Packit 1fb8d4
#define _T(x)	x
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifdef UNICODE
Packit 1fb8d4
typedef LPWSTR PTSTR;
Packit 1fb8d4
typedef LPWSTR LPTCH;
Packit 1fb8d4
typedef LPWSTR LPTSTR;
Packit 1fb8d4
typedef LPCWSTR LPCTSTR;
Packit 1fb8d4
#else
Packit 1fb8d4
typedef LPSTR PTSTR;
Packit 1fb8d4
typedef LPSTR LPTCH;
Packit 1fb8d4
typedef LPSTR LPTSTR;
Packit 1fb8d4
typedef LPCSTR LPCTSTR;
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
typedef union _ULARGE_INTEGER
Packit 1fb8d4
{
Packit 1fb8d4
	struct
Packit 1fb8d4
	{
Packit 1fb8d4
		DWORD LowPart;
Packit 1fb8d4
		DWORD HighPart;
Packit Service 5a9772
	} DUMMYSTRUCTNAME;
Packit 1fb8d4
Packit 1fb8d4
	struct
Packit 1fb8d4
	{
Packit 1fb8d4
		DWORD LowPart;
Packit 1fb8d4
		DWORD HighPart;
Packit 1fb8d4
	} u;
Packit 1fb8d4
Packit 1fb8d4
	ULONGLONG QuadPart;
Packit 1fb8d4
} ULARGE_INTEGER, *PULARGE_INTEGER;
Packit 1fb8d4
Packit 1fb8d4
typedef union _LARGE_INTEGER
Packit 1fb8d4
{
Packit 1fb8d4
	struct
Packit 1fb8d4
	{
Packit 1fb8d4
		DWORD LowPart;
Packit 1fb8d4
		LONG  HighPart;
Packit Service 5a9772
	} DUMMYSTRUCTNAME;
Packit 1fb8d4
Packit 1fb8d4
	struct
Packit 1fb8d4
	{
Packit 1fb8d4
		DWORD LowPart;
Packit 1fb8d4
		LONG  HighPart;
Packit 1fb8d4
	} u;
Packit 1fb8d4
Packit 1fb8d4
	LONGLONG QuadPart;
Packit 1fb8d4
} LARGE_INTEGER, *PLARGE_INTEGER;
Packit 1fb8d4
Packit 1fb8d4
typedef struct _FILETIME
Packit 1fb8d4
{
Packit 1fb8d4
	DWORD dwLowDateTime;
Packit 1fb8d4
	DWORD dwHighDateTime;
Packit 1fb8d4
} FILETIME, *PFILETIME, *LPFILETIME;
Packit 1fb8d4
Packit 1fb8d4
typedef struct _SYSTEMTIME
Packit 1fb8d4
{
Packit 1fb8d4
	WORD wYear;
Packit 1fb8d4
	WORD wMonth;
Packit 1fb8d4
	WORD wDayOfWeek;
Packit 1fb8d4
	WORD wDay;
Packit 1fb8d4
	WORD wHour;
Packit 1fb8d4
	WORD wMinute;
Packit 1fb8d4
	WORD wSecond;
Packit 1fb8d4
	WORD wMilliseconds;
Packit 1fb8d4
} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
Packit 1fb8d4
Packit 1fb8d4
typedef struct _RPC_SID_IDENTIFIER_AUTHORITY
Packit 1fb8d4
{
Packit 1fb8d4
	BYTE Value[6];
Packit 1fb8d4
} RPC_SID_IDENTIFIER_AUTHORITY;
Packit 1fb8d4
Packit 1fb8d4
typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
Packit 1fb8d4
Packit 1fb8d4
typedef struct _RPC_SID
Packit 1fb8d4
{
Packit 1fb8d4
	UCHAR Revision;
Packit 1fb8d4
	UCHAR SubAuthorityCount;
Packit 1fb8d4
	RPC_SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
Packit Service 5a9772
	ULONG SubAuthority[1];
Packit 1fb8d4
} RPC_SID, *PRPC_SID, *PSID;
Packit 1fb8d4
Packit 1fb8d4
typedef struct _ACL
Packit 1fb8d4
{
Packit 1fb8d4
	UCHAR AclRevision;
Packit 1fb8d4
	UCHAR Sbz1;
Packit 1fb8d4
	USHORT AclSize;
Packit 1fb8d4
	USHORT AceCount;
Packit 1fb8d4
	USHORT Sbz2;
Packit 1fb8d4
} ACL, *PACL;
Packit 1fb8d4
Packit 1fb8d4
typedef struct _SECURITY_DESCRIPTOR
Packit 1fb8d4
{
Packit 1fb8d4
	UCHAR Revision;
Packit 1fb8d4
	UCHAR Sbz1;
Packit 1fb8d4
	USHORT Control;
Packit 1fb8d4
	PSID Owner;
Packit 1fb8d4
	PSID Group;
Packit 1fb8d4
	PACL Sacl;
Packit 1fb8d4
	PACL Dacl;
Packit 1fb8d4
} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR;
Packit 1fb8d4
Packit 1fb8d4
typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
Packit 1fb8d4
Packit 1fb8d4
typedef struct _SECURITY_ATTRIBUTES
Packit 1fb8d4
{
Packit 1fb8d4
	DWORD nLength;
Packit 1fb8d4
	LPVOID lpSecurityDescriptor;
Packit 1fb8d4
	BOOL bInheritHandle;
Packit 1fb8d4
} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
Packit 1fb8d4
Packit 1fb8d4
typedef struct _PROCESS_INFORMATION
Packit 1fb8d4
{
Packit 1fb8d4
	HANDLE hProcess;
Packit 1fb8d4
	HANDLE hThread;
Packit 1fb8d4
	DWORD dwProcessId;
Packit 1fb8d4
	DWORD dwThreadId;
Packit 1fb8d4
} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
Packit 1fb8d4
Packit 1fb8d4
typedef DWORD (*PTHREAD_START_ROUTINE)(LPVOID lpThreadParameter);
Packit 1fb8d4
typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
Packit 1fb8d4
Packit 1fb8d4
typedef void* FARPROC;
Packit 1fb8d4
Packit 1fb8d4
typedef struct tagDEC
Packit 1fb8d4
{
Packit 1fb8d4
	USHORT wReserved;
Packit 1fb8d4
	union
Packit 1fb8d4
	{
Packit 1fb8d4
		struct
Packit 1fb8d4
		{
Packit 1fb8d4
			BYTE scale;
Packit 1fb8d4
			BYTE sign;
Packit 1fb8d4
		} DUMMYSTRUCTNAME;
Packit 1fb8d4
		USHORT signscale;
Packit 1fb8d4
	} DUMMYUNIONNAME;
Packit 1fb8d4
	ULONG Hi32;
Packit 1fb8d4
	union
Packit 1fb8d4
	{
Packit 1fb8d4
		struct
Packit 1fb8d4
		{
Packit 1fb8d4
			ULONG Lo32;
Packit 1fb8d4
			ULONG Mid32;
Packit 1fb8d4
		} DUMMYSTRUCTNAME2;
Packit 1fb8d4
		ULONGLONG Lo64;
Packit 1fb8d4
	} DUMMYUNIONNAME2;
Packit 1fb8d4
} DECIMAL;
Packit 1fb8d4
Packit 1fb8d4
typedef DECIMAL* LPDECIMAL;
Packit 1fb8d4
Packit 1fb8d4
#define DECIMAL_NEG		((BYTE) 0x80)
Packit 1fb8d4
#define DECIMAL_SETZERO(dec)	{ (dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0; }
Packit 1fb8d4
Packit 1fb8d4
typedef DWORD LCID;
Packit 1fb8d4
typedef PDWORD PLCID;
Packit 1fb8d4
typedef WORD LANGID;
Packit 1fb8d4
Packit 1fb8d4
#endif /* _WIN32 not defined */
Packit 1fb8d4
Packit 1fb8d4
typedef void* PCONTEXT_HANDLE;
Packit 1fb8d4
typedef PCONTEXT_HANDLE* PPCONTEXT_HANDLE;
Packit 1fb8d4
Packit 1fb8d4
#ifndef _NTDEF
Packit 1fb8d4
typedef LONG NTSTATUS;
Packit 1fb8d4
typedef NTSTATUS* PNTSTATUS;
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifndef _LPCVOID_DEFINED
Packit 1fb8d4
#define _LPCVOID_DEFINED
Packit 1fb8d4
typedef const VOID* LPCVOID;
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#ifndef _LPCBYTE_DEFINED
Packit 1fb8d4
#define _LPCBYTE_DEFINED
Packit 1fb8d4
typedef const BYTE* LPCBYTE;
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
/* integer format specifiers */
Packit 1fb8d4
#ifndef WINPR_HAVE_INTTYPES_H
Packit 1fb8d4
#define PRId8           "hhd"
Packit 1fb8d4
#define PRIi8           "hhi"
Packit 1fb8d4
#define PRIu8           "hhu"
Packit 1fb8d4
#define PRIo8           "hho"
Packit 1fb8d4
#define PRIx8           "hhx"
Packit 1fb8d4
#define PRIX8           "hhX"
Packit 1fb8d4
#define PRId16          "hd"
Packit 1fb8d4
#define PRIi16          "hi"
Packit 1fb8d4
#define PRIu16          "hu"
Packit 1fb8d4
#define PRIo16          "ho"
Packit 1fb8d4
#define PRIx16          "hx"
Packit 1fb8d4
#define PRIX16          "hX"
Packit 1fb8d4
#if defined(_MSC_VER)
Packit 1fb8d4
#define PRId32          "I32d"
Packit 1fb8d4
#define PRIi32          "I32i"
Packit 1fb8d4
#define PRIu32          "I32u"
Packit 1fb8d4
#define PRIo32          "I32o"
Packit 1fb8d4
#define PRIx32          "I32x"
Packit 1fb8d4
#define PRIX32          "I32X"
Packit 1fb8d4
#define PRId64          "I64d"
Packit 1fb8d4
#define PRIi64          "I64i"
Packit 1fb8d4
#define PRIu64          "I64u"
Packit 1fb8d4
#define PRIo64          "I64o"
Packit 1fb8d4
#define PRIx64          "I64x"
Packit 1fb8d4
#define PRIX64          "I64X"
Packit 1fb8d4
#else
Packit 1fb8d4
#define PRId32          "d"
Packit 1fb8d4
#define PRIi32          "i"
Packit 1fb8d4
#define PRIu32          "u"
Packit 1fb8d4
#define PRIo32          "o"
Packit 1fb8d4
#define PRIx32          "x"
Packit 1fb8d4
#define PRIX32          "X"
Packit 1fb8d4
#if ULONG_MAX == 0xFFFFFFFFFFFFFFFF
Packit 1fb8d4
#define PRId64          "ld"
Packit 1fb8d4
#define PRIi64          "li"
Packit 1fb8d4
#define PRIu64          "lu"
Packit 1fb8d4
#define PRIo64          "lo"
Packit 1fb8d4
#define PRIx64          "lx"
Packit 1fb8d4
#define PRIX64          "lX"
Packit 1fb8d4
#else
Packit 1fb8d4
#define PRId64          "lld"
Packit 1fb8d4
#define PRIi64          "lli"
Packit 1fb8d4
#define PRIu64          "llu"
Packit 1fb8d4
#define PRIo64          "llo"
Packit 1fb8d4
#define PRIx64          "llx"
Packit 1fb8d4
#define PRIX64          "llX"
Packit 1fb8d4
#endif
Packit 1fb8d4
#endif /* _MSC_VER */
Packit 1fb8d4
#endif /* WINPR_HAVE_INTTYPES_H not defined*/
Packit 1fb8d4
Packit Service 5a9772
#ifndef SSIZE_MAX
Packit Service 5a9772
#if defined(_POSIX_SSIZE_MAX)
Packit Service 5a9772
#define SSIZE_MAX _POSIX_SSIZE_MAX
Packit Service 5a9772
#elif defined(_WIN64)
Packit Service 5a9772
#define SSIZE_MAX _I64_MAX
Packit Service 5a9772
#elif defined(_WIN32)
Packit Service 5a9772
#define SSIZE_MAX LONG_MAX
Packit Service 5a9772
#else
Packit Service 5a9772
#define SSIZE_MAX LONG_MAX
Packit Service 5a9772
#endif
Packit Service 5a9772
#endif
Packit 1fb8d4
Packit 1fb8d4
#if defined(_MSC_VER) && _MSC_VER < 1900
Packit 1fb8d4
/* %z not supported before MSVC 2015 */
Packit 1fb8d4
#define PRIdz		"Id"
Packit 1fb8d4
#define PRIiz		"Ii"
Packit 1fb8d4
#define PRIuz		"Iu"
Packit 1fb8d4
#define PRIoz		"Io"
Packit 1fb8d4
#define PRIxz		"Ix"
Packit 1fb8d4
#define PRIXz		"IX"
Packit 1fb8d4
#else
Packit 1fb8d4
#define PRIdz		"zd"
Packit 1fb8d4
#define PRIiz		"zi"
Packit 1fb8d4
#define PRIuz		"zu"
Packit 1fb8d4
#define PRIoz		"zo"
Packit 1fb8d4
#define PRIxz		"zx"
Packit 1fb8d4
#define PRIXz		"zX"
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
Packit 1fb8d4
#include <winpr/user.h>
Packit 1fb8d4
Packit 1fb8d4
#ifndef _WIN32
Packit 1fb8d4
#define _fseeki64(fp, offset, origin) fseeko(fp, offset, origin)
Packit 1fb8d4
#define _ftelli64(fp) ftello(fp)
Packit 1fb8d4
#endif
Packit 1fb8d4
Packit 1fb8d4
#endif /* WINPR_WTYPES_H */