#define SIMGRID_MODELCHECKER_H
#include <stdbool.h>
+#include <stddef.h> /* size_t */
-#include <simgrid_config.h> /* HAVE_MC ? */
+#include <simgrid_config.h> /* SIMGRID_HAVE_MC ? */
#include <xbt/base.h>
XBT_PUBLIC(int) MC_random(int min, int max);
-#if HAVE_MC
+#if SIMGRID_HAVE_MC
/* Internal variable used to check if we're running under the MC
*
* Please don't use directly: you should use MC_is_active. */
extern XBT_PUBLIC(int) _sg_do_model_check;
-extern XBT_PUBLIC(int) _sg_mc_visited;
+extern XBT_PUBLIC(int) _sg_mc_max_visited_states;
#define MC_is_active() _sg_do_model_check
-#define MC_visited_reduction() _sg_mc_visited
+#define MC_visited_reduction() _sg_mc_max_visited_states
/** Assertion for the model-checker
*
XBT_PUBLIC(void) MC_cut(void);
XBT_PUBLIC(void) MC_ignore(void *addr, size_t size);
+XBT_PUBLIC(void) MC_ignore_heap(void* address, size_t size);
+XBT_PUBLIC(void) MC_remove_ignore_heap(void* address, size_t size);
+XBT_PUBLIC(void) MC_ignore_local_variable(const char* var_name, const char* frame);
+XBT_PUBLIC(void) MC_ignore_global_variable(const char* var_name);
+
#else
#define MC_is_active() 0
#define MC_cut() ((void)0)
#define MC_ignore(a, b) ((void)0)
+#define MC_ignore_heap(a,s) ((void)0)
+#define MC_remove_ignore_heap(a,s) ((void)0)
+#define MC_ignore_local_variable(n,f) ((void)0)
+#define MC_ignore_global_variable(v) ((void)0)
+
#endif
SG_END_DECL()