24 #include <utils/system/hostinfo.h> 26 #include <core/exceptions/software.h> 28 #include <sys/utsname.h> 45 utsname = (struct ::utsname *)malloc(
sizeof(struct ::utsname));
47 if ( uname(utsname) != 0 ) {
75 if ( short__name != NULL ) {
78 if (domain_name != NULL) {
83 if ( (dot = strchr(utsname->nodename,
'.')) == NULL ) {
84 short__name = strdup(utsname->nodename);
85 domain_name = strdup(
"");
87 int short_length = dot - utsname->nodename + 1;
88 int domain_length = strlen(utsname->nodename) - short_length + 1;
89 short__name = (
char *)malloc(short_length);
90 short__name[short_length - 1] = 0;
91 strncpy(short__name, utsname->nodename, short_length - 1);
93 domain_name = (
char *)malloc(domain_length);
94 domain_name[domain_length - 1] = 0;
95 strncpy(domain_name, dot + 1, domain_length - 1);
106 return utsname->nodename;
136 return utsname->machine;
146 return utsname->sysname;
156 return utsname->release;
166 return utsname->version;
const char * short_name()
Get short hostname (up to first dot).
const char * arch()
Get architecture (like i686 or x86_64).
void update()
Update information.
Fawkes library namespace.
const char * domain()
Get domain name (after first dot or none if no dot in name).
A NULL pointer was supplied where not allowed.
const char * sys_version()
Get system version (build date on Linux).
const char * name()
Get full hostname.
const char * sys_name()
Get system name (like Linux).
const char * sys_release()
Get system release (kernel version on Linux).