1 // thread.hpp --------------------------------------------------------------// 2 3 // Copyright 2010 Vicente J. Botet Escriba 4 5 // Distributed under the Boost Software License, Version 1.0. 6 // See http://www.boost.org/LICENSE_1_0.txt 7 8 9 #ifndef BOOST_DETAIL_WINAPI_THREAD_HPP 10 #define BOOST_DETAIL_WINAPI_THREAD_HPP 11 12 #include <boost/detail/winapi/basic_types.hpp> 13 #include <boost/detail/winapi/GetCurrentThread.hpp> 14 15 #ifdef BOOST_HAS_PRAGMA_ONCE 16 #pragma once 17 #endif 18 19 namespace boost 20 { 21 namespace detail 22 { 23 namespace winapi 24 { 25 #if defined( BOOST_USE_WINDOWS_H ) 26 using ::GetCurrentThreadId; 27 using ::SleepEx; 28 using ::Sleep; 29 using ::SwitchToThread; 30 #else 31 extern "C" { 32 # ifndef UNDER_CE 33 __declspec(dllimport) DWORD_ WINAPI GetCurrentThreadId(void); 34 __declspec(dllimport) DWORD_ WINAPI SleepEx(DWORD_, BOOL_); 35 __declspec(dllimport) void WINAPI Sleep(DWORD_); 36 __declspec(dllimport) BOOL_ WINAPI SwitchToThread(void); 37 #else 38 using ::GetCurrentThreadId; 39 using ::SleepEx; 40 using ::Sleep; 41 using ::SwitchToThread; 42 #endif 43 } 44 #endif 45 } 46 } 47 } 48 49 #endif // BOOST_DETAIL_WINAPI_THREAD_HPP 50