5 /* Copyright (c) 2003, 2004 Martin Quinson. All rights reserved. */
7 /* This program is free software; you can redistribute it and/or modify it
8 * under the terms of the license (GNU LGPL) which comes with this package. */
10 #include "time.h" /* to seed the random generator */
12 #include "xbt/sysdep.h"
14 #include "xbt/dynar.h"
15 #include "xbt/config.h"
17 #include "xbt/module.h" /* this module */
19 #include "xbt_modinter.h" /* prototype of other module's init/exit in XBT */
21 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(module,xbt, "module handling");
23 char *xbt_binary_name=NULL; /* Mandatory to retrieve neat backtraces */
24 int xbt_initialized=0;
30 xbt_module_new_fct_t new;
31 xbt_module_finalize_fct_t finalize;
34 /** @brief Initialize the xbt mechanisms. */
36 xbt_init(int *argc, char **argv) {
39 if (xbt_initialized!=1)
42 xbt_binary_name = strdup(argv[0]);
43 srand((unsigned int)time(NULL));
44 VERB0("Initialize XBT");
46 xbt_log_init(argc,argv);
49 /** @brief Finalize the xbt mechanisms. */
53 if (xbt_initialized == 0)
54 free(xbt_binary_name);