Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into mc-process
[simgrid.git] / include / simgrid / jedule / jedule_events.h
1 /* Copyright (c) 2010-2012, 2014. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #ifndef JEDULE_EVENTS_H_
8 #define JEDULE_EVENTS_H_
9
10 #include "simgrid_config.h"
11
12 #include "xbt/dynar.h"
13 #include "xbt/dict.h"
14
15 #include "instr/jedule/jedule_platform.h"
16
17
18 #ifdef HAVE_JEDULE
19
20 struct jed_event {
21   int event_id;
22   char *name;
23   double start_time;
24   double end_time;
25   char *type;
26   xbt_dynar_t resource_subsets;
27   xbt_dynar_t characteristics_list; /* just a list of names (strings) */
28   xbt_dict_t info_hash;     /* key/value pairs */
29 };
30
31 typedef struct jed_event s_jed_event_t, *jed_event_t;
32
33 /************************************************************/
34
35 void create_jed_event(jed_event_t *event, char *name, double start_time, double end_time, const char *type);
36
37 void jed_event_free(jed_event_t event);
38
39 void jed_event_add_resources(jed_event_t event, xbt_dynar_t host_selection);
40
41 void jed_event_add_characteristic(jed_event_t event, char *characteristic);
42
43 void jed_event_add_info(jed_event_t event, char *key, char *value);
44
45 #endif
46
47 #endif /* JEDULE_EVENTS_H_ */