Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add private structures and functions + wrapping for Surf links and workstations
[simgrid.git] / src / simdag / private.h
1 #ifndef SIMDAG_PRIVATE_H
2 #define SIMDAG_PRIVATE_H
3
4 #include "xbt/dict.h"
5 #include "simdag/simdag.h"
6 #include "simdag/datatypes.h"
7
8 /* Global variables */
9
10 typedef struct SG_global {
11   xbt_dict_t workstations; /* workstation list */
12   int workstation_count; /* number of workstations */
13 } s_SG_global_t, *SG_global_t;
14
15 extern SG_global_t sg_global;
16
17 /* Link private data */
18 typedef struct SG_link_data {
19   void* surf_link; /* surf object */
20
21 } s_SG_link_data_t;
22
23 /* Workstation private data */
24 typedef struct SG_workstation_data {
25   void* surf_workstation; /* surf object */
26   /* TODO: route */
27 } s_SG_workstation_data_t;
28
29 /* Private functions */
30
31 SG_link_t __SG_link_create(const char *name, void *surf_link, void *data);
32 void __SG_link_destroy(SG_link_t link);
33
34 SG_workstation_t __SG_workstation_create(const char *name, void *surf_workstation, void *data);
35 void __SG_workstation_destroy(SG_workstation_t workstation);
36
37 #endif