cc [ flag... ] file... -lkstat [ library... ]
#include <kstat.h>
kstat_t *kstat_lookup(kstat_ctl_t *kc, char *ks_module, int ks_instance, char *ks_name);
void *kstat_data_lookup(kstat_t *ksp, char *name);
kstat_lookup() walks down the kstat chain, kc->kc_chain, looking 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 , then those fields will be ignored in the search. For example, kstat_lookup(NULL, -1, "foo") will simply find the first kstat with name "foo".
kstat_data_lookup() searches the kstat’s data section for the record with the specified name. This operation is only valid for kstat types which have named data records. Currently, only the KSTAT_TYPE_NAMED and KSTAT_TYPE_TIMER kstats have named data records.
kstat_data_lookup() returns a pointer to the requested data record if it is found. If the requested record is not found, or if the kstat type is invalid, kstat_data_lookup() returns NULL .