Imported Upstream version 1.57.0
[platform/upstream/boost.git] / boost / context / fcontext.hpp
1
2 //          Copyright Oliver Kowalke 2009.
3 // Distributed under the Boost Software License, Version 1.0.
4 //    (See accompanying file LICENSE_1_0.txt or copy at
5 //          http://www.boost.org/LICENSE_1_0.txt)
6
7 #ifndef BOOST_CONTEXT_FCONTEXT_H
8 #define BOOST_CONTEXT_FCONTEXT_H
9
10 #if defined(__PGI)
11 #include <stdint.h>
12 #endif
13
14 #if defined(_WIN32_WCE)
15 typedef int intptr_t;
16 #endif
17
18 #include <boost/config.hpp>
19 #include <boost/cstdint.hpp>
20
21 #include <boost/context/detail/config.hpp>
22
23 #ifdef BOOST_HAS_ABI_HEADERS
24 # include BOOST_ABI_PREFIX
25 #endif
26
27 namespace boost {
28 namespace context {
29
30 typedef void*   fcontext_t;
31
32 extern "C" BOOST_CONTEXT_DECL
33 intptr_t BOOST_CONTEXT_CALLDECL jump_fcontext( fcontext_t * ofc, fcontext_t nfc,
34                                                intptr_t vp, bool preserve_fpu = true);
35 extern "C" BOOST_CONTEXT_DECL
36 fcontext_t BOOST_CONTEXT_CALLDECL make_fcontext( void * sp, std::size_t size, void (* fn)( intptr_t) );
37
38 }}
39
40 #ifdef BOOST_HAS_ABI_HEADERS
41 # include BOOST_ABI_SUFFIX
42 #endif
43
44 #endif // BOOST_CONTEXT_FCONTEXT_H
45