X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cb213ff195ee293ff0ad8e7a7d8e6b7d5c335b99..4bac5d6867ff353bb05c89397a641001f43ba711:/src/include/surf/surf.h diff --git a/src/include/surf/surf.h b/src/include/surf/surf.h index f72453abf1..2872f56fee 100644 --- a/src/include/surf/surf.h +++ b/src/include/surf/surf.h @@ -193,6 +193,7 @@ typedef struct surf_cpu_model_extension_public { surf_action_t(*execute) (void *cpu, double size); surf_action_t(*sleep) (void *cpu, double duration); e_surf_resource_state_t(*get_state) (void *cpu); + int (*get_core) (void *cpu); double (*get_speed) (void *cpu, double load); double (*get_available_speed) (void *cpu); void (*add_traces) (void); @@ -227,14 +228,10 @@ typedef struct surf_network_model_extension_public { typedef struct surf_storage_model_extension_public { surf_action_t(*open) (void *storage, const char* mount, const char* path); surf_action_t(*close) (void *storage, surf_file_t fd); - surf_action_t(*read) (void *storage, void* ptr, double size, size_t nmemb, - surf_file_t fd); - surf_action_t(*write) (void *storage, const void* ptr, size_t size, - size_t nmemb, surf_file_t fd); + surf_action_t(*read) (void *storage, size_t size, surf_file_t fd); + surf_action_t(*write) (void *storage, size_t size, surf_file_t fd); surf_action_t(*stat) (void *storage, surf_file_t fd); - surf_action_t(*unlink) (void *storage, surf_file_t fd); surf_action_t(*ls) (void *storage, const char *path); - size_t (*get_size) (void *storage, surf_file_t fd); } s_surf_model_extension_storage_t; /** \ingroup SURF_models @@ -247,6 +244,7 @@ typedef struct surf_workstation_model_extension_public { and create the corresponding action */ surf_action_t(*sleep) (void *workstation, double duration); /**< Make a workstation sleep during a given duration */ e_surf_resource_state_t(*get_state) (void *workstation); /**< Return the CPU state of a workstation */ + int (*get_core) (void *workstation); double (*get_speed) (void *workstation, double load); /**< Return the speed of a workstation */ double (*get_available_speed) (void *workstation); /**< Return tha available speed of a workstation */ surf_action_t(*communicate) (void *workstation_src, /**< Execute a communication amount between two workstations */ @@ -265,12 +263,10 @@ typedef struct surf_workstation_model_extension_public { surf_action_t(*open) (void *workstation, const char* storage, const char* path); surf_action_t(*close) (void *workstation, surf_file_t fd); - surf_action_t(*read) (void *workstation, void* ptr, size_t size, size_t nmemb, - surf_file_t fd); - surf_action_t(*write) (void *workstation, const void* ptr, size_t size, - size_t nmemb, surf_file_t fd); + surf_action_t(*read) (void *workstation, size_t size, surf_file_t fd); + surf_action_t(*write) (void *workstation, size_t size, surf_file_t fd); surf_action_t(*stat) (void *workstation, surf_file_t fd); - surf_action_t(*unlink) (void *workstation, surf_file_t fd); + int(*unlink) (void *workstation, surf_file_t fd); surf_action_t(*ls) (void *workstation, const char* mount, const char *path); size_t (*get_size) (void *workstation, surf_file_t fd); @@ -628,6 +624,17 @@ XBT_PUBLIC_DATA(s_surf_model_description_t) surf_new_model_description[]; */ XBT_PUBLIC_DATA(xbt_dynar_t) model_list; +/*******************************************/ +/*** SURF Platform *************************/ +/*******************************************/ +typedef struct s_as *AS_t; + +XBT_PUBLIC_DATA(AS_t) surf_AS_get_routing_root(void); +XBT_PUBLIC_DATA(const char *) surf_AS_get_name(AS_t as); +XBT_PUBLIC_DATA(xbt_dict_t) surf_AS_get_routing_sons(AS_t as); +XBT_PUBLIC_DATA(const char *) surf_AS_get_model(AS_t as); +XBT_PUBLIC_DATA(xbt_dynar_t) surf_AS_get_hosts(AS_t as); + /*******************************************/ /*** SURF Globals **************************/ /*******************************************/