Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
new functions for the MSG API (set/get task category)
[simgrid.git] / include / msg / msg.h
index 07dcf2c..89b94ff 100644 (file)
@@ -38,11 +38,11 @@ XBT_PUBLIC(unsigned long int) MSG_get_sent_msg(void);
 
 
 /************************** File handling ***********************************/
-XBT_PUBLIC(size_t) MSG_file_read(void* ptr, size_t size, size_t nmemb, m_file_t stream);
-XBT_PUBLIC(size_t) MSG_file_write(const void* ptr, size_t size, size_t nmemb, m_file_t stream);
-XBT_PUBLIC(m_file_t) MSG_file_open(const char* path, const char* mode);
-XBT_PUBLIC(int) MSG_file_close(m_file_t fp);
-XBT_PUBLIC(int) MSG_file_stat(int fd, void* buf);
+XBT_PUBLIC(size_t) MSG_file_read(const char* storage, void* ptr, size_t size, size_t nmemb, m_file_t stream);
+XBT_PUBLIC(size_t) MSG_file_write(const char* storage, const void* ptr, size_t size, size_t nmemb, m_file_t stream);
+XBT_PUBLIC(m_file_t) MSG_file_open(const char* storage, const char* path, const char* mode);
+XBT_PUBLIC(int) MSG_file_close(const char* storage, m_file_t fp);
+XBT_PUBLIC(int) MSG_file_stat(const char* storage, int fd, void* buf);
 
 
 /************************** Host handling ***********************************/
@@ -65,8 +65,7 @@ XBT_PUBLIC(void) MSG_create_environment(const char *file);
 XBT_PUBLIC(void) MSG_load_platform_script(const char *script_file);
 
 XBT_PUBLIC(m_host_t) MSG_get_host_by_name(const char *name);
-XBT_PUBLIC(int) MSG_get_host_number(void);
-XBT_PUBLIC(m_host_t *) MSG_get_host_table(void);
+XBT_PUBLIC(xbt_dynar_t) MSG_hosts_as_dynar(void);
 
 /************************** Process handling *********************************/
 XBT_PUBLIC(m_process_t) MSG_process_create(const char *name,
@@ -105,6 +104,7 @@ XBT_PUBLIC(const char *) MSG_process_get_name(m_process_t process);
 XBT_PUBLIC(int) MSG_process_self_PID(void);
 XBT_PUBLIC(int) MSG_process_self_PPID(void);
 XBT_PUBLIC(m_process_t) MSG_process_self(void);
+XBT_PUBLIC(xbt_dynar_t) MSG_processes_as_dynar(void);
 
 /*property handlers*/
 XBT_PUBLIC(xbt_dict_t) MSG_process_get_properties(m_process_t process);
@@ -120,6 +120,10 @@ XBT_PUBLIC(int) MSG_process_is_suspended(m_process_t process);
 XBT_PUBLIC(m_task_t) MSG_task_create(const char *name,
                                      double compute_duration,
                                      double message_size, void *data);
+XBT_PUBLIC(m_gpu_task_t) MSG_gpu_task_create(const char *name,
+                                     double compute_duration,
+                                     double dispatch_latency,
+                                     double collect_latency);
 XBT_PUBLIC(m_task_t) MSG_parallel_task_create(const char *name,
                                               int host_nb,
                                               const m_host_t * host_list,
@@ -137,7 +141,7 @@ XBT_PUBLIC(void) MSG_task_set_name(m_task_t task, const char *name);
 XBT_PUBLIC(MSG_error_t) MSG_task_cancel(m_task_t task);
 XBT_PUBLIC(MSG_error_t) MSG_task_destroy(m_task_t task);
 
-MSG_error_t MSG_task_receive_from_host(m_task_t * task, const char *alias,
+XBT_PUBLIC(MSG_error_t) MSG_task_receive_from_host(m_task_t * task, const char *alias,
                                        m_host_t host);
 
 XBT_PUBLIC(MSG_error_t) MSG_task_execute(m_task_t task);
@@ -202,6 +206,9 @@ XBT_PUBLIC(MSG_error_t)
 
 XBT_PUBLIC(int) MSG_task_listen_from(const char *alias);
 
+XBT_PUBLIC(void) MSG_task_set_category (m_task_t task, const char *category);
+XBT_PUBLIC(const char *) MSG_task_get_category (m_task_t task);
+
 /************************** Task handling ************************************/
 XBT_PUBLIC(MSG_error_t)
     MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, m_task_t * task,
@@ -220,6 +227,9 @@ MSG_error_t MSG_action_trace_run(char *path);
 
 #ifdef MSG_USE_DEPRECATED
 /* these are the functions which are deprecated. Do not use them, they may get removed in future releases */
+XBT_PUBLIC(int) MSG_get_host_number(void);
+XBT_PUBLIC(m_host_t *) MSG_get_host_table(void);
+
 #define MSG_TIMEOUT_FAILURE MSG_TIMEOUT
 #define MSG_TASK_CANCELLED MSG_TASK_CANCELED
 #define MSG_mailbox_put_with_time_out(mailbox, task, timeout) \