Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix constness of arguments
[simgrid.git] / src / gras / Virtu / virtu_interface.h
1 /* $Id$ */
2
3 /* virtu[alization] - speciafic parts for each OS and for SG                */
4
5 /* module's public interface exported within GRAS, but not to end user.     */
6
7 /* Copyright (c) 2004 Martin Quinson. All rights reserved.                  */
8
9 /* This program is free software; you can redistribute it and/or modify it
10  * under the terms of the license (GNU LGPL) which comes with this package. */
11
12 #ifndef GRAS_VIRTU_INTERFACE_H
13 #define GRAS_VIRTU_INTERFACE_H
14
15
16 #include "xbt/function_types.h"
17 #include "xbt/sysdep.h"
18 #include "xbt/log.h"
19 #include "xbt/set.h"
20 #include "gras/virtu.h"
21 #include "gras/process.h"
22
23 SG_BEGIN_DECL()
24
25 /* shutdown the module mechanism (world-wide cleanups) */
26 void gras_moddata_exit(void);
27 /* shutdown this process wrt module mecanism (process-wide cleanups) */
28 void gras_moddata_leave(void);
29
30
31 /* Perform the various intialisations needed by gras. Each process must run it */
32 XBT_PUBLIC(void) gras_process_init(void);
33
34 /* Frees the memory allocated by gras. Processes should run it */
35 XBT_PUBLIC(void) gras_process_exit(void);
36
37
38 /* This is the old interface (deprecated) */
39
40 /* declare a new process specific data 
41    (used by gras_<module>_register to make sure that gras_process_init will create it) */
42 int gras_procdata_add(const char *name, pvoid_f_void_t creator,void_f_pvoid_t destructor);
43
44 void* gras_libdata_by_name(const char *name);
45 void* gras_libdata_by_id(int id);
46
47 SG_END_DECL()
48
49 #endif  /* GRAS_VIRTU_INTERFACE_H */