X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/494616a1d79ab04ce6f0309a5cbb29ee5876c379..504b4d20dd2db9ea1eaa9c4b390b2a412d7c9779:/include/gras/virtu.h diff --git a/include/gras/virtu.h b/include/gras/virtu.h index 2eb87e561c..8669ebfc98 100644 --- a/include/gras/virtu.h +++ b/include/gras/virtu.h @@ -11,11 +11,24 @@ #define GRAS_VIRTU_H #include "xbt/misc.h" /* SG_BEGIN_DECL */ +#include "xbt/time.h" SG_BEGIN_DECL() +/* Initialization of the simulation world. Do not call them in RL. + Indeed, do not call them at all. Let gras_stub_generator do it for you. */ +void gras_global_init(int *argc, char **argv); +void gras_create_environment(const char *file); +void gras_function_register(const char *name, xbt_main_func_t code); +void gras_launch_application(const char *file); +void gras_clean(void); +void gras_main(void); + + /** @addtogroup GRAS_virtu - * @brief System call abstraction layer (Virtualization). + * @brief System call abstraction layer. + * + * * @{ */ @@ -23,28 +36,45 @@ SG_BEGIN_DECL() * @return number of second since the Epoch. * (00:00:00 UTC, January 1, 1970 in Real Life, and begining of simulation in SG) */ -double gras_os_time(void); - +#define gras_os_time() xbt_time() /** @brief sleeps for the given amount of time. * @param sec: number of seconds to sleep */ -void gras_os_sleep(double sec); - +#define gras_os_sleep(sec) xbt_sleep(sec) /** @brief get the fully-qualified name of the current host * * Returns the fully-qualified name of the host machine, or "localhost" if the name * cannot be determined. Always returns the same value, so multiple calls * cause no problems. */ -const char * +XBT_PUBLIC(const char *) gras_os_myname(void); +/** @brief returns the number on which this process is listening for incoming messages */ +XBT_PUBLIC(int) gras_os_myport(void); + +/** @brief get the uri of the current process + * + * Returns the concatenation of gras_os_myname():gras_os_myport(). Please do not free the result. + */ +XBT_PUBLIC(const char *) +gras_os_hostport(void); + /** @brief get process identification * * Returns the process ID of the current process. (This is often used by routines that generate unique temporary file names.) */ -int gras_os_getpid(void); +XBT_PUBLIC(int) gras_os_getpid(void); + + +/* The following functions handle process property query */ +XBT_PUBLIC(xbt_dict_t) gras_process_properties(void); +XBT_PUBLIC(const char*) gras_process_property_value(char* name); + +/* The following functions handle host/cpu property query */ +XBT_PUBLIC(xbt_dict_t) gras_os_host_properties(void); +XBT_PUBLIC(const char*) gras_os_property_value(char* name); /** @} */ SG_END_DECL()