-SD_workstation_t SD_workstation_get_by_name(const char *name);
-const SD_workstation_t* SD_workstation_get_list(void);
-int SD_workstation_get_number(void);
-void SD_workstation_set_data(SD_workstation_t workstation, void *data);
-void* SD_workstation_get_data(SD_workstation_t workstation);
-const char* SD_workstation_get_name(SD_workstation_t workstation);
-SD_link_t* SD_workstation_route_get_list(SD_workstation_t src, SD_workstation_t dst);
-int SD_workstation_route_get_size(SD_workstation_t src, SD_workstation_t dst);
-double SD_workstation_get_power(SD_workstation_t workstation);
-double SD_workstation_get_available_power(SD_workstation_t workstation);
-
-double SD_workstation_get_computation_time(SD_workstation_t workstation, double computation_amount);
-double SD_workstation_route_get_latency(SD_workstation_t src, SD_workstation_t dst);
-double SD_workstation_route_get_bandwidth(SD_workstation_t src, SD_workstation_t dst);
-double SD_workstation_route_get_communication_time(SD_workstation_t src, SD_workstation_t dst,
+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);
+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 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 computation_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,