Go to main content

man pages section 9: DDI and DKI Kernel Functions

Exit Print View

Updated: Thursday, June 13, 2019



kstat_install - add a fully initialized kstat to the system


#include <sys/types.h>
#include <sys/kstat.h>

void kstat_install(kstat_t *ksp);

Interface Level

Solaris DDI specific (Solaris DDI)



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


The kstat_install() function is used in conjunction with the kstat_create() function to allocate and initialize a kstat(9S) structure. For more information, see the kstat_create(9F) man page.

After a successful call to the kstat_create() function, 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.

Return Values



The kstat_install() function 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 */ 

See Also

kstat_delete(9F), kstat_create(9F), kstat_named_init(9F), kstat(9S), kstat2_create(9F), kstat2_delete(9F), kstat2_install(9F)

Writing Device Drivers in Oracle Solaris 11.4


The use of the kstat_install() function is deprecated. The function may be removed in a future release of Oracle Solaris. Use the kstat2_create() and kstat2_install() functions instead. For more information, see the kstat2_create(9F) and kstat2_install(9F) man pages.