X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2a34c60af48746935a7495f736dcaa2e3e9c45a4..e9d070ff4b259516963e10fde45bac591336f154:/src/include/xbt/context.h diff --git a/src/include/xbt/context.h b/src/include/xbt/context.h index fd744d3b81..aab0fc3be4 100644 --- a/src/include/xbt/context.h +++ b/src/include/xbt/context.h @@ -1,46 +1,21 @@ -/* $Id$ */ - -/* Copyright (c) 2004 Arnaud Legrand. All rights reserved. */ - -/* This program is free software; you can redistribute it and/or modify it - * under the terms of the license (GNU LGPL) which comes with this package. */ - -#ifndef _XBT_CONTEXT_H -#define _XBT_CONTEXT_H - -#include "xbt/misc.h" -#include "xbt/dynar.h" /* void_f_pvoid_t */ - -/** @addtogroup XBT_context - * - * INTERNALS OF SIMGRID, DON'T USE IT. - * - * This is a portable to Unix and Windows context implementation. - * - * @{ - */ - -/** @name Context types - * @{ - */ - - /** @brief A context */ - typedef struct s_xbt_context *xbt_context_t; - /** @brief A context function */ - typedef int(*xbt_context_function_t)(int argc, char *argv[]); - -/*@}*/ - -void xbt_context_init(void); -void xbt_context_exit(void); -void xbt_context_empty_trash(void); -xbt_context_t xbt_context_new(xbt_context_function_t code, - void_f_pvoid_t startup_func, void *startup_arg, - void_f_pvoid_t cleanup_func, void *cleanup_arg, - int argc, char *argv[]); -void xbt_context_free(xbt_context_t context); -void xbt_context_start(xbt_context_t context); -void xbt_context_yield(void); -void xbt_context_schedule(xbt_context_t context); -/*@} */ -#endif /* _XBT_CONTEXT_H */ +#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() typedef struct s_xbt_context *xbt_context_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(void) xbt_context_kill(xbt_context_t context); + 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 */