Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Python: Add Comm.wait_any
[simgrid.git] / src / msg / msg_legacy.cpp
1 /* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved.          */
2
3 /* This program is free software; you can redistribute it and/or modify it
4  * under the terms of the license (GNU LGPL) which comes with this package. */
5
6 #include "simgrid/Exception.hpp"
7 #include "src/msg/msg_private.hpp"
8
9 #define MSG_CALL(type, oldname, args)
10
11 /* ************************** Engine *************************** */
12 void MSG_create_environment(const char* filename)
13 {
14   simgrid_load_platform(filename);
15 }
16
17 void MSG_launch_application(const char* filename)
18 {
19   simgrid_load_deployment(filename);
20 }
21 msg_error_t MSG_main()
22 {
23   simgrid_run();
24   return MSG_OK;
25 }
26 void MSG_function_register(const char* name, xbt_main_func_t code)
27 {
28   simgrid_register_function(name, code);
29 }
30 void MSG_function_register_default(xbt_main_func_t code)
31 {
32   simgrid_register_default(code);
33 }
34 double MSG_get_clock()
35 {
36   return simgrid_get_clock();
37 }
38
39 /* ************************** Mailboxes ************************ */
40 void MSG_mailbox_set_async(const char* alias)
41 {
42   sg_mailbox_set_receiver(alias);
43 }
44 int MSG_task_listen(const char* alias)
45 {
46   return sg_mailbox_listen(alias);
47 }
48
49 /* ************************** Actors *************************** */
50 int MSG_process_get_PID(sg_actor_t actor)
51 {
52   return sg_actor_get_PID(actor);
53 }
54 int MSG_process_get_PPID(sg_actor_t actor)
55 {
56   return sg_actor_get_PPID(actor);
57 }
58 msg_process_t MSG_process_from_PID(int PID)
59 {
60   return sg_actor_by_PID(PID);
61 }
62 const char* MSG_process_get_name(sg_actor_t actor)
63 {
64   return sg_actor_get_name(actor);
65 }
66 sg_host_t MSG_process_get_host(sg_actor_t actor)
67 {
68   return sg_actor_get_host(actor);
69 }
70 xbt_dict_t MSG_process_get_properties(sg_actor_t actor)
71 {
72   return sg_actor_get_properties(actor);
73 }
74 const char* MSG_process_get_property_value(sg_actor_t actor, const char* name)
75 {
76   return sg_actor_get_property_value(actor, name);
77 }
78 void MSG_process_suspend(sg_actor_t actor)
79 {
80   sg_actor_suspend(actor);
81 }
82 void MSG_process_resume(sg_actor_t actor)
83 {
84   sg_actor_resume(actor);
85 }
86 int MSG_process_is_suspended(sg_actor_t actor)
87 {
88   return sg_actor_is_suspended(actor);
89 }
90 void MSG_process_restart(sg_actor_t actor)
91 {
92   sg_actor_restart(actor);
93 }
94 void MSG_process_auto_restart_set(sg_actor_t actor, int auto_restart)
95 {
96   sg_actor_set_auto_restart(actor, auto_restart);
97 }
98
99 void MSG_process_daemonize(sg_actor_t actor)
100 {
101   sg_actor_daemonize(actor);
102 }
103 void MSG_process_migrate(sg_actor_t actor, sg_host_t host)
104 {
105   sg_actor_migrate(actor, host);
106 }
107 void MSG_process_join(sg_actor_t actor, double timeout)
108 {
109   sg_actor_join(actor, timeout);
110 }
111 void MSG_process_kill(sg_actor_t actor)
112 {
113   sg_actor_kill(actor);
114 }
115 void MSG_process_killall()
116 {
117   sg_actor_kill_all();
118 }
119 void MSG_process_set_kill_time(sg_actor_t actor, double kill_time)
120 {
121   sg_actor_set_kill_time(actor, kill_time);
122 }
123 void MSG_process_yield()
124 {
125   sg_actor_yield();
126 }
127
128 msg_error_t MSG_process_sleep(double duration)
129 {
130   try {
131     sg_actor_sleep_for(duration);
132     return MSG_OK;
133   } catch (simgrid::HostFailureException& e) {
134     return MSG_HOST_FAILURE;
135   }
136 }
137
138 msg_process_t MSG_process_attach(const char* name, void* data, msg_host_t host, xbt_dict_t properties)
139 {
140   return sg_actor_attach(name, data, host, properties);
141 }
142
143 void MSG_process_detach()
144 {
145   sg_actor_detach();
146 }
147
148 /* ************************** NetZones *************************** */
149 sg_netzone_t MSG_zone_get_root()
150 {
151   return sg_zone_get_root();
152 }
153 const char* MSG_zone_get_name(sg_netzone_t zone)
154 {
155   return sg_zone_get_name(zone);
156 }
157 sg_netzone_t MSG_zone_get_by_name(const char* name)
158 {
159   return sg_zone_get_by_name(name);
160 }
161 void MSG_zone_get_sons(sg_netzone_t zone, xbt_dict_t whereto)
162 {
163   return sg_zone_get_sons(zone, whereto);
164 }
165 const char* MSG_zone_get_property_value(sg_netzone_t zone, const char* name)
166 {
167   return sg_zone_get_property_value(zone, name);
168 }
169 void MSG_zone_set_property_value(sg_netzone_t zone, const char* name, char* value)
170 {
171   sg_zone_set_property_value(zone, name, value);
172 }
173 void MSG_zone_get_hosts(sg_netzone_t zone, xbt_dynar_t whereto)
174 {
175   sg_zone_get_hosts(zone, whereto);
176 }
177
178 /* ************************** Storages *************************** */
179 const char* MSG_storage_get_name(sg_storage_t storage)
180 {
181   return sg_storage_get_name(storage);
182 }
183 sg_storage_t MSG_storage_get_by_name(const char* name)
184 {
185   return sg_storage_get_by_name(name);
186 }
187 xbt_dict_t MSG_storage_get_properties(sg_storage_t storage)
188 {
189   return sg_storage_get_properties(storage);
190 }
191 void MSG_storage_set_property_value(sg_storage_t storage, const char* name, const char* value)
192 {
193   sg_storage_set_property_value(storage, name, value);
194 }
195 const char* MSG_storage_get_property_value(sg_storage_t storage, const char* name)
196 {
197   return sg_storage_get_property_value(storage, name);
198 }
199 xbt_dynar_t MSG_storages_as_dynar()
200 {
201   return sg_storages_as_dynar();
202 }
203 void MSG_storage_set_data(sg_storage_t storage, void* data)
204 {
205   sg_storage_set_data(storage, data);
206 }
207 void* MSG_storage_get_data(sg_storage_t storage)
208 {
209   return sg_storage_get_data(storage);
210 }
211 const char* MSG_storage_get_host(sg_storage_t storage)
212 {
213   return sg_storage_get_host(storage);
214 }
215 sg_size_t MSG_storage_read(sg_storage_t storage, sg_size_t size)
216 {
217   return sg_storage_read(storage, size);
218 }
219 sg_size_t MSG_storage_write(sg_storage_t storage, sg_size_t size)
220 {
221   return sg_storage_write(storage, size);
222 }
223
224 /* ************************** hosts *************************** */
225 xbt_dynar_t MSG_hosts_as_dynar()
226 {
227   return sg_hosts_as_dynar();
228 }
229 size_t MSG_get_host_number()
230 {
231   return sg_host_count();
232 }
233 sg_host_t MSG_get_host_by_name(const char* name)
234 {
235   return sg_host_by_name(name);
236 }
237 sg_host_t MSG_host_by_name(const char* name)
238 {
239   return sg_host_by_name(name);
240 }
241 const char* MSG_host_get_name(sg_host_t host)
242 {
243   return sg_host_get_name(host);
244 }
245 void* MSG_host_get_data(sg_host_t host)
246 {
247   return sg_host_user(host);
248 }
249 void MSG_host_set_data(sg_host_t host, void* data)
250 {
251   return sg_host_user_set(host, data);
252 }
253 xbt_dict_t MSG_host_get_mounted_storage_list(sg_host_t host)
254 {
255   return sg_host_get_mounted_storage_list(host);
256 }
257 xbt_dynar_t MSG_host_get_attached_storage_lists(sg_host_t host)
258 {
259   return sg_host_get_attached_storage_list(host);
260 }
261 double MSG_host_get_speed(sg_host_t host)
262 {
263   return sg_host_speed(host);
264 }
265 double MSG_host_get_power_peak_at(sg_host_t host, int pstate_index)
266 {
267   return sg_host_get_pstate_speed(host, pstate_index);
268 }
269 int MSG_host_get_core_number(sg_host_t host)
270 {
271   return sg_host_core_count(host);
272 }
273 int MSG_host_get_nb_pstates(sg_host_t host)
274 {
275   return sg_host_get_nb_pstates(host);
276 }
277 int MSG_host_get_pstate(sg_host_t host)
278 {
279   return sg_host_get_pstate(host);
280 }
281 void MSG_host_set_pstate(sg_host_t host, int pstate)
282 {
283   sg_host_set_pstate(host, pstate);
284 }
285 void MSG_host_on(sg_host_t h)
286 {
287   sg_host_turn_on(h);
288 }
289 void MSG_host_off(sg_host_t h)
290 {
291   sg_host_turn_off(h);
292 }
293 int MSG_host_is_on(sg_host_t h)
294 {
295   return sg_host_is_on(h);
296 }
297 int MSG_host_is_off(sg_host_t h) // deprecated
298 {
299   return not sg_host_is_on(h);
300 }
301 xbt_dict_t MSG_host_get_properties(sg_host_t host)
302 {
303   return sg_host_get_properties(host);
304 }
305 const char* MSG_host_get_property_value(sg_host_t host, const char* name)
306 {
307   return sg_host_get_property_value(host, name);
308 }
309 void MSG_host_set_property_value(sg_host_t host, const char* name, const char* value)
310 {
311   sg_host_set_property_value(host, name, value);
312 }
313 void MSG_host_get_process_list(sg_host_t host, xbt_dynar_t whereto)
314 {
315   sg_host_get_actor_list(host, whereto);
316 }
317 sg_host_t MSG_host_self()
318 {
319   return sg_host_self();
320 }
321
322 double MSG_host_get_load(sg_host_t host)
323 {
324   return sg_host_load(host);
325 }
326 /* ************************** Virtual Machines *************************** */
327 sg_vm_t MSG_vm_create_core(sg_host_t pm, const char* name)
328 {
329   return sg_vm_create_core(pm, name);
330 }
331 sg_vm_t MSG_vm_create_multicore(sg_host_t pm, const char* name, int coreAmount)
332 {
333   return sg_vm_create_multicore(pm, name, coreAmount);
334 }
335 int MSG_vm_is_created(sg_vm_t vm)
336 {
337   return sg_vm_is_created(vm);
338 }
339 int MSG_vm_is_running(sg_vm_t vm)
340 {
341   return sg_vm_is_running(vm);
342 }
343 int MSG_vm_is_suspended(sg_vm_t vm)
344 {
345   return sg_vm_is_suspended(vm);
346 }
347 const char* MSG_vm_get_name(sg_vm_t vm)
348 {
349   return sg_vm_get_name(vm);
350 }
351 void MSG_vm_set_ramsize(sg_vm_t vm, size_t size)
352 {
353   sg_vm_set_ramsize(vm, size);
354 }
355 size_t MSG_vm_get_ramsize(sg_vm_t vm)
356 {
357   return sg_vm_get_ramsize(vm);
358 }
359 sg_host_t MSG_vm_get_pm(sg_vm_t vm)
360 {
361   return sg_vm_get_pm(vm);
362 }
363 void MSG_vm_set_bound(sg_vm_t vm, double bound)
364 {
365   sg_vm_set_bound(vm, bound);
366 }
367 void MSG_vm_start(sg_vm_t vm)
368 {
369   sg_vm_start(vm);
370 }
371 void MSG_vm_suspend(sg_vm_t vm)
372 {
373   sg_vm_suspend(vm);
374 }
375 void MSG_vm_resume(sg_vm_t vm)
376 {
377   sg_vm_resume(vm);
378 }
379 void MSG_vm_shutdown(sg_vm_t vm)
380 {
381   sg_vm_shutdown(vm);
382 }
383 void MSG_vm_destroy(sg_vm_t vm)
384 {
385   sg_vm_destroy(vm);
386 }
387 /********* barriers ************/
388 sg_bar_t MSG_barrier_init(unsigned int count)
389 {
390   return sg_barrier_init(count);
391 }
392
393 void MSG_barrier_destroy(sg_bar_t bar)
394 {
395   sg_barrier_destroy(bar);
396 }
397
398 int MSG_barrier_wait(sg_bar_t bar)
399 {
400   return sg_barrier_wait(bar);
401 }
402
403 sg_sem_t MSG_sem_init(int initial_value)
404 {
405   return sg_sem_init(initial_value);
406 }
407 void MSG_sem_acquire(sg_sem_t sem)
408 {
409   sg_sem_acquire(sem);
410 }
411 int MSG_sem_acquire_timeout(sg_sem_t sem, double timeout)
412 {
413   return sg_sem_acquire_timeout(sem, timeout);
414 }
415 void MSG_sem_release(sg_sem_t sem)
416 {
417   sg_sem_release(sem);
418 }
419 int MSG_sem_get_capacity(sg_sem_t sem)
420 {
421   return sg_sem_get_capacity(sem);
422 }
423 void MSG_sem_destroy(sg_sem_t sem)
424 {
425   sg_sem_destroy(sem);
426 }
427 int MSG_sem_would_block(sg_sem_t sem)
428 {
429   return sg_sem_would_block(sem);
430 }