| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | 
//          Copyright Oliver Kowalke 2009.// Distributed under the Boost Software License, Version 1.0.//    (See accompanying file LICENSE_1_0.txt or copy at//          http://www.boost.org/LICENSE_1_0.txt)#ifndef BOOST_CONTEXT_DETAIL_FCONTEXT_H#define BOOST_CONTEXT_DETAIL_FCONTEXT_H#include <boost/config.hpp>#include <boost/cstdint.hpp>#include <boost/context/detail/config.hpp>#ifdef BOOST_HAS_ABI_HEADERS# include BOOST_ABI_PREFIX#endifnamespace boost {namespace context {namespace detail {typedef void*   fcontext_t;struct transfer_t {    fcontext_t  fctx;    void    *   data;};extern "C" BOOST_CONTEXT_DECLtransfer_t BOOST_CONTEXT_CALLDECL jump_fcontext( fcontext_t const to, void * vp);extern "C" BOOST_CONTEXT_DECLfcontext_t BOOST_CONTEXT_CALLDECL make_fcontext( void * sp, std::size_t size, void (* fn)( transfer_t) );// based on an idea of Giovanni Derretaextern "C" BOOST_CONTEXT_DECLtransfer_t BOOST_CONTEXT_CALLDECL ontop_fcontext( fcontext_t const to, void * vp, transfer_t (* fn)( transfer_t) );}}}#ifdef BOOST_HAS_ABI_HEADERS# include BOOST_ABI_SUFFIX#endif#endif // BOOST_CONTEXT_DETAIL_FCONTEXT_H
 |