X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/28b7f1f95510fe2efa30fc2fb4b4d27826da931e..0623786fda92bed93596f8de80575ab2db7385f2:/src/surf/surf_private.h diff --git a/src/surf/surf_private.h b/src/surf/surf_private.h index 3be6b80779..7ee42c59a1 100644 --- a/src/surf/surf_private.h +++ b/src/surf/surf_private.h @@ -9,13 +9,30 @@ #include "surf/surf.h" #include "surf/maxmin.h" #include "surf/trace_mgr.h" -#include "cpu_private.h" +#include "xbt/log.h" +#include "surf/surf_parse.h" + +typedef struct surf_resource_private { + int (*resource_used)(void *resource_id); + /* Share the resources to the actions and return in hom much time + the next action may terminate */ + xbt_heap_float_t(*share_resources) (xbt_heap_float_t now); + /* Update the actions' state */ + void (*update_actions_state) (xbt_heap_float_t now, xbt_heap_float_t delta); + void (*update_resource_state) (void *id,tmgr_trace_event_t event_type, xbt_maxmin_float_t value); + void (*finalize)(void); +} s_surf_resource_private_t; + +/* #define pub2priv(r) ((surf_resource_private_t) ((char *)(r) -(sizeof(struct surf_resource_private_part)))) */ +/* #define priv2pub(r) ((void *) ((char *)(r) +(sizeof(struct surf_resource_private_part)))) */ /* Generic functions common to all ressources */ e_surf_action_state_t surf_action_get_state(surf_action_t action); void surf_action_free(surf_action_t * action); void surf_action_change_state(surf_action_t action, e_surf_action_state_t state); - +extern xbt_dynar_t resource_list; +extern lmm_system_t maxmin_system; +extern tmgr_history_t history; #endif /* _SURF_SURF_PRIVATE_H */