nvlist_next_nvpair man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

NVLIST_NEXT_NVPAIR(3NVPAIR)			   NVLIST_NEXT_NVPAIR(3NVPAIR)

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

SYNOPSIS
       cc [ flag... ] file... -lnvpair [ library... ]
       #include <libnvpair.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);

PARAMETERS
       nvl
		 The nvlist_t to be processed.

       nvpair
		 Handle to a name-value pair.

DESCRIPTION
       The nvlist_next_nvpair() function returns a handle to the  next	nvpair
       in  the	list  following	 nvpair.  If nvpair is NULL, the first pair is
       returned. If nvpair is the last pair in the nvlist, 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.

RETURN VALUES
       Upon  successful	 completion, nvpair_name() returns a string containing
       the name of the name-value pair.

       Upon successful completion, nvpair_type() returns  an  enumerated  data
       type data_type_t. Possible values for data_type_t are as follows:

	   o	  DATA_TYPE_BOOLEAN

	   o	  DATA_TYPE_BOOLEAN_VALUE

	   o	  DATA_TYPE_BYTE

	   o	  DATA_TYPE_INT8

	   o	  DATA_TYPE_UINT8

	   o	  DATA_TYPE_INT16

	   o	  DATA_TYPE_UINT16

	   o	  DATA_TYPE_INT32

	   o	  DATA_TYPE_UINT32

	   o	  DATA_TYPE_INT64

	   o	  DATA_TYPE_UINT64

	   o	  DATA_TYPE_STRING

	   o	  DATA_TYPE_NVLIST

	   o	  DATA_TYPE_BOOLEAN_ARRAY

	   o	  DATA_TYPE_BYTE_ARRAY

	   o	  DATA_TYPE_INT8_ARRAY

	   o	  DATA_TYPE_UINT8_ARRAY

	   o	  DATA_TYPE_INT16_ARRAY

	   o	  DATA_TYPE_UINT16_ARRAY

	   o	  DATA_TYPE_INT32_ARRAY

	   o	  DATA_TYPE_UINT32_ARRAY

	   o	  DATA_TYPE_INT64_ARRAY

	   o	  DATA_TYPE_UINT64_ARRAY

	   o	  DATA_TYPE_STRING_ARRAY

	   o	  DATA_TYPE_NVLIST_ARRAY

       Upon reaching the end of a list, nvlist_next_pair() returns NULL.  Oth‐
       erwise, the function returns a handle to next nvpair in the list.

       These and other libnvpair(3LIB)	functions  cannot  manipulate  nvpairs
       after they have been removed from or replaced in an nvlist. Replacement
       can   occur   during   pair   additions	 to   nvlists	created	  with
       NV_UNIQUE_NAME_TYPE and NV_UNIQUE_NAME. See nvlist_alloc(3NVPAIR).

ERRORS
       No errors are defined.

EXAMPLES
       Example 1 Example of usage of nvlist_next_nvpair().

	 /*
	  * usage of nvlist_next_nvpair()
	  */
	  static int
	  edit_nvl(nvlist_t *nvl)
	  {
	      nvpair_t *curr = nvlist_next_nvpair(nvl, NULL);

	      while (curr != NULL) {
		  int err;
		 nvpair_t *next = nvlist_next_nvpair(nvl, curr);

		 if (!nvl_check(curr))
		     if ((err = nvlist_remove(nvl, nvpair_name(curr),
			 nvpair_type(curr))) != 0)
			     return (err);

		  curr = next;
	      }
	     return (0);
	  }

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

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Evolving	      │
       ├────────────────────┼─────────────────┤
       │MT-Level	    │ MT-Safe	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       libnvpair(3LIB), nvlist_alloc(3NVPAIR), attributes(5)

NOTES
       The  enumerated	nvpair	data types might not be an exhaustive list and
       new data types can be added.  An application using the data  type  enu‐
       meration,  data_type_t,	should be written to expect or ignore new data
       types.

				  Feb 2, 2004	   NVLIST_NEXT_NVPAIR(3NVPAIR)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net