Name

sg_get_host_info, sg_get_host_info_r, sg_free_host_info — get general operating system statistics

Synopsis

#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;
 

Description

These calls return details on the operating system and the machine it's running on.

Table 1. API Shortcut

functionreturnsdata owner
sg_get_host_infosg_host_info *libstatgrab (thread local)
sg_get_host_info_rsg_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.

Return Values

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

See Also

statgrab(3)

Website

https://libstatgrab.org/