1 /* virtu[alization] - speciafic parts for each OS and for SG */
3 /* module's public interface exported within GRAS, but not to end user. */
5 /* Copyright (c) 2004, 2005, 2006, 2007, 2009, 2010. The SimGrid Team.
6 * All rights reserved. */
8 /* This program is free software; you can redistribute it and/or modify it
9 * under the terms of the license (GNU LGPL) which comes with this package. */
11 #ifndef GRAS_VIRTU_INTERFACE_H
12 #define GRAS_VIRTU_INTERFACE_H
15 #include "xbt/function_types.h"
16 #include "xbt/sysdep.h"
19 #include "gras/virtu.h"
20 #include "gras/process.h"
24 /* shutdown the module mechanism (world-wide cleanups) */
25 void gras_moddata_exit(void);
26 /* shutdown this process wrt module mecanism (process-wide cleanups) */
27 void gras_moddata_leave(void);
30 /* Perform the various intialisations needed by gras. Each process must run it */
31 XBT_PUBLIC(void) gras_process_init(void);
33 /* Frees the memory allocated by gras. Processes should run it */
34 XBT_PUBLIC(void) gras_process_exit(void);
37 /* This is the old interface (deprecated) */
39 /* declare a new process specific data
40 (used by gras_<module>_register to make sure that gras_process_init will create it) */
41 int gras_procdata_add(const char *name, pvoid_f_void_t creator,
42 void_f_pvoid_t destructor);
44 void *gras_libdata_by_name(const char *name);
45 void *gras_libdata_by_id(int id);
48 #endif /* GRAS_VIRTU_INTERFACE_H */