Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : new comparison of region (program data and libsimgrid data)
[simgrid.git] / src / include / simix / context.h
1 /* Copyright (c) 2009, 2010. 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 XBT_CONTEXT_H
8 #define XBT_CONTEXT_H
9
10 #include "xbt/misc.h"           /* XBT_PUBLIC(), SG_BEGIN_DECL() and SG_END_DECL() definitions  */
11 #include "xbt/function_types.h" /* function pointer types declarations                                                  */
12 #include "xbt_modinter.h"       /* xbt_context_init() and xbt_context_exit() declarations               */
13 #include "simix/simix.h"
14
15 SG_BEGIN_DECL()
16
17 typedef struct s_xbt_context *xbt_context_t;
18
19
20 XBT_PUBLIC(xbt_context_t) xbt_context_new(const char *name,
21                                           xbt_main_func_t code,
22                                           void_f_pvoid_t startup_func,
23                                           void *startup_arg,
24                                           void_pfn_smxprocess_t cleanup_func,
25                                           smx_process_t process,
26                                           int argc, char *argv[]);
27
28 XBT_PUBLIC(void) xbt_context_kill(xbt_context_t context);
29
30 XBT_PUBLIC(void) xbt_context_start(xbt_context_t context);
31
32 XBT_PUBLIC(void) xbt_context_yield(void);
33
34 XBT_PUBLIC(void) xbt_context_schedule(xbt_context_t context);
35
36 void xbt_context_empty_trash(void);
37
38 void xbt_context_stop(int exit_code);
39
40 void xbt_context_free(xbt_context_t context);
41
42 SG_END_DECL()
43 #endif                          /* !XBT_CONTEXT_H */