sg_get_host_info, sg_get_host_info_r, sg_free_host_info − get general operating system statistics
#include <statgrab.h>
sg_host_info *sg_get_host_info (size_t *entries);
sg_host_info *sg_get_host_info_r (size_t *entries);
sg_error sg_free_host_info (sg_host_info *data);
These calls return details on the operating system and the machine it’s running on.
API Shortcut
The sg_host_info buffer received from sg_get_host_info_r() must be freed using sg_free_host_info() when not needed any more. The caller is responsible for doing it.
The structure returned is of type sg_host_info.
typedef enum {
sg_unknown_configuration = 0,
sg_physical_host,
sg_virtual_machine,
sg_paravirtual_machine,
sg_hardware_virtualized
} sg_host_state;
typedef struct{
char *os_name;
char *os_release;
char *os_version;
char *platform;
char *hostname;
unsigned bitwidth;
sg_host_state host_state;
unsigned ncpus;
unsigned maxcpus;
time_t uptime;
time_t systime;
}sg_host_info;
os_name
The operating system name. (eg. SunOS or Linux)
os_release
The operating system release. (eg. 5.8 or 5.9 or Solaris)
os_version
The version level of the OS.
platform
The hardware platform (architecture) the OS runs on.
hostname
The name of the machine.
uptime |
The uptime of the machine in seconds. |
systime
The timestamp when the above stats where collected in seconds since epoch
〈http://www.i-scream.org/libstatgrab/〉