KSTAT_READ(3KSTAT) | Kernel Statistics Library Functions | KSTAT_READ(3KSTAT) |
kstat_read
, kstat_write
—
#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);
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
().
kstat_read
() and
kstat_write
() return the current kstat chain ID
(KCID). Otherwise, they return -1 and set
errno to indicate the error.
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.November 29, 2021 | OmniOS |