Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix dllexport/dllimport declarations (Windows)
[simgrid.git] / include / simgrid / simix.h
index a79adf3..79bf716 100644 (file)
@@ -52,8 +52,6 @@ typedef enum {
 } e_smx_state_t;
 /** @} */
 
-typedef struct s_smx_timer* smx_timer_t;
-
 /* ******************************** Synchro ************************************ */
 /**
  * \ingroup simix_synchro_management
@@ -168,7 +166,7 @@ typedef struct s_smx_context_factory {
 
 /* Hack: let msg load directly the right factory */
 typedef void (*smx_ctx_factory_initializer_t)(smx_context_factory_t*);
-XBT_PUBLIC(smx_ctx_factory_initializer_t) smx_factory_initializer_to_use;
+XBT_PUBLIC_DATA(smx_ctx_factory_initializer_t) smx_factory_initializer_to_use;
 extern char* smx_context_factory_name;
 extern int smx_context_stack_size;
 extern int smx_context_stack_size_was_set;
@@ -235,8 +233,12 @@ XBT_PUBLIC(void) SIMIX_run(void);
 XBT_PUBLIC(double) SIMIX_get_clock(void);
 
 /* Timer functions FIXME: should these be public? */
-XBT_PUBLIC(void) SIMIX_timer_set(double date, void *function, void *arg);
+typedef struct s_smx_timer* smx_timer_t;
+
+XBT_PUBLIC(smx_timer_t) SIMIX_timer_set(double date, void *function, void *arg);
+XBT_PUBLIC(void) SIMIX_timer_remove(smx_timer_t timer);
 XBT_PUBLIC(double) SIMIX_timer_next(void);
+XBT_PUBLIC(double) SIMIX_timer_get_date(smx_timer_t timer);
 
 XBT_PUBLIC(void) SIMIX_display_process_status(void);
 
@@ -317,7 +319,8 @@ XBT_PUBLIC(void) simcall_host_set_data(smx_host_t host, void *data);
 XBT_PUBLIC(double) simcall_host_get_current_power_peak(smx_host_t host);
 XBT_PUBLIC(double) simcall_host_get_power_peak_at(smx_host_t host, int pstate_index);
 XBT_PUBLIC(int) simcall_host_get_nb_pstates(smx_host_t host);
-XBT_PUBLIC(void) simcall_host_set_power_peak_at(smx_host_t host, int pstate_index);
+XBT_PUBLIC(void) simcall_host_set_pstate(smx_host_t host, int pstate_index);
+XBT_PUBLIC(int) simcall_host_get_pstate(smx_host_t host);
 XBT_PUBLIC(double) simcall_host_get_consumed_energy(smx_host_t host);
 
 XBT_PUBLIC(smx_synchro_t) simcall_host_execute(const char *name, smx_host_t host,
@@ -353,6 +356,7 @@ XBT_PUBLIC(void *) simcall_vm_get_pm(smx_host_t vm);
 XBT_PUBLIC(void) simcall_vm_set_bound(smx_host_t vm, double bound);
 XBT_PUBLIC(void) simcall_vm_set_affinity(smx_host_t vm, smx_host_t pm, unsigned long mask);
 XBT_PUBLIC(void) simcall_vm_resume(smx_host_t vm);
+XBT_PUBLIC(void) simcall_vm_migratefrom_resumeto(smx_host_t vm, smx_host_t src_pm, smx_host_t dst_pm);
 XBT_PUBLIC(void) simcall_vm_save(smx_host_t vm);
 XBT_PUBLIC(void) simcall_vm_restore(smx_host_t vm);
 XBT_PUBLIC(void) simcall_vm_suspend(smx_host_t vm);