mirror of
https://git.suyu.dev/suyu/ext-boost.git
synced 2026-01-03 21:24:35 +01:00
Update boost to 1.71 and add asio
This commit is contained in:
parent
0b920df1c9
commit
43274a0449
1233 changed files with 231689 additions and 5532 deletions
290
boost/winapi/basic_types.hpp
Normal file
290
boost/winapi/basic_types.hpp
Normal file
|
|
@ -0,0 +1,290 @@
|
|||
/*
|
||||
* Copyright 2010 Vicente J. Botet Escriba
|
||||
* Copyright 2015-2018 Andrey Semashev
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* See http://www.boost.org/LICENSE_1_0.txt
|
||||
*/
|
||||
|
||||
#ifndef BOOST_WINAPI_BASIC_TYPES_HPP_INCLUDED_
|
||||
#define BOOST_WINAPI_BASIC_TYPES_HPP_INCLUDED_
|
||||
|
||||
#include <boost/winapi/config.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_USE_WINDOWS_H)
|
||||
# include <windows.h>
|
||||
#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
|
||||
# include <winerror.h>
|
||||
# ifdef UNDER_CE
|
||||
# ifndef WINAPI
|
||||
# ifndef _WIN32_WCE_EMULATION
|
||||
# define WINAPI __cdecl // Note this doesn't match the desktop definition
|
||||
# else
|
||||
# define WINAPI __stdcall
|
||||
# endif
|
||||
# endif
|
||||
// Windows CE defines a few functions as inline functions in kfuncs.h
|
||||
typedef int BOOL;
|
||||
typedef unsigned long DWORD;
|
||||
typedef void* HANDLE;
|
||||
# include <kfuncs.h>
|
||||
# endif // UNDER_CE
|
||||
#else
|
||||
# error "Win32 functions not available"
|
||||
#endif
|
||||
|
||||
#if defined(_M_IX86) || defined(__i386__)
|
||||
#define BOOST_WINAPI_DETAIL_STDCALL __stdcall
|
||||
#else
|
||||
// On architectures other than 32-bit x86 __stdcall is ignored. Clang also issues a warning.
|
||||
#define BOOST_WINAPI_DETAIL_STDCALL
|
||||
#endif
|
||||
|
||||
#if defined(WINAPI)
|
||||
#define BOOST_WINAPI_WINAPI_CC WINAPI
|
||||
#else
|
||||
#define BOOST_WINAPI_WINAPI_CC BOOST_WINAPI_DETAIL_STDCALL
|
||||
#endif
|
||||
|
||||
#if defined(CALLBACK)
|
||||
#define BOOST_WINAPI_CALLBACK_CC CALLBACK
|
||||
#else
|
||||
#define BOOST_WINAPI_CALLBACK_CC BOOST_WINAPI_DETAIL_STDCALL
|
||||
#endif
|
||||
|
||||
#if defined(NTAPI)
|
||||
#define BOOST_WINAPI_NTAPI_CC NTAPI
|
||||
#else
|
||||
#define BOOST_WINAPI_NTAPI_CC BOOST_WINAPI_DETAIL_STDCALL
|
||||
#endif
|
||||
|
||||
#ifndef NO_STRICT
|
||||
#ifndef STRICT
|
||||
#define STRICT 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(STRICT)
|
||||
#define BOOST_WINAPI_DETAIL_DECLARE_HANDLE(x) struct x##__; typedef struct x##__ *x
|
||||
#else
|
||||
#define BOOST_WINAPI_DETAIL_DECLARE_HANDLE(x) typedef void* x
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_USE_WINDOWS_H)
|
||||
extern "C" {
|
||||
union _LARGE_INTEGER;
|
||||
struct _SECURITY_ATTRIBUTES;
|
||||
BOOST_WINAPI_DETAIL_DECLARE_HANDLE(HINSTANCE);
|
||||
typedef HINSTANCE HMODULE;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#define BOOST_WINAPI_DETAIL_EXTENSION __extension__
|
||||
#else
|
||||
#define BOOST_WINAPI_DETAIL_EXTENSION
|
||||
#endif
|
||||
|
||||
// MinGW64 gcc 4.8.2 fails to compile function declarations with boost::winapi::VOID_ arguments even though
|
||||
// the typedef expands to void. In Windows SDK, VOID is a macro which unfolds to void. We use our own macro in such cases.
|
||||
#define BOOST_WINAPI_DETAIL_VOID void
|
||||
|
||||
namespace boost {
|
||||
namespace winapi {
|
||||
#if defined(BOOST_USE_WINDOWS_H)
|
||||
|
||||
typedef ::BOOL BOOL_;
|
||||
typedef ::PBOOL PBOOL_;
|
||||
typedef ::LPBOOL LPBOOL_;
|
||||
typedef ::BOOLEAN BOOLEAN_;
|
||||
typedef ::PBOOLEAN PBOOLEAN_;
|
||||
typedef ::BYTE BYTE_;
|
||||
typedef ::PBYTE PBYTE_;
|
||||
typedef ::LPBYTE LPBYTE_;
|
||||
typedef ::UCHAR UCHAR_;
|
||||
typedef ::PUCHAR PUCHAR_;
|
||||
typedef ::WORD WORD_;
|
||||
typedef ::PWORD PWORD_;
|
||||
typedef ::LPWORD LPWORD_;
|
||||
typedef ::DWORD DWORD_;
|
||||
typedef ::PDWORD PDWORD_;
|
||||
typedef ::LPDWORD LPDWORD_;
|
||||
typedef ::HANDLE HANDLE_;
|
||||
typedef ::PHANDLE PHANDLE_;
|
||||
typedef ::SHORT SHORT_;
|
||||
typedef ::PSHORT PSHORT_;
|
||||
typedef ::USHORT USHORT_;
|
||||
typedef ::PUSHORT PUSHORT_;
|
||||
typedef ::INT INT_;
|
||||
typedef ::PINT PINT_;
|
||||
typedef ::LPINT LPINT_;
|
||||
typedef ::UINT UINT_;
|
||||
typedef ::PUINT PUINT_;
|
||||
typedef ::LONG LONG_;
|
||||
typedef ::PLONG PLONG_;
|
||||
typedef ::LPLONG LPLONG_;
|
||||
typedef ::ULONG ULONG_;
|
||||
typedef ::PULONG PULONG_;
|
||||
typedef ::LONGLONG ULONG64_;
|
||||
typedef ::ULONGLONG PULONG64_;
|
||||
typedef ::LONGLONG LONGLONG_;
|
||||
typedef ::ULONGLONG ULONGLONG_;
|
||||
typedef ::INT_PTR INT_PTR_;
|
||||
typedef ::UINT_PTR UINT_PTR_;
|
||||
typedef ::LONG_PTR LONG_PTR_;
|
||||
typedef ::ULONG_PTR ULONG_PTR_;
|
||||
typedef ::DWORD_PTR DWORD_PTR_;
|
||||
typedef ::PDWORD_PTR PDWORD_PTR_;
|
||||
typedef ::SIZE_T SIZE_T_;
|
||||
typedef ::PSIZE_T PSIZE_T_;
|
||||
typedef ::SSIZE_T SSIZE_T_;
|
||||
typedef ::PSSIZE_T PSSIZE_T_;
|
||||
typedef VOID VOID_; // VOID is a macro
|
||||
typedef ::PVOID PVOID_;
|
||||
typedef ::LPVOID LPVOID_;
|
||||
typedef ::LPCVOID LPCVOID_;
|
||||
typedef ::CHAR CHAR_;
|
||||
typedef ::LPSTR LPSTR_;
|
||||
typedef ::LPCSTR LPCSTR_;
|
||||
typedef ::WCHAR WCHAR_;
|
||||
typedef ::LPWSTR LPWSTR_;
|
||||
typedef ::LPCWSTR LPCWSTR_;
|
||||
|
||||
#else // defined( BOOST_USE_WINDOWS_H )
|
||||
|
||||
#if defined(__GNUC__) && !(defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)) \
|
||||
&& (__GNUC__ * 100 + __GNUC_MINOR__) >= 406
|
||||
#pragma GCC diagnostic push
|
||||
// ISO C++ 1998 does not support 'long long'
|
||||
#pragma GCC diagnostic ignored "-Wlong-long"
|
||||
#endif
|
||||
|
||||
typedef int BOOL_;
|
||||
typedef BOOL_* PBOOL_;
|
||||
typedef BOOL_* LPBOOL_;
|
||||
typedef unsigned char BYTE_;
|
||||
typedef BYTE_* PBYTE_;
|
||||
typedef BYTE_* LPBYTE_;
|
||||
typedef unsigned char UCHAR_;
|
||||
typedef UCHAR_* PUCHAR_;
|
||||
typedef BYTE_ BOOLEAN_;
|
||||
typedef BOOLEAN_* PBOOLEAN_;
|
||||
typedef unsigned short WORD_;
|
||||
typedef WORD_* PWORD_;
|
||||
typedef WORD_* LPWORD_;
|
||||
#if !defined(__LP64__)
|
||||
typedef unsigned long DWORD_;
|
||||
#else
|
||||
typedef unsigned int DWORD_;
|
||||
#endif
|
||||
typedef DWORD_* PDWORD_;
|
||||
typedef DWORD_* LPDWORD_;
|
||||
typedef void* HANDLE_;
|
||||
typedef void** PHANDLE_;
|
||||
|
||||
typedef short SHORT_;
|
||||
typedef SHORT_* PSHORT_;
|
||||
typedef unsigned short USHORT_;
|
||||
typedef USHORT_* PUSHORT_;
|
||||
typedef int INT_;
|
||||
typedef INT_* PINT_;
|
||||
typedef INT_* LPINT_;
|
||||
typedef unsigned int UINT_;
|
||||
typedef UINT_* PUINT_;
|
||||
#if !defined(__LP64__)
|
||||
typedef long LONG_;
|
||||
typedef unsigned long ULONG_;
|
||||
#else
|
||||
typedef int LONG_;
|
||||
typedef unsigned int ULONG_;
|
||||
#endif
|
||||
typedef LONG_* PLONG_;
|
||||
typedef LONG_* LPLONG_;
|
||||
typedef ULONG_* PULONG_;
|
||||
#if defined(BOOST_HAS_MS_INT64)
|
||||
BOOST_WINAPI_DETAIL_EXTENSION typedef __int64 LONGLONG_;
|
||||
BOOST_WINAPI_DETAIL_EXTENSION typedef unsigned __int64 ULONGLONG_;
|
||||
#else
|
||||
BOOST_WINAPI_DETAIL_EXTENSION typedef long long LONGLONG_;
|
||||
BOOST_WINAPI_DETAIL_EXTENSION typedef unsigned long long ULONGLONG_;
|
||||
#endif
|
||||
typedef LONGLONG_ LONG64_, *PLONG64_;
|
||||
typedef ULONGLONG_ ULONG64_, *PULONG64_;
|
||||
|
||||
#if defined(_WIN64)
|
||||
typedef LONGLONG_ INT_PTR_;
|
||||
typedef ULONGLONG_ UINT_PTR_;
|
||||
typedef LONGLONG_ LONG_PTR_;
|
||||
typedef ULONGLONG_ ULONG_PTR_;
|
||||
#else
|
||||
typedef int INT_PTR_;
|
||||
typedef unsigned int UINT_PTR_;
|
||||
typedef long LONG_PTR_;
|
||||
typedef unsigned long ULONG_PTR_;
|
||||
#endif
|
||||
|
||||
typedef ULONG_PTR_ DWORD_PTR_, *PDWORD_PTR_;
|
||||
typedef ULONG_PTR_ SIZE_T_, *PSIZE_T_;
|
||||
typedef LONG_PTR_ SSIZE_T_, *PSSIZE_T_;
|
||||
|
||||
typedef void VOID_;
|
||||
typedef void *PVOID_;
|
||||
typedef void *LPVOID_;
|
||||
typedef const void *LPCVOID_;
|
||||
|
||||
typedef char CHAR_;
|
||||
typedef CHAR_ *LPSTR_;
|
||||
typedef const CHAR_ *LPCSTR_;
|
||||
|
||||
typedef wchar_t WCHAR_;
|
||||
typedef WCHAR_ *LPWSTR_;
|
||||
typedef const WCHAR_ *LPCWSTR_;
|
||||
|
||||
#if defined(__GNUC__) && !(defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)) \
|
||||
&& (__GNUC__ * 100 + __GNUC_MINOR__) >= 406
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
#endif // defined( BOOST_USE_WINDOWS_H )
|
||||
|
||||
// ::NTSTATUS is defined in ntdef.h, which is not included by windows.h by default, so alwaus use LONG_
|
||||
typedef LONG_ NTSTATUS_;
|
||||
typedef NTSTATUS_ *PNTSTATUS_;
|
||||
|
||||
typedef ::HMODULE HMODULE_;
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4201) // nonstandard extension used : nameless struct/union
|
||||
#endif
|
||||
|
||||
typedef union BOOST_MAY_ALIAS _LARGE_INTEGER {
|
||||
BOOST_WINAPI_DETAIL_EXTENSION struct {
|
||||
DWORD_ LowPart;
|
||||
LONG_ HighPart;
|
||||
};
|
||||
struct {
|
||||
DWORD_ LowPart;
|
||||
LONG_ HighPart;
|
||||
} u;
|
||||
LONGLONG_ QuadPart;
|
||||
} LARGE_INTEGER_, *PLARGE_INTEGER_;
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
typedef struct BOOST_MAY_ALIAS _SECURITY_ATTRIBUTES {
|
||||
DWORD_ nLength;
|
||||
LPVOID_ lpSecurityDescriptor;
|
||||
BOOL_ bInheritHandle;
|
||||
} SECURITY_ATTRIBUTES_, *PSECURITY_ATTRIBUTES_, *LPSECURITY_ATTRIBUTES_;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BOOST_WINAPI_BASIC_TYPES_HPP_INCLUDED_
|
||||
105
boost/winapi/character_code_conversion.hpp
Normal file
105
boost/winapi/character_code_conversion.hpp
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
/*
|
||||
* Copyright 2016 Andrey Semashev
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* See http://www.boost.org/LICENSE_1_0.txt
|
||||
*/
|
||||
|
||||
#ifndef BOOST_WINAPI_CHARACTER_CODE_CONVERSION_HPP_INCLUDED_
|
||||
#define BOOST_WINAPI_CHARACTER_CODE_CONVERSION_HPP_INCLUDED_
|
||||
|
||||
#include <boost/winapi/basic_types.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#if !defined( BOOST_USE_WINDOWS_H )
|
||||
extern "C" {
|
||||
|
||||
BOOST_SYMBOL_IMPORT int BOOST_WINAPI_WINAPI_CC
|
||||
MultiByteToWideChar(
|
||||
boost::winapi::UINT_ CodePage,
|
||||
boost::winapi::DWORD_ dwFlags,
|
||||
boost::winapi::LPCSTR_ lpMultiByteStr,
|
||||
int cbMultiByte,
|
||||
boost::winapi::LPWSTR_ lpWideCharStr,
|
||||
int cchWideChar);
|
||||
|
||||
BOOST_SYMBOL_IMPORT int BOOST_WINAPI_WINAPI_CC
|
||||
WideCharToMultiByte(
|
||||
boost::winapi::UINT_ CodePage,
|
||||
boost::winapi::DWORD_ dwFlags,
|
||||
boost::winapi::LPCWSTR_ lpWideCharStr,
|
||||
int cchWideChar,
|
||||
boost::winapi::LPSTR_ lpMultiByteStr,
|
||||
int cbMultiByte,
|
||||
boost::winapi::LPCSTR_ lpDefaultChar,
|
||||
boost::winapi::LPBOOL_ lpUsedDefaultChar);
|
||||
|
||||
} // extern "C"
|
||||
#endif // #if !defined( BOOST_USE_WINDOWS_H )
|
||||
|
||||
namespace boost {
|
||||
namespace winapi {
|
||||
|
||||
#if defined( BOOST_USE_WINDOWS_H )
|
||||
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_ACP_ = CP_ACP;
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_OEMCP_ = CP_OEMCP;
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_MACCP_ = CP_MACCP;
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_THREAD_ACP_ = CP_THREAD_ACP;
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_SYMBOL_ = CP_SYMBOL;
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_UTF7_ = CP_UTF7;
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_UTF8_ = CP_UTF8;
|
||||
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ MB_PRECOMPOSED_ = MB_PRECOMPOSED;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ MB_COMPOSITE_ = MB_COMPOSITE;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ MB_USEGLYPHCHARS_ = MB_USEGLYPHCHARS;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ MB_ERR_INVALID_CHARS_ = MB_ERR_INVALID_CHARS;
|
||||
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ WC_COMPOSITECHECK_ = WC_COMPOSITECHECK;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ WC_DISCARDNS_ = WC_DISCARDNS;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ WC_SEPCHARS_ = WC_SEPCHARS;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ WC_DEFAULTCHAR_ = WC_DEFAULTCHAR;
|
||||
#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ WC_NO_BEST_FIT_CHARS_ = WC_NO_BEST_FIT_CHARS;
|
||||
#endif
|
||||
|
||||
#else // defined( BOOST_USE_WINDOWS_H )
|
||||
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_ACP_ = 0u;
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_OEMCP_ = 1u;
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_MACCP_ = 2u;
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_THREAD_ACP_ = 3u;
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_SYMBOL_ = 42u;
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_UTF7_ = 65000u;
|
||||
BOOST_CONSTEXPR_OR_CONST UINT_ CP_UTF8_ = 65001u;
|
||||
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ MB_PRECOMPOSED_ = 0x00000001;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ MB_COMPOSITE_ = 0x00000002;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ MB_USEGLYPHCHARS_ = 0x00000004;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ MB_ERR_INVALID_CHARS_ = 0x00000008;
|
||||
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ WC_COMPOSITECHECK_ = 0x00000200;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ WC_DISCARDNS_ = 0x00000010;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ WC_SEPCHARS_ = 0x00000020;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ WC_DEFAULTCHAR_ = 0x00000040;
|
||||
#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ WC_NO_BEST_FIT_CHARS_ = 0x00000400;
|
||||
#endif
|
||||
|
||||
#endif // defined( BOOST_USE_WINDOWS_H )
|
||||
|
||||
#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
|
||||
// This constant is not present in MinGW
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ WC_ERR_INVALID_CHARS_ = 0x00000080;
|
||||
#endif
|
||||
|
||||
using ::MultiByteToWideChar;
|
||||
using ::WideCharToMultiByte;
|
||||
|
||||
} // namespace winapi
|
||||
} // namespace boost
|
||||
|
||||
#endif // BOOST_WINAPI_CHARACTER_CODE_CONVERSION_HPP_INCLUDED_
|
||||
230
boost/winapi/config.hpp
Normal file
230
boost/winapi/config.hpp
Normal file
|
|
@ -0,0 +1,230 @@
|
|||
/*
|
||||
* Copyright 2013, 2017 Andrey Semashev
|
||||
* Copyright 2017 James E. King, III
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* See http://www.boost.org/LICENSE_1_0.txt
|
||||
*/
|
||||
|
||||
#ifndef BOOST_WINAPI_CONFIG_HPP_INCLUDED_
|
||||
#define BOOST_WINAPI_CONFIG_HPP_INCLUDED_
|
||||
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/platform.h>
|
||||
#if defined(__CYGWIN__)
|
||||
// Cygwin 64 compiler does not define _WIN64 and instead defines it in a private header. We can't define _WIN64 ourselves because
|
||||
// the header defines the macro unconditionally and if the user includes both Boost.WinAPI and Cygwin WinAPI headers there will be conflict.
|
||||
#include <_cygwin.h>
|
||||
#endif
|
||||
|
||||
// BOOST_WINAPI_IS_MINGW indicates that the target Windows SDK is provided by MinGW (http://mingw.org/).
|
||||
// BOOST_WINAPI_IS_MINGW_W64 indicates that the target Windows SDK is provided by MinGW-w64 (http://mingw-w64.org).
|
||||
// BOOST_WINAPI_IS_CYGWIN indicates that the target Windows SDK is provided by MinGW variant from Cygwin (https://cygwin.com/).
|
||||
#if defined(__CYGWIN__)
|
||||
#define BOOST_WINAPI_IS_CYGWIN
|
||||
#elif BOOST_PLAT_MINGW
|
||||
#if defined(__MINGW64_VERSION_MAJOR)
|
||||
#define BOOST_WINAPI_IS_MINGW_W64
|
||||
#else
|
||||
#define BOOST_WINAPI_IS_MINGW
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// These constants reflect _WIN32_WINNT_* macros from sdkddkver.h
|
||||
// See also: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745%28v=vs.85%29.aspx#setting_winver_or__win32_winnt
|
||||
#define BOOST_WINAPI_VERSION_NT4 0x0400
|
||||
#define BOOST_WINAPI_VERSION_WIN2K 0x0500
|
||||
#define BOOST_WINAPI_VERSION_WINXP 0x0501
|
||||
#define BOOST_WINAPI_VERSION_WS03 0x0502
|
||||
#define BOOST_WINAPI_VERSION_WIN6 0x0600
|
||||
#define BOOST_WINAPI_VERSION_VISTA 0x0600
|
||||
#define BOOST_WINAPI_VERSION_WS08 0x0600
|
||||
#define BOOST_WINAPI_VERSION_LONGHORN 0x0600
|
||||
#define BOOST_WINAPI_VERSION_WIN7 0x0601
|
||||
#define BOOST_WINAPI_VERSION_WIN8 0x0602
|
||||
#define BOOST_WINAPI_VERSION_WINBLUE 0x0603
|
||||
#define BOOST_WINAPI_VERSION_WINTHRESHOLD 0x0A00
|
||||
#define BOOST_WINAPI_VERSION_WIN10 0x0A00
|
||||
|
||||
// These constants reflect NTDDI_* macros from sdkddkver.h
|
||||
#define BOOST_WINAPI_NTDDI_WIN2K 0x05000000
|
||||
#define BOOST_WINAPI_NTDDI_WIN2KSP1 0x05000100
|
||||
#define BOOST_WINAPI_NTDDI_WIN2KSP2 0x05000200
|
||||
#define BOOST_WINAPI_NTDDI_WIN2KSP3 0x05000300
|
||||
#define BOOST_WINAPI_NTDDI_WIN2KSP4 0x05000400
|
||||
|
||||
#define BOOST_WINAPI_NTDDI_WINXP 0x05010000
|
||||
#define BOOST_WINAPI_NTDDI_WINXPSP1 0x05010100
|
||||
#define BOOST_WINAPI_NTDDI_WINXPSP2 0x05010200
|
||||
#define BOOST_WINAPI_NTDDI_WINXPSP3 0x05010300
|
||||
#define BOOST_WINAPI_NTDDI_WINXPSP4 0x05010400
|
||||
|
||||
#define BOOST_WINAPI_NTDDI_WS03 0x05020000
|
||||
#define BOOST_WINAPI_NTDDI_WS03SP1 0x05020100
|
||||
#define BOOST_WINAPI_NTDDI_WS03SP2 0x05020200
|
||||
#define BOOST_WINAPI_NTDDI_WS03SP3 0x05020300
|
||||
#define BOOST_WINAPI_NTDDI_WS03SP4 0x05020400
|
||||
|
||||
#define BOOST_WINAPI_NTDDI_WIN6 0x06000000
|
||||
#define BOOST_WINAPI_NTDDI_WIN6SP1 0x06000100
|
||||
#define BOOST_WINAPI_NTDDI_WIN6SP2 0x06000200
|
||||
#define BOOST_WINAPI_NTDDI_WIN6SP3 0x06000300
|
||||
#define BOOST_WINAPI_NTDDI_WIN6SP4 0x06000400
|
||||
|
||||
#define BOOST_WINAPI_NTDDI_VISTA BOOST_WINAPI_NTDDI_WIN6
|
||||
#define BOOST_WINAPI_NTDDI_VISTASP1 BOOST_WINAPI_NTDDI_WIN6SP1
|
||||
#define BOOST_WINAPI_NTDDI_VISTASP2 BOOST_WINAPI_NTDDI_WIN6SP2
|
||||
#define BOOST_WINAPI_NTDDI_VISTASP3 BOOST_WINAPI_NTDDI_WIN6SP3
|
||||
#define BOOST_WINAPI_NTDDI_VISTASP4 BOOST_WINAPI_NTDDI_WIN6SP4
|
||||
|
||||
#define BOOST_WINAPI_NTDDI_LONGHORN BOOST_WINAPI_NTDDI_VISTA
|
||||
|
||||
#define BOOST_WINAPI_NTDDI_WS08 BOOST_WINAPI_NTDDI_WIN6SP1
|
||||
#define BOOST_WINAPI_NTDDI_WS08SP2 BOOST_WINAPI_NTDDI_WIN6SP2
|
||||
#define BOOST_WINAPI_NTDDI_WS08SP3 BOOST_WINAPI_NTDDI_WIN6SP3
|
||||
#define BOOST_WINAPI_NTDDI_WS08SP4 BOOST_WINAPI_NTDDI_WIN6SP4
|
||||
|
||||
#define BOOST_WINAPI_NTDDI_WIN7 0x06010000
|
||||
#define BOOST_WINAPI_NTDDI_WIN7SP1 0x06010100 // Not defined in Windows SDK
|
||||
#define BOOST_WINAPI_NTDDI_WIN8 0x06020000
|
||||
#define BOOST_WINAPI_NTDDI_WINBLUE 0x06030000
|
||||
#define BOOST_WINAPI_NTDDI_WINTHRESHOLD 0x0A000000
|
||||
#define BOOST_WINAPI_NTDDI_WIN10 0x0A000000
|
||||
#define BOOST_WINAPI_NTDDI_WIN10_TH2 0x0A000001
|
||||
#define BOOST_WINAPI_NTDDI_WIN10_RS1 0x0A000002
|
||||
#define BOOST_WINAPI_NTDDI_WIN10_RS2 0x0A000003
|
||||
#define BOOST_WINAPI_NTDDI_WIN10_RS3 0x0A000004
|
||||
|
||||
#define BOOST_WINAPI_DETAIL_MAKE_NTDDI_VERSION2(x) x##0000
|
||||
#define BOOST_WINAPI_DETAIL_MAKE_NTDDI_VERSION(x) BOOST_WINAPI_DETAIL_MAKE_NTDDI_VERSION2(x)
|
||||
|
||||
#if !defined(BOOST_USE_WINAPI_VERSION)
|
||||
#if defined(_WIN32_WINNT)
|
||||
#define BOOST_USE_WINAPI_VERSION _WIN32_WINNT
|
||||
#elif defined(WINVER)
|
||||
#define BOOST_USE_WINAPI_VERSION WINVER
|
||||
#else
|
||||
// By default use Windows 7 API on compilers that support it and Vista or XP on the others
|
||||
#if (defined(_MSC_VER) && _MSC_VER < 1500) || defined(BOOST_WINAPI_IS_MINGW)
|
||||
#define BOOST_USE_WINAPI_VERSION BOOST_WINAPI_VERSION_WINXP
|
||||
#elif (defined(_MSC_VER) && _MSC_VER < 1600)
|
||||
#define BOOST_USE_WINAPI_VERSION BOOST_WINAPI_VERSION_WIN6
|
||||
#else
|
||||
#define BOOST_USE_WINAPI_VERSION BOOST_WINAPI_VERSION_WIN7
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_USE_NTDDI_VERSION)
|
||||
#if defined(NTDDI_VERSION)
|
||||
#define BOOST_USE_NTDDI_VERSION NTDDI_VERSION
|
||||
// Default to respective Windows version with the latest Service Pack
|
||||
#elif BOOST_USE_WINAPI_VERSION == BOOST_WINAPI_VERSION_WIN2K
|
||||
#define BOOST_USE_NTDDI_VERSION BOOST_WINAPI_NTDDI_WIN2KSP4
|
||||
#elif BOOST_USE_WINAPI_VERSION == BOOST_WINAPI_VERSION_WINXP
|
||||
#define BOOST_USE_NTDDI_VERSION BOOST_WINAPI_NTDDI_WINXPSP3
|
||||
#elif BOOST_USE_WINAPI_VERSION == BOOST_WINAPI_VERSION_WS03
|
||||
#define BOOST_USE_NTDDI_VERSION BOOST_WINAPI_NTDDI_WS03SP2
|
||||
#elif BOOST_USE_WINAPI_VERSION == BOOST_WINAPI_VERSION_WIN6
|
||||
#define BOOST_USE_NTDDI_VERSION BOOST_WINAPI_NTDDI_WIN6SP2
|
||||
#elif BOOST_USE_WINAPI_VERSION == BOOST_WINAPI_VERSION_WIN7
|
||||
#define BOOST_USE_NTDDI_VERSION BOOST_WINAPI_NTDDI_WIN7SP1
|
||||
#elif BOOST_USE_WINAPI_VERSION == BOOST_WINAPI_VERSION_WIN10
|
||||
#define BOOST_USE_NTDDI_VERSION BOOST_WINAPI_NTDDI_WIN10_RS3
|
||||
#else
|
||||
#define BOOST_USE_NTDDI_VERSION BOOST_WINAPI_DETAIL_MAKE_NTDDI_VERSION(BOOST_USE_WINAPI_VERSION)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Known Windows SDK versions, taken from VER_PRODUCTBUILD macro value defined in ntverp.h.
|
||||
// These values can be used to compare with BOOST_PLAT_WINDOWS_SDK_VERSION from Boost.Predef.
|
||||
#define BOOST_WINAPI_WINDOWS_SDK_MSVC71 BOOST_VERSION_NUMBER(0, 0, 3668) // Windows SDK bundled with MSVC 7.1
|
||||
#define BOOST_WINAPI_WINDOWS_SDK_MSVC8 BOOST_VERSION_NUMBER(0, 0, 3790) // Windows SDK bundled with MSVC 8
|
||||
#define BOOST_WINAPI_WINDOWS_SDK_6_0 BOOST_VERSION_NUMBER(0, 0, 6000) // Windows SDK 6.0
|
||||
#define BOOST_WINAPI_WINDOWS_SDK_7_0 BOOST_VERSION_NUMBER(0, 0, 7600) // Windows SDK 7.0, 7.1
|
||||
#define BOOST_WINAPI_WINDOWS_SDK_8_0 BOOST_VERSION_NUMBER(0, 0, 9200) // Windows SDK 8.0
|
||||
#define BOOST_WINAPI_WINDOWS_SDK_8_1 BOOST_VERSION_NUMBER(0, 0, 9600) // Windows SDK 8.1
|
||||
#define BOOST_WINAPI_WINDOWS_SDK_10_0 BOOST_VERSION_NUMBER(0, 0, 10011) // Windows SDK 10.0
|
||||
// MinGW does not have the ntverp.h header but it defines VER_PRODUCTBUILD in ddk/ntifs.h.
|
||||
// Cygwin MinGW also defines this version.
|
||||
#define BOOST_WINAPI_WINDOWS_SDK_MINGW BOOST_VERSION_NUMBER(0, 0, 10000)
|
||||
// MinGW-w64 defines the same version as the Windows SDK bundled with MSVC 8
|
||||
#define BOOST_WINAPI_WINDOWS_SDK_MINGW_W64 BOOST_VERSION_NUMBER(0, 0, 3790)
|
||||
|
||||
#if !defined(BOOST_USE_WINAPI_FAMILY)
|
||||
#if defined(WINAPI_FAMILY)
|
||||
#define BOOST_USE_WINAPI_FAMILY WINAPI_FAMILY
|
||||
#elif defined(WINAPI_FAMILY_DESKTOP_APP)
|
||||
// If none is specified, default to a desktop application which is the most
|
||||
// backwards compatible to previous ways of doing things, if families are even
|
||||
// defined.
|
||||
#define BOOST_USE_WINAPI_FAMILY WINAPI_FAMILY_DESKTOP_APP
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// UWP Support
|
||||
//
|
||||
// On platforms without windows family partition support it is assumed one
|
||||
// has all APIs and access is controlled by _WIN32_WINNT or similar mechanisms.
|
||||
//
|
||||
// Leveraging Boost.Predef here
|
||||
//
|
||||
#if BOOST_PLAT_WINDOWS_UWP
|
||||
#define BOOST_WINAPI_PARTITION_APP (BOOST_PLAT_WINDOWS_DESKTOP || BOOST_PLAT_WINDOWS_STORE || BOOST_WINAPI_PARTITION_PHONE)
|
||||
#define BOOST_WINAPI_PARTITION_PC (BOOST_PLAT_WINDOWS_STORE)
|
||||
#define BOOST_WINAPI_PARTITION_PHONE (BOOST_PLAT_WINDOWS_PHONE)
|
||||
#define BOOST_WINAPI_PARTITION_SYSTEM (BOOST_PLAT_WINDOWS_SYSTEM)
|
||||
#define BOOST_WINAPI_PARTITION_SERVER (BOOST_PLAT_WINDOWS_SERVER)
|
||||
#define BOOST_WINAPI_PARTITION_DESKTOP (BOOST_PLAT_WINDOWS_DESKTOP)
|
||||
#else // BOOST_PLAT_WINDOWS_UWP
|
||||
#define BOOST_WINAPI_PARTITION_APP (1)
|
||||
#define BOOST_WINAPI_PARTITION_PC (1)
|
||||
#define BOOST_WINAPI_PARTITION_PHONE (1)
|
||||
#define BOOST_WINAPI_PARTITION_SYSTEM (1)
|
||||
#define BOOST_WINAPI_PARTITION_SERVER (1)
|
||||
#define BOOST_WINAPI_PARTITION_DESKTOP (1)
|
||||
#endif // BOOST_PLAT_WINDOWS_UWP
|
||||
|
||||
//
|
||||
// Windows 8.x SDK defines some items in the DESKTOP partition and then Windows SDK 10.0 defines
|
||||
// the same items to be in APP or SYSTEM partitions, and APP expands to DESKTOP or PC or PHONE.
|
||||
// The definition of BOOST_WINAPI_PARTITION_APP_SYSTEM provides a universal way to get this
|
||||
// right as it is seen in a number of places in the SDK.
|
||||
//
|
||||
#define BOOST_WINAPI_PARTITION_APP_SYSTEM \
|
||||
( \
|
||||
((BOOST_PLAT_WINDOWS_SDK_VERSION >= BOOST_WINAPI_WINDOWS_SDK_10_0) && (BOOST_WINAPI_PARTITION_APP || BOOST_WINAPI_PARTITION_SYSTEM)) || \
|
||||
((BOOST_PLAT_WINDOWS_SDK_VERSION < BOOST_WINAPI_WINDOWS_SDK_10_0) && BOOST_WINAPI_PARTITION_DESKTOP) \
|
||||
)
|
||||
|
||||
// Simiarly, some other symbols were re-classified as DESKTOP or SYSTEM
|
||||
#define BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM \
|
||||
( \
|
||||
((BOOST_PLAT_WINDOWS_SDK_VERSION >= BOOST_WINAPI_WINDOWS_SDK_10_0) && (BOOST_WINAPI_PARTITION_DESKTOP || BOOST_WINAPI_PARTITION_SYSTEM)) || \
|
||||
((BOOST_PLAT_WINDOWS_SDK_VERSION < BOOST_WINAPI_WINDOWS_SDK_10_0) && BOOST_WINAPI_PARTITION_DESKTOP) \
|
||||
)
|
||||
|
||||
#if defined(BOOST_USE_WINDOWS_H) || defined(BOOST_WINAPI_DEFINE_VERSION_MACROS)
|
||||
// We have to define the version macros so that windows.h provides the necessary symbols
|
||||
#if !defined(_WIN32_WINNT)
|
||||
#define _WIN32_WINNT BOOST_USE_WINAPI_VERSION
|
||||
#endif
|
||||
#if !defined(WINVER)
|
||||
#define WINVER BOOST_USE_WINAPI_VERSION
|
||||
#endif
|
||||
#if !defined(NTDDI_VERSION)
|
||||
#define NTDDI_VERSION BOOST_USE_NTDDI_VERSION
|
||||
#endif
|
||||
#if !defined(WINAPI_FAMILY) && defined(BOOST_USE_WINAPI_FAMILY)
|
||||
#define WINAPI_FAMILY BOOST_USE_WINAPI_FAMILY
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#endif // BOOST_WINAPI_CONFIG_HPP_INCLUDED_
|
||||
3178
boost/winapi/error_codes.hpp
Normal file
3178
boost/winapi/error_codes.hpp
Normal file
File diff suppressed because it is too large
Load diff
153
boost/winapi/error_handling.hpp
Normal file
153
boost/winapi/error_handling.hpp
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
/*
|
||||
* Copyright 2010 Vicente J. Botet Escriba
|
||||
* Copyright 2015 Andrey Semashev
|
||||
* Copyright 2016 Jorge Lodos
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* See http://www.boost.org/LICENSE_1_0.txt
|
||||
*/
|
||||
|
||||
#ifndef BOOST_WINAPI_ERROR_HANDLING_HPP_INCLUDED_
|
||||
#define BOOST_WINAPI_ERROR_HANDLING_HPP_INCLUDED_
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <boost/winapi/basic_types.hpp>
|
||||
#include <boost/winapi/get_last_error.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#if !defined( BOOST_USE_WINDOWS_H )
|
||||
extern "C" {
|
||||
#if !defined( BOOST_NO_ANSI_APIS )
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::DWORD_ BOOST_WINAPI_WINAPI_CC
|
||||
FormatMessageA(
|
||||
boost::winapi::DWORD_ dwFlags,
|
||||
boost::winapi::LPCVOID_ lpSource,
|
||||
boost::winapi::DWORD_ dwMessageId,
|
||||
boost::winapi::DWORD_ dwLanguageId,
|
||||
boost::winapi::LPSTR_ lpBuffer,
|
||||
boost::winapi::DWORD_ nSize,
|
||||
va_list *Arguments);
|
||||
#endif
|
||||
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::DWORD_ BOOST_WINAPI_WINAPI_CC
|
||||
FormatMessageW(
|
||||
boost::winapi::DWORD_ dwFlags,
|
||||
boost::winapi::LPCVOID_ lpSource,
|
||||
boost::winapi::DWORD_ dwMessageId,
|
||||
boost::winapi::DWORD_ dwLanguageId,
|
||||
boost::winapi::LPWSTR_ lpBuffer,
|
||||
boost::winapi::DWORD_ nSize,
|
||||
va_list *Arguments);
|
||||
|
||||
#if BOOST_WINAPI_PARTITION_DESKTOP || BOOST_WINAPI_PARTITION_SYSTEM
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::UINT_ BOOST_WINAPI_WINAPI_CC
|
||||
SetErrorMode(boost::winapi::UINT_ uMode);
|
||||
#endif
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
namespace boost {
|
||||
namespace winapi {
|
||||
|
||||
#if defined( BOOST_USE_WINDOWS_H )
|
||||
|
||||
#if BOOST_WINAPI_PARTITION_APP_SYSTEM
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_ALLOCATE_BUFFER_= FORMAT_MESSAGE_ALLOCATE_BUFFER;
|
||||
#endif
|
||||
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_IGNORE_INSERTS_= FORMAT_MESSAGE_IGNORE_INSERTS;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_FROM_STRING_= FORMAT_MESSAGE_FROM_STRING;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_FROM_HMODULE_= FORMAT_MESSAGE_FROM_HMODULE;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_FROM_SYSTEM_= FORMAT_MESSAGE_FROM_SYSTEM;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_ARGUMENT_ARRAY_= FORMAT_MESSAGE_ARGUMENT_ARRAY;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_MAX_WIDTH_MASK_= FORMAT_MESSAGE_MAX_WIDTH_MASK;
|
||||
|
||||
BOOST_CONSTEXPR_OR_CONST WORD_ LANG_NEUTRAL_= LANG_NEUTRAL;
|
||||
BOOST_CONSTEXPR_OR_CONST WORD_ LANG_INVARIANT_= LANG_INVARIANT;
|
||||
|
||||
BOOST_CONSTEXPR_OR_CONST WORD_ SUBLANG_DEFAULT_= SUBLANG_DEFAULT; // user default
|
||||
|
||||
BOOST_FORCEINLINE BOOST_CONSTEXPR WORD_ MAKELANGID_(WORD_ p, WORD_ s) BOOST_NOEXCEPT
|
||||
{
|
||||
return MAKELANGID(p,s);
|
||||
}
|
||||
|
||||
#if BOOST_WINAPI_PARTITION_DESKTOP
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ SEM_FAILCRITICALERRORS_ = SEM_FAILCRITICALERRORS;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ SEM_NOGPFAULTERRORBOX_ = SEM_NOGPFAULTERRORBOX;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ SEM_NOALIGNMENTFAULTEXCEPT_ = SEM_NOALIGNMENTFAULTEXCEPT;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ SEM_NOOPENFILEERRORBOX_ = SEM_NOOPENFILEERRORBOX;
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#if BOOST_WINAPI_PARTITION_APP_SYSTEM
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_ALLOCATE_BUFFER_= 0x00000100;
|
||||
#endif
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_IGNORE_INSERTS_= 0x00000200;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_FROM_STRING_= 0x00000400;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_FROM_HMODULE_= 0x00000800;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_FROM_SYSTEM_= 0x00001000;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_ARGUMENT_ARRAY_= 0x00002000;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ FORMAT_MESSAGE_MAX_WIDTH_MASK_= 0x000000FF;
|
||||
|
||||
BOOST_CONSTEXPR_OR_CONST WORD_ LANG_NEUTRAL_= 0x00;
|
||||
BOOST_CONSTEXPR_OR_CONST WORD_ LANG_INVARIANT_= 0x7f;
|
||||
|
||||
BOOST_CONSTEXPR_OR_CONST WORD_ SUBLANG_DEFAULT_= 0x01; // user default
|
||||
|
||||
BOOST_FORCEINLINE BOOST_CONSTEXPR WORD_ MAKELANGID_(WORD_ p, WORD_ s) BOOST_NOEXCEPT
|
||||
{
|
||||
return (WORD_)((((WORD_)(s)) << 10) | (WORD_)(p));
|
||||
}
|
||||
|
||||
#if BOOST_WINAPI_PARTITION_DESKTOP
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ SEM_FAILCRITICALERRORS_ = 0x0001;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ SEM_NOGPFAULTERRORBOX_ = 0x0002;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ SEM_NOALIGNMENTFAULTEXCEPT_ = 0x0004;
|
||||
BOOST_CONSTEXPR_OR_CONST DWORD_ SEM_NOOPENFILEERRORBOX_ = 0x8000;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if !defined( BOOST_NO_ANSI_APIS )
|
||||
using ::FormatMessageA;
|
||||
#endif
|
||||
using ::FormatMessageW;
|
||||
#if BOOST_WINAPI_PARTITION_DESKTOP || BOOST_WINAPI_PARTITION_SYSTEM
|
||||
using ::SetErrorMode;
|
||||
#endif
|
||||
|
||||
#if !defined( BOOST_NO_ANSI_APIS )
|
||||
BOOST_FORCEINLINE DWORD_ format_message(
|
||||
DWORD_ dwFlags,
|
||||
LPCVOID_ lpSource,
|
||||
DWORD_ dwMessageId,
|
||||
DWORD_ dwLanguageId,
|
||||
LPSTR_ lpBuffer,
|
||||
DWORD_ nSize,
|
||||
va_list *Arguments)
|
||||
{
|
||||
return ::FormatMessageA(dwFlags, lpSource, dwMessageId, dwLanguageId, lpBuffer, nSize, Arguments);
|
||||
}
|
||||
#endif
|
||||
|
||||
BOOST_FORCEINLINE DWORD_ format_message(
|
||||
DWORD_ dwFlags,
|
||||
LPCVOID_ lpSource,
|
||||
DWORD_ dwMessageId,
|
||||
DWORD_ dwLanguageId,
|
||||
LPWSTR_ lpBuffer,
|
||||
DWORD_ nSize,
|
||||
va_list *Arguments)
|
||||
{
|
||||
return ::FormatMessageW(dwFlags, lpSource, dwMessageId, dwLanguageId, lpBuffer, nSize, Arguments);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BOOST_WINAPI_ERROR_HANDLING_HPP_INCLUDED_
|
||||
31
boost/winapi/get_current_process.hpp
Normal file
31
boost/winapi/get_current_process.hpp
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Copyright 2010 Vicente J. Botet Escriba
|
||||
* Copyright 2015 Andrey Semashev
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* See http://www.boost.org/LICENSE_1_0.txt
|
||||
*/
|
||||
|
||||
#ifndef BOOST_WINAPI_GET_CURRENT_PROCESS_HPP_INCLUDED_
|
||||
#define BOOST_WINAPI_GET_CURRENT_PROCESS_HPP_INCLUDED_
|
||||
|
||||
#include <boost/winapi/basic_types.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// Windows CE define GetCurrentProcess as an inline function in kfuncs.h
|
||||
#if !defined( BOOST_USE_WINDOWS_H ) && !defined( UNDER_CE )
|
||||
extern "C" {
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::HANDLE_ BOOST_WINAPI_WINAPI_CC GetCurrentProcess(BOOST_WINAPI_DETAIL_VOID);
|
||||
}
|
||||
#endif
|
||||
|
||||
namespace boost {
|
||||
namespace winapi {
|
||||
using ::GetCurrentProcess;
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BOOST_WINAPI_GET_CURRENT_PROCESS_HPP_INCLUDED_
|
||||
31
boost/winapi/get_current_thread.hpp
Normal file
31
boost/winapi/get_current_thread.hpp
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Copyright 2010 Vicente J. Botet Escriba
|
||||
* Copyright 2015 Andrey Semashev
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* See http://www.boost.org/LICENSE_1_0.txt
|
||||
*/
|
||||
|
||||
#ifndef BOOST_WINAPI_GET_CURRENT_THREAD_HPP_INCLUDED_
|
||||
#define BOOST_WINAPI_GET_CURRENT_THREAD_HPP_INCLUDED_
|
||||
|
||||
#include <boost/winapi/basic_types.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// Windows CE define GetCurrentThread as an inline function in kfuncs.h
|
||||
#if !defined( BOOST_USE_WINDOWS_H ) && !defined( UNDER_CE )
|
||||
extern "C" {
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::HANDLE_ BOOST_WINAPI_WINAPI_CC GetCurrentThread(BOOST_WINAPI_DETAIL_VOID);
|
||||
}
|
||||
#endif
|
||||
|
||||
namespace boost {
|
||||
namespace winapi {
|
||||
using ::GetCurrentThread;
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BOOST_WINAPI_GET_CURRENT_THREAD_HPP_INCLUDED_
|
||||
30
boost/winapi/get_last_error.hpp
Normal file
30
boost/winapi/get_last_error.hpp
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* Copyright 2010 Vicente J. Botet Escriba
|
||||
* Copyright 2015 Andrey Semashev
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* See http://www.boost.org/LICENSE_1_0.txt
|
||||
*/
|
||||
|
||||
#ifndef BOOST_WINAPI_GET_LAST_ERROR_HPP_INCLUDED_
|
||||
#define BOOST_WINAPI_GET_LAST_ERROR_HPP_INCLUDED_
|
||||
|
||||
#include <boost/winapi/basic_types.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#if !defined( BOOST_USE_WINDOWS_H )
|
||||
extern "C" {
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::DWORD_ BOOST_WINAPI_WINAPI_CC GetLastError(BOOST_WINAPI_DETAIL_VOID);
|
||||
}
|
||||
#endif
|
||||
|
||||
namespace boost {
|
||||
namespace winapi {
|
||||
using ::GetLastError;
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BOOST_WINAPI_GET_LAST_ERROR_HPP_INCLUDED_
|
||||
60
boost/winapi/get_process_times.hpp
Normal file
60
boost/winapi/get_process_times.hpp
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* Copyright 2010 Vicente J. Botet Escriba
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* See http://www.boost.org/LICENSE_1_0.txt
|
||||
*/
|
||||
|
||||
#ifndef BOOST_WINAPI_GET_PROCESS_TIMES_HPP_INCLUDED_
|
||||
#define BOOST_WINAPI_GET_PROCESS_TIMES_HPP_INCLUDED_
|
||||
|
||||
#include <boost/winapi/config.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// Windows CE does not define GetProcessTimes
|
||||
#if !defined( UNDER_CE )
|
||||
|
||||
#if BOOST_WINAPI_PARTITION_APP_SYSTEM
|
||||
|
||||
#include <boost/winapi/basic_types.hpp>
|
||||
#include <boost/winapi/time.hpp>
|
||||
|
||||
#if !defined( BOOST_USE_WINDOWS_H )
|
||||
extern "C" {
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
|
||||
GetProcessTimes(
|
||||
boost::winapi::HANDLE_ hProcess,
|
||||
::_FILETIME* lpCreationTime,
|
||||
::_FILETIME* lpExitTime,
|
||||
::_FILETIME* lpKernelTime,
|
||||
::_FILETIME* lpUserTime);
|
||||
}
|
||||
#endif
|
||||
|
||||
namespace boost {
|
||||
namespace winapi {
|
||||
|
||||
BOOST_FORCEINLINE BOOL_ GetProcessTimes(
|
||||
HANDLE_ hProcess,
|
||||
LPFILETIME_ lpCreationTime,
|
||||
LPFILETIME_ lpExitTime,
|
||||
LPFILETIME_ lpKernelTime,
|
||||
LPFILETIME_ lpUserTime)
|
||||
{
|
||||
return ::GetProcessTimes(
|
||||
hProcess,
|
||||
reinterpret_cast< ::_FILETIME* >(lpCreationTime),
|
||||
reinterpret_cast< ::_FILETIME* >(lpExitTime),
|
||||
reinterpret_cast< ::_FILETIME* >(lpKernelTime),
|
||||
reinterpret_cast< ::_FILETIME* >(lpUserTime));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM
|
||||
#endif // !defined( UNDER_CE )
|
||||
#endif // BOOST_WINAPI_GET_PROCESS_TIMES_HPP_INCLUDED_
|
||||
55
boost/winapi/get_thread_times.hpp
Normal file
55
boost/winapi/get_thread_times.hpp
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Copyright 2010 Vicente J. Botet Escriba
|
||||
* Copyright 2015 Andrey Semashev
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* See http://www.boost.org/LICENSE_1_0.txt
|
||||
*/
|
||||
|
||||
#ifndef BOOST_WINAPI_GET_THREAD_TIMES_HPP_INCLUDED_
|
||||
#define BOOST_WINAPI_GET_THREAD_TIMES_HPP_INCLUDED_
|
||||
|
||||
#include <boost/winapi/basic_types.hpp>
|
||||
#include <boost/winapi/time.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#if BOOST_WINAPI_PARTITION_APP_SYSTEM
|
||||
|
||||
#if !defined( BOOST_USE_WINDOWS_H )
|
||||
extern "C" {
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
|
||||
GetThreadTimes(
|
||||
boost::winapi::HANDLE_ hThread,
|
||||
::_FILETIME* lpCreationTime,
|
||||
::_FILETIME* lpExitTime,
|
||||
::_FILETIME* lpKernelTime,
|
||||
::_FILETIME* lpUserTime);
|
||||
}
|
||||
#endif
|
||||
|
||||
namespace boost {
|
||||
namespace winapi {
|
||||
|
||||
BOOST_FORCEINLINE BOOL_ GetThreadTimes(
|
||||
HANDLE_ hThread,
|
||||
LPFILETIME_ lpCreationTime,
|
||||
LPFILETIME_ lpExitTime,
|
||||
LPFILETIME_ lpKernelTime,
|
||||
LPFILETIME_ lpUserTime)
|
||||
{
|
||||
return ::GetThreadTimes(
|
||||
hThread,
|
||||
reinterpret_cast< ::_FILETIME* >(lpCreationTime),
|
||||
reinterpret_cast< ::_FILETIME* >(lpExitTime),
|
||||
reinterpret_cast< ::_FILETIME* >(lpKernelTime),
|
||||
reinterpret_cast< ::_FILETIME* >(lpUserTime));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM
|
||||
#endif // BOOST_WINAPI_GET_THREAD_TIMES_HPP_INCLUDED_
|
||||
53
boost/winapi/local_memory.hpp
Normal file
53
boost/winapi/local_memory.hpp
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* Copyright 2010 Vicente J. Botet Escriba
|
||||
* Copyright 2015 Andrey Semashev
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* See http://www.boost.org/LICENSE_1_0.txt
|
||||
*/
|
||||
|
||||
#ifndef BOOST_WINAPI_LOCAL_MEMORY_HPP_INCLUDED_
|
||||
#define BOOST_WINAPI_LOCAL_MEMORY_HPP_INCLUDED_
|
||||
|
||||
#include <boost/winapi/basic_types.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#if BOOST_WINAPI_PARTITION_APP_SYSTEM
|
||||
|
||||
#if !defined( BOOST_USE_WINDOWS_H )
|
||||
namespace boost { namespace winapi {
|
||||
typedef HANDLE_ HLOCAL_;
|
||||
}}
|
||||
|
||||
extern "C" {
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::HLOCAL_ BOOST_WINAPI_WINAPI_CC
|
||||
LocalAlloc(
|
||||
boost::winapi::UINT_ uFlags,
|
||||
boost::winapi::SIZE_T_ uBytes);
|
||||
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::HLOCAL_ BOOST_WINAPI_WINAPI_CC
|
||||
LocalReAlloc(
|
||||
boost::winapi::HLOCAL_ hMem,
|
||||
boost::winapi::SIZE_T_ uBytes,
|
||||
boost::winapi::UINT_ uFlags);
|
||||
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::HLOCAL_ BOOST_WINAPI_WINAPI_CC LocalFree(boost::winapi::HLOCAL_ hMem);
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
namespace boost {
|
||||
namespace winapi {
|
||||
#if defined( BOOST_USE_WINDOWS_H )
|
||||
typedef ::HLOCAL HLOCAL_;
|
||||
#endif
|
||||
using ::LocalAlloc;
|
||||
using ::LocalReAlloc;
|
||||
using ::LocalFree;
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM
|
||||
#endif // BOOST_WINAPI_LOCAL_MEMORY_HPP_INCLUDED_
|
||||
140
boost/winapi/time.hpp
Normal file
140
boost/winapi/time.hpp
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
/*
|
||||
* Copyright 2010 Vicente J. Botet Escriba
|
||||
* Copyright (c) Microsoft Corporation 2014
|
||||
* Copyright 2015, 2017 Andrey Semashev
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* See http://www.boost.org/LICENSE_1_0.txt
|
||||
*/
|
||||
|
||||
#ifndef BOOST_WINAPI_TIME_HPP_INCLUDED_
|
||||
#define BOOST_WINAPI_TIME_HPP_INCLUDED_
|
||||
|
||||
#include <boost/winapi/basic_types.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#if !defined( BOOST_USE_WINDOWS_H )
|
||||
extern "C" {
|
||||
struct _FILETIME;
|
||||
struct _SYSTEMTIME;
|
||||
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::VOID_ BOOST_WINAPI_WINAPI_CC
|
||||
GetSystemTime(::_SYSTEMTIME* lpSystemTime);
|
||||
|
||||
#ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME // Windows CE does not define GetSystemTimeAsFileTime
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::VOID_ BOOST_WINAPI_WINAPI_CC
|
||||
GetSystemTimeAsFileTime(::_FILETIME* lpSystemTimeAsFileTime);
|
||||
#endif
|
||||
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
|
||||
SystemTimeToFileTime(
|
||||
const ::_SYSTEMTIME* lpSystemTime,
|
||||
::_FILETIME* lpFileTime);
|
||||
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
|
||||
FileTimeToSystemTime(
|
||||
const ::_FILETIME* lpFileTime,
|
||||
::_SYSTEMTIME* lpSystemTime);
|
||||
|
||||
#if BOOST_WINAPI_PARTITION_APP_SYSTEM
|
||||
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
|
||||
FileTimeToLocalFileTime(
|
||||
const ::_FILETIME* lpFileTime,
|
||||
::_FILETIME* lpLocalFileTime);
|
||||
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
|
||||
LocalFileTimeToFileTime(
|
||||
const ::_FILETIME* lpLocalFileTime,
|
||||
::_FILETIME* lpFileTime);
|
||||
|
||||
#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM
|
||||
|
||||
#if BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::DWORD_ BOOST_WINAPI_WINAPI_CC
|
||||
GetTickCount(BOOST_WINAPI_DETAIL_VOID);
|
||||
#endif // BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
|
||||
|
||||
#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::ULONGLONG_ BOOST_WINAPI_WINAPI_CC
|
||||
GetTickCount64(BOOST_WINAPI_DETAIL_VOID);
|
||||
#endif
|
||||
|
||||
} // extern "C"
|
||||
#endif // !defined( BOOST_USE_WINDOWS_H )
|
||||
|
||||
namespace boost {
|
||||
namespace winapi {
|
||||
|
||||
typedef struct BOOST_MAY_ALIAS _FILETIME {
|
||||
DWORD_ dwLowDateTime;
|
||||
DWORD_ dwHighDateTime;
|
||||
} FILETIME_, *PFILETIME_, *LPFILETIME_;
|
||||
|
||||
typedef struct BOOST_MAY_ALIAS _SYSTEMTIME {
|
||||
WORD_ wYear;
|
||||
WORD_ wMonth;
|
||||
WORD_ wDayOfWeek;
|
||||
WORD_ wDay;
|
||||
WORD_ wHour;
|
||||
WORD_ wMinute;
|
||||
WORD_ wSecond;
|
||||
WORD_ wMilliseconds;
|
||||
} SYSTEMTIME_, *PSYSTEMTIME_, *LPSYSTEMTIME_;
|
||||
|
||||
#if BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
|
||||
using ::GetTickCount;
|
||||
#endif
|
||||
#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
|
||||
using ::GetTickCount64;
|
||||
#endif
|
||||
|
||||
BOOST_FORCEINLINE VOID_ GetSystemTime(LPSYSTEMTIME_ lpSystemTime)
|
||||
{
|
||||
::GetSystemTime(reinterpret_cast< ::_SYSTEMTIME* >(lpSystemTime));
|
||||
}
|
||||
|
||||
BOOST_FORCEINLINE BOOL_ SystemTimeToFileTime(const SYSTEMTIME_* lpSystemTime, FILETIME_* lpFileTime)
|
||||
{
|
||||
return ::SystemTimeToFileTime(reinterpret_cast< const ::_SYSTEMTIME* >(lpSystemTime), reinterpret_cast< ::_FILETIME* >(lpFileTime));
|
||||
}
|
||||
|
||||
BOOST_FORCEINLINE BOOL_ FileTimeToSystemTime(const FILETIME_* lpFileTime, SYSTEMTIME_* lpSystemTime)
|
||||
{
|
||||
return ::FileTimeToSystemTime(reinterpret_cast< const ::_FILETIME* >(lpFileTime), reinterpret_cast< ::_SYSTEMTIME* >(lpSystemTime));
|
||||
}
|
||||
|
||||
#if BOOST_WINAPI_PARTITION_APP_SYSTEM
|
||||
BOOST_FORCEINLINE BOOL_ FileTimeToLocalFileTime(const FILETIME_* lpFileTime, FILETIME_* lpLocalFileTime)
|
||||
{
|
||||
return ::FileTimeToLocalFileTime(reinterpret_cast< const ::_FILETIME* >(lpFileTime), reinterpret_cast< ::_FILETIME* >(lpLocalFileTime));
|
||||
}
|
||||
|
||||
BOOST_FORCEINLINE BOOL_ LocalFileTimeToFileTime(const FILETIME_* lpLocalFileTime, FILETIME_* lpFileTime)
|
||||
{
|
||||
return ::LocalFileTimeToFileTime(reinterpret_cast< const ::_FILETIME* >(lpLocalFileTime), reinterpret_cast< ::_FILETIME* >(lpFileTime));
|
||||
}
|
||||
#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM
|
||||
|
||||
#if defined( BOOST_HAS_GETSYSTEMTIMEASFILETIME )
|
||||
BOOST_FORCEINLINE VOID_ GetSystemTimeAsFileTime(LPFILETIME_ lpSystemTimeAsFileTime)
|
||||
{
|
||||
::GetSystemTimeAsFileTime(reinterpret_cast< ::_FILETIME* >(lpSystemTimeAsFileTime));
|
||||
}
|
||||
#else
|
||||
// Windows CE does not define GetSystemTimeAsFileTime
|
||||
BOOST_FORCEINLINE VOID_ GetSystemTimeAsFileTime(FILETIME_* lpFileTime)
|
||||
{
|
||||
boost::winapi::SYSTEMTIME_ st;
|
||||
boost::winapi::GetSystemTime(&st);
|
||||
boost::winapi::SystemTimeToFileTime(&st, lpFileTime);
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BOOST_WINAPI_TIME_HPP_INCLUDED_
|
||||
45
boost/winapi/timers.hpp
Normal file
45
boost/winapi/timers.hpp
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
* Copyright 2010 Vicente J. Botet Escriba
|
||||
* Copyright 2015 Andrey Semashev
|
||||
*
|
||||
* Distributed under the Boost Software License, Version 1.0.
|
||||
* See http://www.boost.org/LICENSE_1_0.txt
|
||||
*/
|
||||
|
||||
#ifndef BOOST_WINAPI_TIMERS_HPP_INCLUDED_
|
||||
#define BOOST_WINAPI_TIMERS_HPP_INCLUDED_
|
||||
|
||||
#include <boost/winapi/basic_types.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#if !defined( BOOST_USE_WINDOWS_H )
|
||||
extern "C" {
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
|
||||
QueryPerformanceCounter(::_LARGE_INTEGER* lpPerformanceCount);
|
||||
|
||||
BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
|
||||
QueryPerformanceFrequency(::_LARGE_INTEGER* lpFrequency);
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
|
||||
namespace boost {
|
||||
namespace winapi {
|
||||
|
||||
BOOST_FORCEINLINE BOOL_ QueryPerformanceCounter(LARGE_INTEGER_* lpPerformanceCount)
|
||||
{
|
||||
return ::QueryPerformanceCounter(reinterpret_cast< ::_LARGE_INTEGER* >(lpPerformanceCount));
|
||||
}
|
||||
|
||||
BOOST_FORCEINLINE BOOL_ QueryPerformanceFrequency(LARGE_INTEGER_* lpFrequency)
|
||||
{
|
||||
return ::QueryPerformanceFrequency(reinterpret_cast< ::_LARGE_INTEGER* >(lpFrequency));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BOOST_WINAPI_TIMERS_HPP_INCLUDED_
|
||||
Loading…
Add table
Add a link
Reference in a new issue