Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into vmtrace
[simgrid.git] / include / msg / datatypes.h
index 7560bd3..cedd660 100644 (file)
@@ -72,6 +72,22 @@ typedef struct msg_task {
  */
 typedef struct msg_task *msg_task_t;
 
+/* ********************************  VM ************************************* */
+typedef struct msg_vm *msg_vm_t;
+
+typedef enum {
+  msg_vm_state_suspended, msg_vm_state_running, msg_vm_state_migrating
+} e_msg_vm_state_t;
+
+typedef struct msg_vm {
+  const char *name;
+  s_xbt_swag_hookup_t all_vms_hookup;
+  s_xbt_swag_hookup_t host_vms_hookup;
+  xbt_dynar_t processes;
+  e_msg_vm_state_t state;
+  msg_host_t location;
+  int coreAmount;
+} s_msg_vm_t;
 
 /* ******************************** File ************************************ */
 typedef struct simdata_file *simdata_file_t;
@@ -89,6 +105,12 @@ typedef struct msg_file {
  */
 typedef struct msg_file *msg_file_t;
 
+
+/** @brief File datatype.
+    @ingroup msg_file_management
+
+    You should consider this as an opaque object.
+ */
 typedef s_file_stat_t s_msg_stat_t, *msg_stat_t;
 
 
@@ -149,6 +171,9 @@ typedef msg_gpu_task_t          m_gpu_task_t;
 typedef msg_host_t              m_host_t;
 typedef msg_process_t           m_process_t;
 typedef msg_task_t              m_task_t;
+typedef s_msg_gpu_task_t        s_m_gpu_task_t;
+typedef s_msg_host_t            s_m_host_t;
+typedef s_msg_task_t            s_m_task_t;
 #endif
 
 SG_END_DECL()