1
/* gras/virtu.h - public interface to virtualization (cross-OS portability) */
3
/* Copyright (c) 2004, 2005, 2006, 2007, 2009, 2010. The SimGrid Team.
4
* All rights reserved. */
6
/* This program is free software; you can redistribute it and/or modify it
7
* under the terms of the license (GNU LGPL) which comes with this package. */
12
#include "xbt/misc.h" /* SG_BEGIN_DECL */
18
/* Initialization of the simulation world. Do not call them in RL.
19
Indeed, do not call them at all. Let gras_stub_generator do it for you. */
20
void gras_global_init(int *argc, char **argv);
21
void gras_create_environment(const char *file);
22
void gras_function_register(const char *name, xbt_main_func_t code);
23
void gras_function_register_default(xbt_main_func_t code);
24
void gras_launch_application(const char *file);
25
void gras_load_environment_script(const char *file);
26
void gras_clean(void);
30
/** @addtogroup GRAS_virtu
31
* @brief System call abstraction layer.
37
/** @brief Get the current time
38
* @return number of second since the Epoch.
39
* (00:00:00 UTC, January 1, 1970 in Real Life, and begining of simulation in SG)
41
#define gras_os_time() xbt_time()
42
/** @brief sleeps for the given amount of time.
43
* @param sec: number of seconds to sleep
45
#define gras_os_sleep(sec) xbt_sleep(sec)
46
/** @brief get the fully-qualified name of the current host
48
* Returns the fully-qualified name of the host machine, or "localhost" if the name
49
* cannot be determined. Always returns the same value, so multiple calls
52
XBT_PUBLIC(const char *) gras_os_myname(void);
54
/** @brief returns the number on which this process is listening for incoming messages */
55
XBT_PUBLIC(int) gras_os_myport(void);
57
/** @brief get the uri of the current process
59
* Returns the concatenation of gras_os_myname():gras_os_myport(). Please do not free the result.
61
XBT_PUBLIC(const char *) gras_os_hostport(void);
63
/** @brief get process identification
65
* Returns the process ID of the current process. (This is often used
66
by routines that generate unique temporary file names.)
68
XBT_PUBLIC(int) gras_os_getpid(void);
71
/* Properties related */
72
XBT_PUBLIC(xbt_dict_t) gras_process_properties(void);
73
XBT_PUBLIC(const char *) gras_process_property_value(const char *name);
75
XBT_PUBLIC(xbt_dict_t) gras_os_host_properties(void);
76
XBT_PUBLIC(const char *) gras_os_host_property_value(const char *name);
80
#endif /* GRAS_VIRTU_H */