diff options
-rw-r--r-- | base/hostinfo.cc | 29 | ||||
-rw-r--r-- | base/hostinfo.hh | 4 |
2 files changed, 29 insertions, 4 deletions
diff --git a/base/hostinfo.cc b/base/hostinfo.cc index 5efb77356..cb5c04efc 100644 --- a/base/hostinfo.cc +++ b/base/hostinfo.cc @@ -26,16 +26,37 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include <stdarg.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> #include <ctype.h> #include <errno.h> #include <math.h> +#include <unistd.h> +#include <cstdio> +#include <cstdlib> +#include <cstring> +#include <string> + +#include "base/misc.hh" #include "sim/host.hh" +using namespace std; + +string +__get_hostname() +{ + char host[256]; + if (gethostname(host, sizeof host) == -1) + warn("could not get host name!"); + return host; +} + +string & +hostname() +{ + static string hostname = __get_hostname(); + return hostname; +} + uint64_t procInfo(char *filename, char *target) { diff --git a/base/hostinfo.hh b/base/hostinfo.hh index 2293d2b6a..453a1e69a 100644 --- a/base/hostinfo.hh +++ b/base/hostinfo.hh @@ -29,8 +29,12 @@ #ifndef __HOSTINFO_HH__ #define __HOSTINFO_HH__ +#include <string> + #include "sim/host.hh" +std::string &hostname(); + uint64_t procInfo(char *filename, char *target); inline uint64_t memUsage() |