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

kstat_named_init, kstat_named_setstr - initialize a named kstat

#include <sys/types.h>
#include <sys/kstat.h>
void kstat_named_init(kstat_named_t *knp, const char *name,

uchar_t data_type);

void kstat_named_setstr(kstat_named_t *knp, const char *str);

illumos DDI specific (illumos DDI)

knp

Pointer to a kstat_named(9S) structure.

name

The name of the statistic.

data_type

The type of value. This indicates which field of the kstat_named(9S) structure should be used. Valid values are:

KSTAT_DATA_CHAR

The "char" field.

KSTAT_DATA_LONG

The "long" field.

KSTAT_DATA_ULONG

The "unsigned long" field.

KSTAT_DATA_LONGLONG

Obsolete. Use KSTAT_DATA_INT64.

KSTAT_DATA_ULONGLONG

Obsolete. Use KSTAT_DATA_UINT64.

KSTAT_DATA_STRING

Arbitrary length "long string" field.

str

Pointer to a NULL-terminated string.

kstat_named_init() associates a name and a type with a kstat_named(9S) structure.

kstat_named_setstr() associates str with the named kstat knp. It is an error for knp to be of type other than KSTAT_DATA_STRING. The string argument must remain valid even after the function that is calling kstat_named_setstr() is returned. If KSTAT_DATA_STRING is used in a persistent kstat the string argument must remain valid even after the module that created the kstat is unloaded. This is the only supported method of changing the value of long strings.

None.

kstat_named_init() and kstat_named_setstr() can be called from user or kernel context.

kstat_create(9F), kstat_install(9F), kstat(9S), kstat_named(9S)

Writing Device Drivers

February 29, 2008 OmniOS