Chris@16: // thread.hpp --------------------------------------------------------------// Chris@16: Chris@16: // Copyright 2010 Vicente J. Botet Escriba 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_THREAD_HPP Chris@16: #define BOOST_DETAIL_WINAPI_THREAD_HPP Chris@16: Chris@16: #include 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: { Chris@16: namespace detail Chris@16: { Chris@16: namespace winapi Chris@16: { Chris@16: #if defined( BOOST_USE_WINDOWS_H ) Chris@16: using ::GetCurrentThreadId; Chris@16: using ::SleepEx; Chris@16: using ::Sleep; Chris@101: using ::SwitchToThread; Chris@16: #else Chris@101: extern "C" { Chris@16: # ifndef UNDER_CE Chris@101: __declspec(dllimport) DWORD_ WINAPI GetCurrentThreadId(void); Chris@101: __declspec(dllimport) DWORD_ WINAPI SleepEx(DWORD_, BOOL_); Chris@101: __declspec(dllimport) void WINAPI Sleep(DWORD_); Chris@101: __declspec(dllimport) BOOL_ WINAPI SwitchToThread(void); Chris@16: #else Chris@16: using ::GetCurrentThreadId; Chris@16: using ::SleepEx; Chris@16: using ::Sleep; Chris@101: using ::SwitchToThread; Chris@101: #endif Chris@101: } Chris@16: #endif Chris@16: } Chris@16: } Chris@16: } Chris@16: Chris@16: #endif // BOOST_DETAIL_WINAPI_THREAD_HPP