The
libnv
library permits easy management of name/value pairs and can send and receive
them over sockets.
For more information, see
nv(9).
The
dnvlist_get
functions return the value associated with
name.
If an element named
name
does not exist, the function returns the
value provided in
defval.
Returned strings, nvlists, descriptors, binaries, or arrays must not be modified
by the user since they still belong to the nvlist.
If the nvlist is in an error state, attempts to use any of these functions will
cause the program to abort.
The
dnvlist_take
functions return the value associated with
name
and removes the associated element from
nvl.
If an element named
name
does not exist, the value provided in
defval
is returned.
When the value is a string, binary, or array value, the caller is
responsible for freeing returned memory with
free(3).
When the value is an nvlist, the caller is responsible for destroying the
returned nvlist with
nvlist_destroy().
When the value is a descriptor, the caller is responsible for closing the
returned descriptor with
close(2).