X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ffe8ce65fd9a8e18a0469f26f067c3ea6d5d60d4..756df47074b2d7b0721f234077f5ef8d75e13932:/src/mc/mc_unw.h diff --git a/src/mc/mc_unw.h b/src/mc/mc_unw.h index 267c850ca8..53982a0b9e 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,9 @@ * much here. */ -#include "mc_process.h" +#include + +#include "src/mc/Process.hpp" SG_BEGIN_DECL() @@ -44,38 +45,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()