| KSTAT_READ(3KSTAT) | Kernel Statistics Library Functions | KSTAT_READ(3KSTAT) |
kstat_read,
kstat_write — read or write
kstat data
Kernel Statistics Library (libkstat, -lkstat)
#include
<kstat.h>
kid_t
kstat_read(kstat_ctl_t *kc,
kstat_t *ksp, void *buf);
kid_t
kstat_write(kstat_ctl_t *kc,
kstat_t *ksp, void *buf);
The
kstat_read()
function gets data from the kernel for the kstat pointed to by
ksp. The
‘ksp->ks_data’ field is
automatically allocated (or reallocated) to be large enough to hold all of
the data. The ‘ksp->ks_ndata’ field
is set to the number of data fields,
‘ksp->ks_data_size’ is set to the
total size of the data, and
‘ksp->ks_snaptime’ is set to the
high-resolution time at which the data snapshot was taken. If
buf is non-null, the data is copied from
‘ksp->ks_data’ to
buf.
The
kstat_write()
function writes data from buf, or from
‘ksp->ks_data’ if
buf is NULL to the
corresponding kstat in the kernel. Only a privileged user can use
kstat_write().
Upon successful completion, kstat_read()
and kstat_write() return the current kstat chain ID
(KCID). Otherwise, they return
-1 and set
errno to indicate the error.
The kstat_read() and
kstat_write() functions will fail if:
EACCESEAGAINEINVALENOMEMENXIOEOVERFLOWEPERMPRIV_SYS_CONFIG} was not asserted in the
effective privilege set.kstat(3KSTAT), kstat_chain_update(3KSTAT), kstat_lookup(3KSTAT), kstat_open(3KSTAT), attributes(7), privileges(7)
| November 29, 2021 | OmniOS |