libcopp  1.1.0
fcontext_arm_mac.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_MAC_H
8 #define _COPP_BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_MAC_H
9 
10 #include <cstddef>
11 
12 #include <cstddef>
13 
14 #include <cstddef>
15 #include <stdint.h>
16 
18 #include "libcopp/utils/features.h"
19 
20 #ifdef COPP_HAS_ABI_HEADERS
21 #include COPP_ABI_PREFIX
22 #endif
23 
24 
25 namespace copp {
26  namespace fcontext {
27 
28 
29  extern "C" {
30 
31 #define COPP_BOOST_CONTEXT_CALLDECL
32 
33  struct stack_t {
34  void *sp;
35  std::size_t size;
36 
37  stack_t() : sp(0), size(0) {}
38  };
39 
40  struct fp_t {
41  uint32_t fc_freg[16];
42 
43  fp_t() : fc_freg() {}
44  };
45 
46  struct fcontext_t {
47  uint32_t fc_greg[11];
48  stack_t fc_stack;
49  fp_t fc_fp;
51 
52  fcontext_t() : fc_greg(), fc_stack(), fc_fp(), fc_unwind_sjlj(0) {}
53  };
54  }
55  }
56 }
57 
58 #ifdef COPP_HAS_ABI_HEADERS
59 #include COPP_ABI_SUFFIX
60 #endif
61 
62 #endif // BOOST_CONTEXT_DETAIL_FCONTEXT_ARM_MAC_H