Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
1958c782e5eedf0b36bb8f48e6ddd177e59a077f
[simgrid.git] / src / include / mc / mc.h
1 /*      $Id: simix.h 5497 2008-05-26 12:19:15Z cristianrosa $    */
2
3 /* Copyright (c) 2008 Martin Quinson, Cristian Rosa.
4    All rights reserved.                                          */
5
6 /* This program is free software; you can redistribute it and/or modify it
7  * under the terms of the license (GNU LGPL) which comes with this package. */
8
9 #ifndef _MC_MC_H
10 #define _MC_MC_H
11
12 #include "xbt/misc.h"
13 #include "xbt/fifo.h"
14 #include "xbt/dict.h"
15 #include "xbt/function_types.h"
16 #include "mc/datatypes.h"
17 #include "simix/datatypes.h"
18
19 SG_BEGIN_DECL()
20
21 /********************************* Global *************************************/
22 XBT_PUBLIC(void) MC_init(int);
23 XBT_PUBLIC(void) MC_assert(int);
24 XBT_PUBLIC(void) MC_modelcheck(int);
25 XBT_PUBLIC(int) MC_random(int,int);
26
27 /******************************* Transitions **********************************/
28 XBT_PUBLIC(mc_transition_t) MC_create_transition(mc_trans_type_t, smx_process_t, smx_rdv_t, smx_comm_t);
29 XBT_PUBLIC(void) MC_transition_set_comm(mc_transition_t, smx_comm_t);
30
31 /********************************* Memory *************************************/
32 XBT_PUBLIC(void) MC_memory_init(void);   /* Initialize the memory subsystem */
33 XBT_PUBLIC(void) MC_memory_exit(void);
34
35 /*
36  * Boolean indicating whether we want to activate the model-checker
37  */
38 extern int _surf_do_model_check;
39
40
41 SG_END_DECL()
42
43 #endif                          /* _MC_MC_H */