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