KSTAT_READ(3KSTAT)   Kernel Statistics Library Functions  KSTAT_READ(3KSTAT)
NAME
     kstat_read, 
kstat_write - read or write kstat data
LIBRARY
     Kernel Statistics Library (libkstat, -lkstat)
SYNOPSIS
     #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);
DESCRIPTION
     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().
RETURN VALUES
     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.
FILES
     /dev/kstat                        kernel statistics driver character
                                       device
ERRORS
     The 
kstat_read() and 
kstat_write() functions will fail if:
     EACCES             An attempt was made to write to a non-writable
                        kstat.
     EAGAIN             The kstat was temporarily unavailable for reading or
                        writing.
     EINVAL             An attempt was made to write data to a kstat, but
                        the number of elements or the data size does not
                        match.
     ENOMEM             Insufficient storage space is available.
     ENXIO              The given kstat could not be located for reading or
                        writing.
     EOVERFLOW
     EPERM              An attempt was made to write to a kstat, but
                        {PRIV_SYS_CONFIG} was not asserted in the effective
                        privilege set.
INTERFACE STABILITY
     CommittedMT-LEVEL     UnsafeSEE ALSO
     kstat(3KSTAT), 
kstat_chain_update(3KSTAT), 
kstat_lookup(3KSTAT),     
kstat_open(3KSTAT), 
attributes(7), 
privileges(7)illumos                       November 29, 2021                      illumos