Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Remove remaining bits of parmap in MC (not used)
[simgrid.git] / src / mc / mc_record.h
index 3257703..17493f0 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014. The SimGrid Team.
+/* Copyright (c) 2014-2015. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  *  passed to the application (without the MC specific arguments).
  */
 
-#ifndef MC_RECORD_H
-#define MC_RECORD_H
+#ifndef SIMGRID_MC_RECORD_H
+#define SIMGRID_MC_RECORD_H
 
-#include <stdbool.h>
-
-#include "simgrid_config.h"
-#include "mc_record.h"
+#include <xbt/base.h>
+#include <xbt/dynar.h>
+#include <xbt/fifo.h>
 
 SG_BEGIN_DECL()
 
-/** Replay path (if any) in string representation
- *
- *  This is a path as generated by `MC_record_stack_to_string()`.
- */
-extern char* MC_record_path;
-
 /** Whether the MC record mode is enabled
  *
  *  The behaviour is not changed. The only real difference is that
@@ -37,11 +30,6 @@ extern char* MC_record_path;
  */
 #define MC_record_is_active() _sg_do_model_check_record
 
-/** Whether the replay mode is enabled */
-static inline bool MC_record_replay_is_active(void) {
-  return MC_record_path;
-}
-
 // **** Data conversion
 
 /** An element in the recorded path
@@ -59,7 +47,7 @@ typedef struct s_mc_record_item {
 
 /** Convert a string representation of the path into a array of `s_mc_record_item_t`
  */
-xbt_dynar_t MC_record_from_string(const char* data);
+XBT_PRIVATE xbt_dynar_t MC_record_from_string(const char* data);
 
 /** Generate a string representation
 *
@@ -67,11 +55,11 @@ xbt_dynar_t MC_record_from_string(const char* data);
 * "pid0,value0;pid2,value2;pid3,value3". The value can be
 * omitted is it is null.
 */
-char* MC_record_stack_to_string(xbt_fifo_t stack);
+XBT_PRIVATE char* MC_record_stack_to_string(xbt_fifo_t stack);
 
 /** Dump the path represented by a given stack in the log
  */
-void MC_record_dump_path(xbt_fifo_t stack);
+XBT_PRIVATE void MC_record_dump_path(xbt_fifo_t stack);
 
 // ***** Replay
 
@@ -80,13 +68,15 @@ void MC_record_dump_path(xbt_fifo_t stack);
  *  \param start Array of record item
  *  \item  count Number of record items
  */
-void MC_record_replay(mc_record_item_t start, size_t count);
+XBT_PRIVATE void MC_record_replay(mc_record_item_t start, size_t count);
 
 /** Replay a path represented by a string
  *
  *  \param data String representation of the path
  */
-void MC_record_replay_from_string(const char* data);
+XBT_PRIVATE void MC_record_replay_from_string(const char* data);
+
+XBT_PRIVATE void MC_record_replay_init(void);
 
 SG_END_DECL()