libcopp  1.1.0
fcontext_arm.hpp
Go to the documentation of this file.
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 _COPP_BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_H
8 #define _COPP_BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_H
9 
10 #include <cstddef>
11 
12 #include <cstddef>
13 #include <stdint.h>
14 
16 #include "libcopp/utils/features.h"
17 
18 #ifdef COPP_HAS_ABI_HEADERS
19 #include COPP_ABI_PREFIX
20 #endif
21 namespace copp {
22  namespace fcontext {
23 
24  extern "C" {
25 
26 #define COPP_BOOST_CONTEXT_CALLDECL
27 
28  struct stack_t {
29  void *sp;
30  std::size_t size;
31 
32  stack_t() : sp(0), size(0) {}
33  };
34 
35  struct fp_t {
36  uint32_t fc_freg[16];
37 
38  fp_t() : fc_freg() {}
39  };
40 
41  struct fcontext_t {
42  uint32_t fc_greg[11];
45 
46  fcontext_t() : fc_greg(), fc_stack(), fc_fp() {}
47  };
48  }
49  }
50 }
51 
52 #ifdef COPP_HAS_ABI_HEADERS
53 #include COPP_ABI_SUFFIX
54 #endif
55 #endif // BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_H