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:
EACCES
EAGAIN
EINVAL
ENOMEM
ENXIO
EOVERFLOW
EPERM
PRIV_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 |