+
+/* User create and kill process, the function must accept the folling parameters:
+ * const char *name: a name for the object. It is for user-level information and can be NULL
+ * xbt_main_func_t code: is a function describing the behavior of the agent
+ * void *data: data a pointer to any data one may want to attach to the new object.
+ * smx_host_t host: the location where the new agent is executed
+ * int argc, char **argv: parameters passed to code
+ *
+ * */
+ typedef void *(*smx_creation_func_t) ( /*name */ const char *,
+ /*code */ xbt_main_func_t,
+ /*userdata */ void *,
+ /*hostname */ char *,
+ /* argc */ int,
+ /* argv */ char **,
+ /* props */ xbt_dict_t);
+XBT_PUBLIC(void) SIMIX_function_register_process_create(smx_creation_func_t
+ function);
+XBT_PUBLIC(void) SIMIX_function_register_process_kill(void_f_pvoid_t
+ function);
+XBT_PUBLIC(void) SIMIX_function_register_process_cleanup(void_f_pvoid_t
+ function);
+