File indexing completed on 2025-01-18 09:30:24
0001
0002
0003
0004
0005
0006
0007 #ifndef BOOST_CONTEXT_DETAIL_FCONTEXT_H
0008 #define BOOST_CONTEXT_DETAIL_FCONTEXT_H
0009
0010 #include <boost/config.hpp>
0011 #include <boost/cstdint.hpp>
0012
0013 #include <boost/context/detail/config.hpp>
0014
0015 #ifdef BOOST_HAS_ABI_HEADERS
0016 # include BOOST_ABI_PREFIX
0017 #endif
0018
0019 namespace boost {
0020 namespace context {
0021 namespace detail {
0022
0023 typedef void* fcontext_t;
0024
0025 struct transfer_t {
0026 fcontext_t fctx;
0027 void * data;
0028 };
0029
0030 extern "C" BOOST_CONTEXT_DECL
0031 transfer_t BOOST_CONTEXT_CALLDECL jump_fcontext( fcontext_t const to, void * vp);
0032 extern "C" BOOST_CONTEXT_DECL
0033 fcontext_t BOOST_CONTEXT_CALLDECL make_fcontext( void * sp, std::size_t size, void (* fn)( transfer_t) );
0034
0035
0036 extern "C" BOOST_CONTEXT_DECL
0037 transfer_t BOOST_CONTEXT_CALLDECL ontop_fcontext( fcontext_t const to, void * vp, transfer_t (* fn)( transfer_t) );
0038
0039 }}}
0040
0041 #ifdef BOOST_HAS_ABI_HEADERS
0042 # include BOOST_ABI_SUFFIX
0043 #endif
0044
0045 #endif
0046