+/** Information about a given stack frame */
+typedef struct s_mc_stack_frame {
+ /** Instruction pointer */
+ unw_word_t ip;
+ /** Stack pointer */
+ unw_word_t sp;
+ unw_word_t frame_base;
+ simgrid::mc::Frame* frame;
+ std::string frame_name;
+ unw_cursor_t unw_cursor;
+} s_mc_stack_frame_t;
+typedef s_mc_stack_frame_t* mc_stack_frame_t;
+
+typedef struct s_local_variable{
+ simgrid::mc::Frame* subprogram;
+ unsigned long ip;
+ std::string name;
+ simgrid::mc::Type* type;
+ void *address;
+ int region;
+} s_local_variable_t;
+typedef s_local_variable_t* local_variable_t;
+
+typedef struct XBT_PRIVATE s_mc_snapshot_stack {
+ std::vector<s_local_variable> local_variables;
+ simgrid::mc::UnwindContext context;
+ std::vector<s_mc_stack_frame_t> stack_frames;
+ int process_index;
+} s_mc_snapshot_stack_t, *mc_snapshot_stack_t;