Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Move the stack as field of SafetyChecker and CommDetChecker
[simgrid.git] / src / mc / mc_request.h
1 /* Copyright (c) 2007-2015. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #ifndef SIMGRID_MC_REQUEST_H
8 #define SIMGRID_MC_REQUEST_H
9
10 #include <xbt/base.h>
11
12 #include "src/simix/smx_private.h"
13
14 namespace simgrid {
15 namespace mc {
16
17 enum class RequestType {
18   simix,
19   executed,
20   internal,
21 };
22
23 XBT_PRIVATE bool request_depend(smx_simcall_t req1, smx_simcall_t req2);
24
25 XBT_PRIVATE char* request_to_string(smx_simcall_t req, int value, simgrid::mc::RequestType type);
26
27 XBT_PRIVATE bool request_is_enabled_by_idx(smx_simcall_t req, unsigned int idx);
28
29 /** Is the process ready to execute its simcall?
30  *
31  *  This is true if the request associated with the process is ready.
32  */
33 XBT_PRIVATE bool process_is_enabled(smx_process_t process);
34
35 XBT_PRIVATE char *request_get_dot_output(smx_simcall_t req, int value);
36
37 }
38 }
39
40 #endif