Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git] / src / mc / mc_base.h
index 45b3cb5..0cd5848 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2008-2014. The SimGrid Team.
+/* Copyright (c) 2008-2015. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -7,15 +7,8 @@
 #ifndef SIMGRID_MC_BASE_H
 #define SIMGRID_MC_BASE_H
 
-#include <xbt/misc.h>
-#include <simgrid/simix.h>
-#include "simgrid_config.h"
-#include "internal_config.h"
-#include "../simix/smx_private.h"
-
-// Marker for symbols which should be defined as XBT_PRIVATE but are used in
-// unit tests:
-#define MC_SHOULD_BE_INTERNAL
+#include <xbt/base.h>
+#include "src/simix/popping_private.h" // smx_simcall_t
 
 SG_BEGIN_DECL()
 
@@ -23,13 +16,13 @@ SG_BEGIN_DECL()
  *
  *  \return `TRUE` or `FALSE`
  */
-int MC_request_is_enabled(smx_simcall_t req);
+XBT_PRIVATE int MC_request_is_enabled(smx_simcall_t req);
 
 /** Check if the given simcall is visible
  *
  *  \return `TRUE` or `FALSE`
  */
-int MC_request_is_visible(smx_simcall_t req);
+XBT_PRIVATE int MC_request_is_visible(smx_simcall_t req);
 
 /** Execute everything which is invisible
  *
@@ -37,9 +30,12 @@ int MC_request_is_visible(smx_simcall_t req);
  *  iteratively until there doesn't remain any. At this point, the function
  *  returns to the caller which can handle the visible (and ready) simcalls.
  */
-void MC_wait_for_requests(void);
+XBT_PRIVATE void MC_wait_for_requests(void);
+
+XBT_PRIVATE extern double *mc_time;
 
-XBT_INTERNAL extern double *mc_time;
+/** Execute a given simcall */
+XBT_PRIVATE void MC_simcall_handle(smx_simcall_t req, int value);
 
 SG_END_DECL()