-typedef struct SG_workstation_data {
- void* surf_workstation; /* surf object */
- /* TODO: route */
-} s_SG_workstation_data_t;
+typedef struct SD_workstation_data {
+ void *surf_workstation; /* surf object */
+} s_SD_workstation_data_t;
+
+/* Task dependencies */
+typedef struct SD_dependency {
+ char *name;
+ void *data;
+ SD_task_t src;
+ SD_task_t dst;
+ /* src must be finished before dst can start */
+} s_SD_dependency_t, *SD_dependency_t;
+
+/* Task */
+typedef struct SD_task {
+ s_xbt_swag_hookup_t state_hookup;
+ xbt_swag_t state_set;
+ void *data; /* user data */
+ char *name;
+ double amount;
+ surf_action_t surf_action;
+ unsigned short watch_points;
+
+ /* dependencies */
+ xbt_dynar_t tasks_before;
+ xbt_dynar_t tasks_after;
+
+ /* scheduling parameters (only exist in state SD_SCHEDULED) */
+ int workstation_nb;
+ void **workstation_list; /* surf workstations */
+ double *computation_amount;
+ double *communication_amount;
+ double rate;
+} s_SD_task_t;
+
+/* SimDag private functions */