Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00022 #ifndef MESH_ENERGY_H
00023 #define MESH_ENERGY_H
00024
00025 #include <mesh.h>
00026 #include <mesh_def_energy_resources.h>
00027 #include <mesh_def_energy_schedulers.h>
00028 #include <mesh_energy_types.h>
00029
00046 mesh_resource *
00047 mesh_create_energy_resource(gchar *name,
00048
00049 mesh_feature_list *cfl,
00050
00051 mesh_scheduler *cs,
00052
00053 double (*timing_resolution)(mesh_resource *,
00054 GSList *),
00055 double default_power
00056 );
00057
00074 mesh_energy *mesh_create_energy(mesh_feature_list *cfl, double power, double comp);
00075
00092 mesh_energy_state *mesh_add_energy_state(mesh_energy *ce, gchar *name, double power,
00093 double comp);
00094
00111 mesh_energy_state *mesh_add_energy_state_feature(mesh_energy_state *ces,
00112 gint feature, double comp);
00113
00127 mesh_resource *
00128 mesh_set_energy(mesh_resource *cr, mesh_energy *ce);
00129
00144 mesh_energy *
00145 mesh_get_energy(mesh_resource *cr);
00146
00156 mesh_energy_state *
00157 mesh_find_energy_state_by_name(mesh_energy *ce, gchar *state);
00158
00169 double
00170 mesh_find_energy_state_feature(mesh_energy_state *ces, gint feature);
00171
00187 gboolean mesh_check_current_energy_state(mesh_resource *cr, gchar *state);
00188
00204 gboolean
00205 mesh_set_current_energy_state(mesh_resource *cr, gchar *state);
00206
00220 mesh_energy_state *
00221 mesh_get_current_energy_state(mesh_resource *cr);
00222
00239 gboolean mesh_check_target_energy_state(mesh_resource *cr, gchar *state);
00240
00256 gboolean
00257 mesh_set_target_energy_state(mesh_resource *cr, gchar *state);
00258
00272 mesh_energy_state *
00273 mesh_get_target_energy_state(mesh_resource *cr);
00274
00290 mesh_energy_state_list *
00291 mesh_get_energy_state_list(mesh_resource *cr);
00292
00307 void
00308 mesh_update_energy_state_utilization(mesh_resource *cr);
00309
00326 void
00327 mesh_update_energy_state_utilization_consume(mesh_resource *cr,
00328 double length, double rpc);
00329
00344 void mesh_print_energy_statistics(mesh_resource *cr);
00345
00346 #endif