+/************************** Task handling ************************************/
+XBT_PUBLIC msg_task_t MSG_task_create(const char* name, double flops_amount, double bytes_amount, void* data);
+XBT_PUBLIC msg_task_t MSG_parallel_task_create(const char* name, int host_nb, const msg_host_t* host_list,
+ double* flops_amount, double* bytes_amount, void* data);
+XBT_PUBLIC void* MSG_task_get_data(msg_task_t task);
+XBT_PUBLIC void MSG_task_set_data(msg_task_t task, void* data);
+XBT_PUBLIC void MSG_task_set_copy_callback(void (*callback)(msg_task_t task, msg_process_t src, msg_process_t dst));
+XBT_PUBLIC msg_process_t MSG_task_get_sender(msg_task_t task);
+XBT_PUBLIC msg_host_t MSG_task_get_source(msg_task_t task);
+XBT_PUBLIC const char* MSG_task_get_name(msg_task_t task);
+XBT_PUBLIC void MSG_task_set_name(msg_task_t task, const char* name);
+XBT_PUBLIC msg_error_t MSG_task_cancel(msg_task_t task);
+XBT_PUBLIC msg_error_t MSG_task_destroy(msg_task_t task);
+
+XBT_PUBLIC msg_error_t MSG_task_execute(msg_task_t task);
+XBT_PUBLIC msg_error_t MSG_parallel_task_execute(msg_task_t task);
+XBT_PUBLIC msg_error_t MSG_parallel_task_execute_with_timeout(msg_task_t task, double timeout);
+XBT_PUBLIC void MSG_task_set_priority(msg_task_t task, double priority);
+XBT_PUBLIC void MSG_task_set_bound(msg_task_t task, double bound);
+
+XBT_PUBLIC msg_error_t MSG_process_join(msg_process_t process, double timeout);
+XBT_PUBLIC msg_error_t MSG_process_sleep(double nb_sec);
+
+XBT_PUBLIC void MSG_task_set_flops_amount(msg_task_t task, double flops_amount);
+XBT_PUBLIC double MSG_task_get_flops_amount(msg_task_t task);
+XBT_PUBLIC double MSG_task_get_remaining_work_ratio(msg_task_t task);
+XBT_PUBLIC void MSG_task_set_bytes_amount(msg_task_t task, double bytes_amount);
+
+XBT_PUBLIC double MSG_task_get_remaining_communication(msg_task_t task);
+XBT_PUBLIC double MSG_task_get_bytes_amount(msg_task_t task);
+
+XBT_PUBLIC msg_error_t MSG_task_receive_ext(msg_task_t* task, const char* alias, double timeout, msg_host_t host);
+
+XBT_PUBLIC msg_error_t MSG_task_receive_with_timeout(msg_task_t* task, const char* alias, double timeout);
+
+XBT_PUBLIC msg_error_t MSG_task_receive(msg_task_t* task, const char* alias);
+#define MSG_task_recv(t,a) MSG_task_receive(t,a)