Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Adding the prototype for the callback on startup mechanism.
[simgrid.git] / src / include / surf / surf.h
index fb4e0b9..eace0c2 100644 (file)
@@ -12,7 +12,7 @@
 #include "xbt/dynar.h"
 #include "xbt/dict.h"
 #include "xbt/misc.h"
-#include "gras_config.h"
+#include "portable.h"
 
 SG_BEGIN_DECL()
 
@@ -123,7 +123,7 @@ typedef struct surf_action_state {
 typedef struct surf_model_public {
   s_surf_action_state_t states;        /**< Any living action on this model */
   void *(*name_service) (const char *name); /**< Return a model given its name */
-  const char *(*get_resource_name) (void *resource_id); /**< Return the name of a model */
+  const char *(*get_resource_name) (void *resource_id); /**< Return the name of a resource */
 
   e_surf_action_state_t(*action_get_state) (surf_action_t action); /**< Return the state of an action */
   double (*action_get_start_time) (surf_action_t action); /**< Return the start time of an action */
@@ -140,6 +140,8 @@ typedef struct surf_model_public {
   int (*is_suspended) (surf_action_t action); /**< Return whether an action is suspended */
   void (*set_max_duration) (surf_action_t action, double duration); /**< Set the max duration of an action*/
   void (*set_priority) (surf_action_t action, double priority); /**< Set the priority of an action */
+  void (*set_callback) (void *resource, void value, void *function, void *arg);
+  int (*get_callback)  (void **resource, void *value, void **function, void **arg);
   const char *name; /**< Name of this model */
 } s_surf_model_public_t, *surf_model_public_t;