-
-/** @brief Storage datatype
- @ingroup SD_datatypes_management
-
- TODO PV: comment it !
-
- @see SD_storage_management */
-typedef xbt_dictelm_t SD_storage_t;
-
-/************************** Link handling ***********************************/
-/** @defgroup SD_link_management Links
- * @brief Functions for managing the network links
- *
- * This section describes the functions for managing the network links.
- *
- * A link is a network node represented as a <em>name</em>, a <em>current
- * bandwidth</em> and a <em>current latency</em>. The links are created
- * when you call the function SD_create_environment.
- *
- * @see SD_link_t
- * @{
- */
-XBT_PUBLIC(const SD_link_t *) SD_link_get_list(void);
-/** @brief Returns the number of links in the whole platform */
-static inline int SD_link_get_number(void) {
- return sg_link_amount();
-}
-
-/** @brief Returns the user data of a link */
-static inline void *SD_link_get_data(SD_link_t link) {
- return sg_link_data(link);
-}
-
-/** @brief Sets the user data of a link
- *
- * The new data can be \c NULL. The old data should have been freed first
- * if it was not \c NULL.
- */
-static inline void SD_link_set_data(SD_link_t link, void *data) {
- sg_link_data_set(link, data);
-}
-/** @brief Returns the name of a link */
-static inline const char *SD_link_get_name(SD_link_t link) {
- return sg_link_name(link);
-}
-/** @brief Returns the current bandwidth of a link (in bytes per second) */
-static inline double SD_link_get_current_bandwidth(SD_link_t link) {
- return sg_link_bandwidth(link);
-}
-/** @brief Returns the current latency of a link (in seconds) */
-static inline double SD_link_get_current_latency(SD_link_t link){
- return sg_link_latency(link);
-}
-/** @brief Returns the sharing policy of this workstation.
- * @return true if the link is shared, and false if it's a fatpipe
- */
-static inline int SD_link_is_shared(SD_link_t link) {
- return sg_link_is_shared(link);
-}
-/** @} */
-
-/************************** Workstation handling ****************************/
-
-/** @defgroup SD_workstation_management Workstations
- * @brief Functions for managing the workstations
- *
- * This section describes the functions for managing the workstations.
- *
- * A workstation is a place where a task can be executed.
- * A workstation is represented as a <em>physical
- * resource with computing capabilities</em> and has a <em>name</em>.
- *
- * The workstations are created when you call the function SD_create_environment.
- *
- * @see SD_workstation_t
- * @{
- */
-XBT_PUBLIC(SD_workstation_t) SD_workstation_get_by_name(const char *name);
-XBT_PUBLIC(const SD_workstation_t *) SD_workstation_get_list(void);
-XBT_PUBLIC(int) SD_workstation_get_number(void);
-XBT_PUBLIC(void) SD_workstation_set_data(SD_workstation_t workstation,
- void *data);
-XBT_PUBLIC(void *) SD_workstation_get_data(SD_workstation_t workstation);
-XBT_PUBLIC(const char *) SD_workstation_get_name(SD_workstation_t
- workstation);
-/*property handling functions*/
-XBT_PUBLIC(xbt_dict_t) SD_workstation_get_properties(SD_workstation_t
- workstation);
-XBT_PUBLIC(const char *) SD_workstation_get_property_value(SD_workstation_t
- workstation,
- const char
- *name);
-XBT_PUBLIC(void) SD_workstation_dump(SD_workstation_t ws);
-XBT_PUBLIC(const SD_link_t *) SD_route_get_list(SD_workstation_t src,
- SD_workstation_t dst);
-XBT_PUBLIC(int) SD_route_get_size(SD_workstation_t src,
- SD_workstation_t dst);
-XBT_PUBLIC(double) SD_workstation_get_power(SD_workstation_t workstation);
-XBT_PUBLIC(double) SD_workstation_get_available_power(SD_workstation_t
- workstation);
-XBT_PUBLIC(int) SD_workstation_get_cores(SD_workstation_t workstation);
-XBT_PUBLIC(e_SD_workstation_access_mode_t)
- SD_workstation_get_access_mode(SD_workstation_t workstation);
-XBT_PUBLIC(void) SD_workstation_set_access_mode(SD_workstation_t
- workstation,
- e_SD_workstation_access_mode_t
- access_mode);
-
-XBT_PUBLIC(double) SD_workstation_get_computation_time(SD_workstation_t workstation,
- double flops_amount);
-XBT_PUBLIC(double) SD_route_get_current_latency(SD_workstation_t src,
- SD_workstation_t dst);
-XBT_PUBLIC(double) SD_route_get_current_bandwidth(SD_workstation_t src,
- SD_workstation_t dst);
-XBT_PUBLIC(double) SD_route_get_communication_time(SD_workstation_t src,
- SD_workstation_t dst,
- double bytes_amount);
-
-XBT_PUBLIC(SD_task_t) SD_workstation_get_current_task(SD_workstation_t workstation);
-XBT_PUBLIC(xbt_dict_t)
- SD_workstation_get_mounted_storage_list(SD_workstation_t workstation);
-XBT_PUBLIC(xbt_dynar_t)
- SD_workstation_get_attached_storage_list(SD_workstation_t workstation);
-XBT_PUBLIC(const char*) SD_storage_get_host(SD_storage_t storage);
-/** @} */
-