X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6760cb07d6b57be16928d95339d71e57c4e24f36..a846b9415542cdaa8ba5d0f7efeadecb56ba7c2c:/src/include/simix/context.h diff --git a/src/include/simix/context.h b/src/include/simix/context.h index 178b418955..be146fe36a 100644 --- a/src/include/simix/context.h +++ b/src/include/simix/context.h @@ -7,17 +7,23 @@ #ifndef XBT_CONTEXT_H #define XBT_CONTEXT_H -#include "xbt/misc.h" /* XBT_PUBLIC(), SG_BEGIN_DECL() and SG_END_DECL() definitions */ -#include "xbt/function_types.h" /* function pointer types declarations */ -#include "xbt_modinter.h" /* xbt_context_init() and xbt_context_exit() declarations */ - -SG_BEGIN_DECL() - +#include "xbt/misc.h" /* XBT_PUBLIC(), SG_BEGIN_DECL() and SG_END_DECL() definitions */ +#include "xbt/function_types.h" /* function pointer types declarations */ +#include "xbt_modinter.h" /* xbt_context_init() and xbt_context_exit() declarations */ + +SG_BEGIN_DECL() + typedef struct s_xbt_context *xbt_context_t; +typedef void (*void_pfn_smxprocess_t) (smx_process_t); + -XBT_PUBLIC(xbt_context_t) xbt_context_new(const char *name, xbt_main_func_t code, - void_f_pvoid_t startup_func, void *startup_arg, - void_f_pvoid_t cleanup_func, void *cleanup_arg, int argc, char *argv[]); +XBT_PUBLIC(xbt_context_t) xbt_context_new(const char *name, + xbt_main_func_t code, + void_f_pvoid_t startup_func, + void *startup_arg, + void_pfn_smxprocess_t cleanup_func, + smx_process_t process, + int argc, char *argv[]); XBT_PUBLIC(void) xbt_context_kill(xbt_context_t context); @@ -26,13 +32,12 @@ XBT_PUBLIC(void) xbt_context_start(xbt_context_t context); XBT_PUBLIC(void) xbt_context_yield(void); XBT_PUBLIC(void) xbt_context_schedule(xbt_context_t context); - + void xbt_context_empty_trash(void); void xbt_context_stop(int exit_code); - + void xbt_context_free(xbt_context_t context); -SG_END_DECL() - -#endif /* !XBT_CONTEXT_H */ +SG_END_DECL() +#endif /* !XBT_CONTEXT_H */