KSTAT_INSTALL(9F) Kernel Functions for Drivers KSTAT_INSTALL(9F)

kstat_install - add a fully initialized kstat to the system

#include <sys/types.h>
#include <sys/kstat.h>
void kstat_install(kstat_t *ksp);

illumos DDI specific (illumos DDI)

ksp

Pointer to a fully initialized kstat(9S) structure.

kstat_install() is used in conjunction with kstat_create(9F) to allocate and initialize a kstat(9S) structure.

After a successful call to kstat_create() the driver must perform any necessary initialization of the data section (such as setting the name fields in a kstat of type KSTAT_TYPE_NAMED). Virtual kstats must have the ks_data field set at this time. The provider may also set the ks_update, ks_private, and ks_lock fields if necessary.

Once the kstat is completely initialized, kstat_install is used to make the kstat accessible to the outside world.

None.

kstat_install() can be called from user or kernel context.

Example 1 Allocating and Initializing a kstat Structure

The method for allocating and initializing a kstat structure is generally as follows:


kstat_t *ksp;
ksp = kstat_create(module, instance, name, class, type, ndata, flags);
if (ksp) {
	 /* ... provider initialization, if necessary */
	kstat_install(ksp);
}

kstat_create(9F), kstat_delete(9F), kstat_named_init(9F), kstat(9S)

Writing Device Drivers

May 26, 1994 OmniOS