Go to main content

man pages section 3: Extended Library Functions, Volume 2

Exit Print View

Updated: July 2017
 
 

kstat_data_lookup(3KSTAT)

Name

kstat_lookup, kstat_data_lookup - find a kstat by name

Synopsis

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);

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 .

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 .

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.

Files

/dev/kstat

kernel statistics driver

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe with exceptions

The kstat_lookup() function is MT-Safe with the exception that only one thread may actively use a kstat_ctl_t * value at any time. Synchronization is left to the application.

See Also

kstat(3KSTAT), kstat_chain_update(3KSTAT), kstat_open(3KSTAT), kstat_read(3KSTAT), attributes(5)