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( | entries) ; |
size_t *entries
;sg_host_info *sg_get_host_info_r( | entries) ; |
size_t *entries
;sg_error sg_free_host_info( | data) ; |
sg_host_info *data
;These calls return details on the operating system and the machine it's running on.
Table 1. API Shortcut
function | returns | data owner |
---|---|---|
sg_get_host_info | sg_host_info * | libstatgrab (thread local) |
sg_get_host_info_r | sg_host_info * | caller |
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