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

nvlist_next_nvpair, nvpair_name, nvpair_type - return data regarding name-value pairs

#include <sys/nvpair.h>
nvpair_t *nvlist_next_nvpair(nvlist_t *nvl, nvpair_t *nvpair);

char *nvpair_name(nvpair_t *nvpair);

data_type_t nvpair_type(nvpair_t *nvpair);

illumos DDI specific (illumos DDI)

nvl
The list of name-value pairs (nvlist_t) to be processed.

nvpair

Handle to a name-value pair.

The nvlist_next_nvpair() function returns a handle to the next name-value pair (nvpair) in the list following nvpair. If nvpair is NULL, the first pair is returned. If nvpair is the last pair in the nvlist_t, NULL is returned.

The nvpair_name() function returns a string containing the name of nvpair.

The nvpair_type() function retrieves the value of the nvpair in the form of enumerated type data_type_t. This is used to determine the appropriate nvpair_*() function to call for retrieving the value.

For nvpair_name(): a string containing the name.

For nvpair_type(): an enumerated data type data_type_t. Possible values for data_type_t are:


DATA_TYPE_BOOLEAN
DATA_TYPE_BOOLEAN_VALUE
DATA_TYPE_BYTE
DATA_TYPE_INT8
DATA_TYPE_UINT8
DATA_TYPE_INT16
DATA_TYPE_UINT16
DATA_TYPE_INT32
DATA_TYPE_UINT32
DATA_TYPE_INT64
DATA_TYPE_UINT64
DATA_TYPE_STRING
DATA_TYPE_NVLIST
DATA_TYPE_BOOLEAN_ARRAY
DATA_TYPE_BYTE_ARRAY
DATA_TYPE_INT8_ARRAY
DATA_TYPE_UINT8_ARRAY
DATA_TYPE_INT16_ARRAY
DATA_TYPE_UINT16_ARRAY
DATA_TYPE_INT32_ARRAY
DATA_TYPE_UINT32_ARRAY
DATA_TYPE_INT64_ARRAY
DATA_TYPE_UINT64_ARRAY
DATA_TYPE_STRING_ARRAY
DATA_TYPE_NVLIST_ARRAY

After nvpairs is removed from or replaced in an nvlist, it cannot be manipulated. This includes nvlist_next_nvpair(), nvpair_name() and nvpair_type(). Replacement can happen during pair addition on nvlists created with NV_UNIQUE_NAME_TYPE and NV_UNIQUE_NAME. See nvlist_alloc(9F) for more details.

These functions can be called from user, interrupt, or kernel context.
January 16, 2006 OmniOS