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
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
⟨https://libstatgrab.org/⟩