X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2bd9a37bbb72eac4ed613b3d6953aba6555e2e92..e6ca184e99d50d0ee8fe405a83ee5277e2ecfce6:/src/mc/mc_unw.h diff --git a/src/mc/mc_unw.h b/src/mc/mc_unw.h index 267c850ca8..3470bd8580 100644 --- a/src/mc/mc_unw.h +++ b/src/mc/mc_unw.h @@ -1,12 +1,11 @@ /* Copyright (c) 2015. The SimGrid Team. - -/ * All rights reserved. */ + * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#ifndef MC_UNW_H -#define MC_UNW_H +#ifndef SIMGRID_MC_UNW_H +#define SIMGRID_MC_UNW_H /** \file * Libunwind implementation for the model-checker @@ -17,7 +16,7 @@ * * This component implements the libunwind API for he model-checker: * - * * reading memory from a mc_address_space_t; + * * reading memory from a simgrid::mc::AddressSpace*; * * * reading stack registers from a saved snapshot (context). * @@ -27,7 +26,11 @@ * much here. */ -#include "mc_process.h" +#include + +#include + +#include "src/mc/Process.hpp" SG_BEGIN_DECL() @@ -44,38 +47,35 @@ SG_BEGIN_DECL() * * It works with `void*` contexts allocated with `_UPT_create(pid)`. */ -extern unw_accessors_t mc_unw_vmread_accessors; +extern XBT_PRIVATE unw_accessors_t mc_unw_vmread_accessors; /** Virtual table for our `libunwind` implementation * - * Stack unwinding on a `mc_process_t` (for memory, unwinding information) + * Stack unwinding on a `simgrid::mc::Process*` (for memory, unwinding information) * and `ucontext_t` (for processor registers). * * It works with the `s_mc_unw_context_t` context. */ -extern unw_accessors_t mc_unw_accessors; +extern XBT_PRIVATE unw_accessors_t mc_unw_accessors; // ***** Libunwind context /** A `libunwind` context */ -typedef struct s_mc_unw_context { - mc_address_space_t address_space; - mc_process_t process; +typedef struct XBT_PRIVATE s_mc_unw_context { + simgrid::mc::AddressSpace* address_space; + simgrid::mc::Process* process; unw_context_t context; } s_mc_unw_context_t, *mc_unw_context_t; /** Initialises an already allocated context */ -int mc_unw_init_context( - mc_unw_context_t context, mc_process_t process, unw_context_t* c); - -/** Destroys (but not not `free`) a context */ -int mc_unw_destroy_context(mc_unw_context_t context); +XBT_PRIVATE int mc_unw_init_context( + mc_unw_context_t context, simgrid::mc::Process* process, unw_context_t* c); // ***** Libunwind cursor /** Initialises a `libunwind` cursor */ -int mc_unw_init_cursor(unw_cursor_t *cursor, mc_unw_context_t context); +XBT_PRIVATE int mc_unw_init_cursor(unw_cursor_t *cursor, mc_unw_context_t context); SG_END_DECL()