X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a89700266146941b0bd63a7cdbb65bd72c30903f..bfac02929553a016704ad34e359da3789b15927b:/src/surf/surf_interface.hpp diff --git a/src/surf/surf_interface.hpp b/src/surf/surf_interface.hpp index 80ebe020fa..75c69dd682 100644 --- a/src/surf/surf_interface.hpp +++ b/src/surf/surf_interface.hpp @@ -207,6 +207,34 @@ XBT_PUBLIC void surf_host_model_init_ptask_L07(); */ XBT_PUBLIC void surf_storage_model_init_default(); +/* -------------------- + * Model Descriptions + * -------------------- */ +/** \brief Resource model description */ +struct surf_model_description { + const char* name; + const char* description; + void_f_void_t model_init_preparse; +}; +typedef struct surf_model_description s_surf_model_description_t; + +XBT_PUBLIC int find_model_description(s_surf_model_description_t* table, std::string name); +XBT_PUBLIC void model_help(const char* category, s_surf_model_description_t* table); + +/** @brief The list of all available plugins */ +XBT_PUBLIC_DATA s_surf_model_description_t surf_plugin_description[]; +/** @brief The list of all available optimization modes (both for cpu and networks). + * These optimization modes can be set using --cfg=cpu/optim:... and --cfg=network/optim:... */ +XBT_PUBLIC_DATA s_surf_model_description_t surf_optimization_mode_description[]; +/** @brief The list of all cpu models (pick one with --cfg=cpu/model) */ +XBT_PUBLIC_DATA s_surf_model_description_t surf_cpu_model_description[]; +/** @brief The list of all network models (pick one with --cfg=network/model) */ +XBT_PUBLIC_DATA s_surf_model_description_t surf_network_model_description[]; +/** @brief The list of all storage models (pick one with --cfg=storage/model) */ +XBT_PUBLIC_DATA s_surf_model_description_t surf_storage_model_description[]; +/** @brief The list of all host models (pick one with --cfg=host/model:) */ +XBT_PUBLIC_DATA s_surf_model_description_t surf_host_model_description[]; + /********** * Action * **********/