Kernel Statistics Library Functions kstatchainupdate(3KSTAT)
NAME
kstatchainupdate - update the kstat header chain
SYNOPSIS
cc [ flag... ] file... -lkstat [ library...]
#include
kidt kstatchainupdate(kstatctlt *kc);
DESCRIPTION
The kstatchainupdate() 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 (kstatt's) pointed
to by kc->kcchain, which is initialized by
kstatopen(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 causing the user's copy of the kstat chain
to become out of date. The kstatchainupdate() 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->kcchainid. If
the KCIDs match, kstatchainupdate() does nothing. Other-
wise, it deletes any invalid kstat headers from the user's
kstat chain, adds any new ones, and sets kc->kcchainid to
the new KCID. All other kstat headers in the user's kstat
chain are unmodified.
RETURN VALUES
Upon successful completion, kstatchainupdate() returns the
new KCID if the kstat chain has changed and 0 if it has not
changed. Otherwise, it returns -1 and sets errno to indicate
the error.
ERORS
The kstatchainupdate() function will fail if:
EAGAIN The kstat was temporarily unavailable for read-
ing or writing.
ENOMEM Insufficient storage space is available.
ENXIO The given kstat could not be located for read-
ing.
SunOS 5.11 Last change: 3 Aug 2004 1
Kernel Statistics Library Functions kstatchainupdate(3KSTAT)
EOVERFLOW The data for the given kstat was too large to
be stored in the structure.
FILES
/dev/kstat kernel statistics driver
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Stable
MT-Level Unsafe
SEE ALSO
kstat(3KSTAT), kstatlookup(3KSTAT), kstatopen(3KSTAT),
kstatread(3KSTAT), attributes(5)
SunOS 5.11 Last change: 3 Aug 2004 2
|