KSTAT_LOOKUP(3KSTAT)                     Kernel Statistics Library Functions
NAME
     kstat_lookup, 
kstat_data_lookup - find a kstat by name
LIBRARY
     Kernel Statistics Library (libkstat, -lkstat)
SYNOPSIS
     #include <kstat.h>     kstat_t *     kstat_lookup(
kstat_ctl_t *kc, 
const char *ks_module, 
int ks_instance,         
const char *ks_name);     
void *     kstat_data_lookup(
kstat_t *ksp, 
const char *name);
DESCRIPTION
     The 
kstat_lookup() function traverses the kstat chain, `kc->kc_chain',
     searching for a kstat with the same 
ks_module, 
ks_instance, and 
ks_name     fields; this triplet uniquely identifies a kstat.  If 
ks_module, is
     NULL, 
ks_instance is -1, or 
ks_name is NULL, those fields will be
     ignored in the search.  For example, 
kstat_lookup(
kc, 
NULL, 
-1, 
foo)
     will find the first kstat with name "foo".
     The 
kstat_data_lookup() function searches the kstat's data section for
     the record with the specified 
name.  This operation is valid only for
     those kstat types that have named data records: KSTAT_TYPE_NAMED and
     KSTAT_TYPE_TIMER.
   Lifetime
     The 
kstat_t structures and any associated data are owned by the library
     and the corresponding handle, 
kc.  That is, two callers with same
     library handle will generally have the same memory returned to them,
     though this is not a guaranteed part of the interface.  Callers should
     not modify or attempt to free the data associated with either.  Calling
     the 
kstat_chain_update(3KSTAT) or 
kstat_close(3KSTAT) functions on the
     handle 
kc will cause the pointers returned from these functions with
     the same handle to be invalid.
RETURN VALUES
     The 
kstat_lookup() function returns a pointer to the requested kstat if
     it is found.  Otherwise it returns NULL and sets 
errno to indicate the
     error.
     The 
kstat_data_lookup() function returns a pointer to the requested
     data record if it is found.  Otherwise it returns NULL and sets 
errno     to indicate the error.
FILES
     /dev/kstat                        kernel statistics driver character
                                       device
ERRORS
     The 
kstat_lookup() and 
kstat_data_lookup() functions will fail if:
     EINVAL             An attempt was made to look up data for a kstat that
                        was not of type KSTAT_TYPE_NAMED or
                        KSTAT_TYPE_TIMER.
     ENOENT             The requested kstat could not be found.
INTERFACE STABILITY
     CommittedMT-LEVEL     UnsafeSEE ALSO
     kstat(3KSTAT), 
kstat_chain_update(3KSTAT), 
kstat_open(3KSTAT),     
kstat_read(3KSTAT), 
attributes(7)illumos                       November 29, 2021                      illumos