1 /* Copyright (c) 2009, 2010. The SimGrid Team.
2 * All rights reserved. */
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. */
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 */
16 typedef struct s_xbt_context *xbt_context_t;
17 typedef void (*void_pfn_smxprocess_t) (smx_process_t);
20 XBT_PUBLIC(xbt_context_t) xbt_context_new(const char *name,
22 void_f_pvoid_t startup_func,
24 void_pfn_smxprocess_t cleanup_func,
25 smx_process_t process,
26 int argc, char *argv[]);
28 XBT_PUBLIC(void) xbt_context_kill(xbt_context_t context);
30 XBT_PUBLIC(void) xbt_context_start(xbt_context_t context);
32 XBT_PUBLIC(void) xbt_context_yield(void);
34 XBT_PUBLIC(void) xbt_context_schedule(xbt_context_t context);
36 void xbt_context_empty_trash(void);
38 void xbt_context_stop(int exit_code);
40 void xbt_context_free(xbt_context_t context);
43 #endif /* !XBT_CONTEXT_H */