X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/221538a27f21e52c182ae7fcc08c78c1175395b9..187ba0c05f9fbe51175179b9f637b6554f947468:/src/surf/surf.c diff --git a/src/surf/surf.c b/src/surf/surf.c index 19e441e82a..df3087e1a1 100644 --- a/src/surf/surf.c +++ b/src/surf/surf.c @@ -4,8 +4,6 @@ /* 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. */ -#include - #include "surf_private.h" #include "xbt/module.h" #include "mc/mc.h" @@ -13,6 +11,8 @@ #include "surf/surf_resource.h" #include "xbt/xbt_os_thread.h" +#include + XBT_LOG_NEW_CATEGORY(surf, "All SURF categories"); XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_kernel, surf, "Logging specific to SURF (kernel)"); @@ -55,6 +55,26 @@ static const char *disk_drives_letter_table[MAX_DRIVE] = { }; #endif /* #ifdef _XBT_WIN32 */ +int surf_cfg_get_int(const char* name) +{ + return xbt_cfg_get_int(_surf_cfg_set,name); +} +double surf_cfg_get_double(const char* name) +{ + return xbt_cfg_get_double(_surf_cfg_set,name); +} +char* surf_cfg_get_string(const char* name) +{ + return xbt_cfg_get_string(_surf_cfg_set,name); +} +void surf_cfg_get_peer(const char *name, char **peer, int *port) +{ + xbt_cfg_get_peer(_surf_cfg_set,name, peer, port); +} +xbt_dynar_t surf_cfg_get_dynar(const char* name) +{ + return xbt_cfg_get_dynar(_surf_cfg_set,name); +} /* * Returns the initial path. On Windows the initial path is * the current directory for the current process in the other @@ -189,6 +209,16 @@ s_surf_model_description_t surf_storage_model_description[] = { {NULL, NULL, NULL} /* this array must be NULL terminated */ }; +/* ********************************************************************* */ +/* TUTORIAL: New model */ +s_surf_model_description_t surf_new_model_description[] = { + {"default", + "Tutorial model.", + surf_new_model_init_default}, + {NULL, NULL, NULL} /* this array must be NULL terminated */ +}; +/* ********************************************************************* */ + #ifdef CONTEXT_THREADS static xbt_parmap_t surf_parmap = NULL; /* parallel map on models */ #endif @@ -381,8 +411,15 @@ void sg_version(int *ver_major,int *ver_minor,int *ver_patch) { *ver_patch = SIMGRID_VERSION_PATCH; } +xbt_dynar_t sg_cmdline = NULL; + +extern char *xbt_os_procname_data; + + void surf_init(int *argc, char **argv) { + xbt_os_procname_data = argv[0]; + XBT_DEBUG("Create all Libs"); host_lib = xbt_lib_new(); link_lib = xbt_lib_new(); @@ -401,6 +438,11 @@ void surf_init(int *argc, char **argv) SURF_WKS_LEVEL = xbt_lib_add_level(host_lib,surf_resource_free); SURF_LINK_LEVEL = xbt_lib_add_level(link_lib,surf_resource_free); + sg_cmdline = xbt_dynar_new(sizeof(char*),NULL); + int i; + for (i=0;i<*argc;i++) { + xbt_dynar_push(sg_cmdline,&(argv[i])); + } xbt_init(argc, argv); if (!model_list) model_list = xbt_dynar_new(sizeof(surf_model_private_t), NULL); @@ -408,8 +450,9 @@ void surf_init(int *argc, char **argv) history = tmgr_history_new(); surf_config_init(argc, argv); + surf_action_init(); - if (MC_IS_ENABLED) + if (MC_is_active()) MC_memory_init(); } @@ -472,6 +515,7 @@ void surf_exit(void) #endif xbt_dynar_free(&surf_path); + xbt_dynar_free(&sg_cmdline); xbt_lib_free(&host_lib); xbt_lib_free(&link_lib);