Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add private structures and functions + wrapping for Surf links and workstations
[simgrid.git] / include / simdag / datatypes.h
1 #ifndef SIMDAG_DATATYPES_H
2 #define SIMDAG_DATATYPES_H
3
4 /* Link */
5 typedef struct SG_link_data *SG_link_data_t;
6
7 typedef struct SG_link {
8   SG_link_data_t sgdata; /* SG internal data */
9   void *data; /* user data */
10   char *name;
11
12   /*double capacity;*/
13   /*double current_bandwidth;
14     double current_latency;*/
15 } s_SG_link_t, *SG_link_t;
16
17 /* Workstation */
18 typedef struct SG_workstation_data *SG_workstation_data_t;
19
20 typedef struct SG_workstation {
21   SG_workstation_data_t sgdata; /* SG internal data */
22   void *data; /* user data */
23   char *name;
24
25   /*  double power;
26     double available_power;*/
27 } s_SG_workstation_t, *SG_workstation_t;
28
29 /* Task state */
30 typedef enum {
31   SG_SCHEDULED,
32   SG_RUNNING,
33   SG_DONE,
34   SG_FAILED
35 } SG_task_state_t;
36
37 /* Task */
38 typedef struct SG_task {
39   void *data;
40   char *name;
41   /*double amount;
42     double remaining_amount;*/
43   SG_task_state_t state;
44   /* TODO: dependencies + watch */
45 } s_SG_task_t, *SG_task_t;
46
47 #endif