| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | /* * Copyright 2013 Andrey Semashev * * Distributed under the Boost Software License, Version 1.0. * See http://www.boost.org/LICENSE_1_0.txt */#ifndef BOOST_WINAPI_TLS_HPP_INCLUDED_#define BOOST_WINAPI_TLS_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 )extern "C" {#if !defined( UNDER_CE )// Windows CE define TlsAlloc and TlsFree as inline functions in kfuncs.hBOOST_SYMBOL_IMPORT boost::winapi::DWORD_ BOOST_WINAPI_WINAPI_CCTlsAlloc(BOOST_WINAPI_DETAIL_VOID);BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CCTlsFree(boost::winapi::DWORD_ dwTlsIndex);#endifBOOST_SYMBOL_IMPORT boost::winapi::LPVOID_ BOOST_WINAPI_WINAPI_CCTlsGetValue(boost::winapi::DWORD_ dwTlsIndex);BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CCTlsSetValue(    boost::winapi::DWORD_ dwTlsIndex,    boost::winapi::LPVOID_ lpTlsValue);} // extern "C"#endifnamespace boost {namespace winapi {using ::TlsAlloc;using ::TlsFree;using ::TlsGetValue;using ::TlsSetValue;#if defined( BOOST_USE_WINDOWS_H )BOOST_CONSTEXPR_OR_CONST DWORD_ TLS_OUT_OF_INDEXES_ = TLS_OUT_OF_INDEXES;#elseBOOST_CONSTEXPR_OR_CONST DWORD_ TLS_OUT_OF_INDEXES_ = 0xFFFFFFFF;#endifBOOST_CONSTEXPR_OR_CONST DWORD_ tls_out_of_indexes = TLS_OUT_OF_INDEXES_;}}#endif // BOOST_WINAPI_PARTITION_APP_SYSTEM#endif // BOOST_WINAPI_TLS_HPP_INCLUDED_
 |