Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

kstat_chain_update(3kstat) [opensolaris man page]

kstat_chain_update(3KSTAT)				Kernel Statistics Library Functions				kstat_chain_update(3KSTAT)

NAME
kstat_chain_update - update the kstat header chain SYNOPSIS
cc [ flag... ] file... -lkstat [ library...] #include <kstat.h> kid_t kstat_chain_update(kstat_ctl_t *kc); DESCRIPTION
The kstat_chain_update() function brings the user's kstat header chain in sync with that of the kernel. The kstat chain is a linked list of kstat headers (kstat_t's) pointed to by kc->kc_chain, which is initialized by kstat_open(3KSTAT). This chain constitutes a list of all kstats currently in the system. During normal operation, the kernel creates new kstats and delete old ones as various device instances are added and removed, thereby caus- ing the user's copy of the kstat chain to become out of date. The kstat_chain_update() function detects this condition by comparing the kernel's current kstat chain ID (KCID), which is incremented every time the kstat chain changes, to the user's KCID, kc->kc_chain_id. If the KCIDs match, kstat_chain_update() does nothing. Otherwise, it deletes any invalid kstat headers from the user's kstat chain, adds any new ones, and sets kc->kc_chain_id to the new KCID. All other kstat headers in the user's kstat chain are unmodified. RETURN VALUES
Upon successful completion, kstat_chain_update() returns the new KCID if the kstat chain has changed and 0 if it has not changed. Other- wise, it returns -1 and sets errno to indicate the error. ERRORS
The kstat_chain_update() function will fail if: EAGAIN The kstat was temporarily unavailable for reading or writing. ENOMEM Insufficient storage space is available. ENXIO The given kstat could not be located for reading. EOVERFLOW The data for the given kstat was too large to be stored in the structure. FILES
/dev/kstat kernel statistics driver ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Stable | +-----------------------------+-----------------------------+ |MT-Level |Unsafe | +-----------------------------+-----------------------------+ SEE ALSO
kstat(3KSTAT), kstat_lookup(3KSTAT), kstat_open(3KSTAT), kstat_read(3KSTAT), attributes(5) SunOS 5.11 3 Aug 2004 kstat_chain_update(3KSTAT)

Check Out this Related Man Page

kstat_read(3KSTAT)					Kernel Statistics Library Functions					kstat_read(3KSTAT)

NAME
kstat_read, kstat_write - read or write kstat data SYNOPSIS
cc [ flag... ] file... -lkstat [ library... ] #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 the superuser 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. 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 The data for the given kstat was too large to be stored in the structure. EPERM An attempt was made to write to a kstat, but {PRIV_SYS_CONFIG} was not asserted in the effective privilege set. FILES
/dev/kstat kernel statistics driver ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Stable | +-----------------------------+-----------------------------+ |MT-Level |Unsafe | +-----------------------------+-----------------------------+ SEE ALSO
kstat(3KSTAT), kstat_chain_update(3KSTAT), kstat_lookup(3KSTAT), kstat_open(3KSTAT), attributes(5), privileges(5) SunOS 5.10 3 Aug 2004 kstat_read(3KSTAT)
Man Page