Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
8014a9b70f8e637d2a3f6838370721cde61bbfaf
[simgrid.git] / include / simgrid / platf.h
1 /* platf.h - Public interface to the SimGrid platforms                      */
2
3 /* Copyright (c) 2004, 2005, 2006, 2007, 2009, 2010, 2011. The SimGrid Team.
4  * All rights reserved.                                                     */
5
6 /* This program is free software; you can redistribute it and/or modify it
7  * under the terms of the license (GNU LGPL) which comes with this package. */
8
9 #ifndef SG_PLATF_H
10 #define SG_PLATF_H
11
12 #include <xbt.h>                /* our toolbox */
13
14 typedef struct tmgr_trace *tmgr_trace_t; /**< Opaque structure defining an availability trace */
15
16 /** Defines whether a given resource is working or not */
17 typedef enum {
18   SURF_RESOURCE_ON = 1,                   /**< Up & ready        */
19   SURF_RESOURCE_OFF = 0                   /**< Down & broken     */
20 } e_surf_resource_state_t;
21
22
23 typedef struct s_surf_parsing_host_arg {
24   char* V_host_id;                          //id
25   double V_host_power_peak;                     //power
26   int V_host_core;                          //core
27   double V_host_power_scale;                      //availability
28   tmgr_trace_t V_host_power_trace;                  //availability file
29   e_surf_resource_state_t V_host_state_initial;           //state
30   tmgr_trace_t V_host_state_trace;                  //state file
31   const char* V_host_coord;
32 } s_surf_parsing_host_arg_t, *surf_parsing_host_arg_t;
33
34
35 XBT_PUBLIC(void) sg_platf_new_AS_open(const char *id, const char *mode);
36 XBT_PUBLIC(void) sg_platf_new_AS_close(void);
37
38 #endif                          /* SG_PLATF_H */