Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'hypervisor' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid into hypervisor
[simgrid.git] / src / surf / workstation_private.h
1 /* Copyright (c) 2009, 2013. 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 WS_PRIVATE_H_
8 #define WS_PRIVATE_H_
9 typedef struct workstation_CLM03 {
10   s_surf_resource_t generic_resource;   /* Must remain first to add this to a trace */
11   void *net_elm;
12   xbt_dynar_t storage;
13
14   /* common with vm */
15   s_ws_params_t params;
16
17 } s_workstation_CLM03_t, *workstation_CLM03_t;
18
19 int ws_action_unref(surf_action_t action);
20
21 int ws_resource_used(void *resource_id);
22 double ws_share_resources(surf_model_t workstation_model, double now);
23 void ws_update_actions_state(surf_model_t workstation_model, double now, double delta);
24 void ws_update_resource_state(void *id, tmgr_trace_event_t event_type, double value, double date);
25 void ws_finalize(surf_model_t workstation_model);
26
27 void ws_action_set_priority(surf_action_t action, double priority);
28
29 surf_action_t ws_execute(void *workstation, double size);
30 surf_action_t ws_action_sleep(void *workstation, double duration);
31 void ws_action_suspend(surf_action_t action);
32 void ws_action_resume(surf_action_t action);
33 void ws_action_cancel(surf_action_t action);
34 e_surf_resource_state_t ws_get_state(void *workstation);
35 double ws_action_get_remains(surf_action_t action);
36
37 void ws_get_params(void *ws, ws_params_t params);
38 void ws_set_params(void *ws, ws_params_t params);
39 #endif /* WS_PRIVATE_H_ */