Chris@16: // system.hpp --------------------------------------------------------------// Chris@16: Chris@16: // Copyright 2010 Vicente J. Botet Escriba Chris@101: // Copyright (c) Microsoft Corporation 2014 Chris@16: Chris@16: // Distributed under the Boost Software License, Version 1.0. Chris@16: // See http://www.boost.org/LICENSE_1_0.txt Chris@16: Chris@16: Chris@16: #ifndef BOOST_DETAIL_WINAPI_SYSTEM_HPP Chris@16: #define BOOST_DETAIL_WINAPI_SYSTEM_HPP Chris@16: Chris@16: #include Chris@16: Chris@16: #ifdef BOOST_HAS_PRAGMA_ONCE Chris@16: #pragma once Chris@16: #endif Chris@16: Chris@16: namespace boost { Chris@16: namespace detail { Chris@16: namespace winapi { Chris@16: #if defined( BOOST_USE_WINDOWS_H ) Chris@16: typedef ::SYSTEM_INFO SYSTEM_INFO_; Chris@101: # if BOOST_USE_WINAPI_VERSION < BOOST_WINAPI_VERSION_WINXP Chris@101: extern "C" __declspec(dllimport) void __stdcall GetSystemInfo (struct system_info *); Chris@101: # else Chris@101: extern "C" __declspec(dllimport) void __stdcall GetNativeSystemInfo (struct system_info *); Chris@101: # endif Chris@16: #else Chris@16: extern "C" { Chris@16: typedef struct _SYSTEM_INFO { Chris@16: union { Chris@16: DWORD_ dwOemId; Chris@16: struct { Chris@16: WORD_ wProcessorArchitecture; Chris@16: WORD_ wReserved; Chris@16: } dummy; Chris@16: } ; Chris@16: DWORD_ dwPageSize; Chris@16: LPVOID_ lpMinimumApplicationAddress; Chris@16: LPVOID_ lpMaximumApplicationAddress; Chris@16: DWORD_PTR_ dwActiveProcessorMask; Chris@16: DWORD_ dwNumberOfProcessors; Chris@16: DWORD_ dwProcessorType; Chris@16: DWORD_ dwAllocationGranularity; Chris@16: WORD_ wProcessorLevel; Chris@16: WORD_ wProcessorRevision; Chris@16: } SYSTEM_INFO_; Chris@16: Chris@101: # if BOOST_USE_WINAPI_VERSION < BOOST_WINAPI_VERSION_WINXP Chris@16: __declspec(dllimport) void __stdcall Chris@16: GetSystemInfo (struct system_info *); Chris@101: # else Chris@101: __declspec(dllimport) void __stdcall Chris@101: GetNativeSystemInfo (struct system_info *); Chris@101: # endif Chris@16: } Chris@16: #endif Chris@16: } Chris@16: } Chris@16: } Chris@16: #endif // BOOST_DETAIL_WINAPI_SYSTEM_HPP