GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
DNV(9) FreeBSD Kernel Developer's Manual DNV(9)

dnvlist_get, dnvlist_take
API for getting name/value pairs. Nonexistent pairs do not raise an error.

Name/value pairs library (libnv, -lnv)

#include <sys/dnv.h>

bool
dnvlist_get_bool(const nvlist_t *nvl, const char *name, bool defval);

uint64_t
dnvlist_get_number(const nvlist_t *nvl, const char *name, uint64_t defval);

char *
dnvlist_get_string(const nvlist_t *nvl, const char *name, const char *defval);

nvlist_t *
dnvlist_get_nvlist(const nvlist_t *nvl, const char *name, nvlist_t *defval);

int
dnvlist_get_descriptor(const nvlist_t *nvl, const char *name, int defval);

void *
dnvlist_get_binary(const nvlist_t *nvl, const char *name, size_t *sizep, void *defval, size_t defsize);

bool
dnvlist_take_bool(const nvlist_t *nvl, const char *name, bool defval);

uint64_t
dnvlist_take_number(const nvlist_t *nvl, const char *name, uint64_t defval);

char *
dnvlist_take_string(const nvlist_t *nvl, const char *name, const char *defval);

nvlist_t *
dnvlist_take_nvlist(const nvlist_t *nvl, const char *name, nvlist_t *defval);

int
dnvlist_take_descriptor(const nvlist_t *nvl, const char *name, int defval);

void *
dnvlist_take_binary(const nvlist_t *nvl, const char *name, size_t *sizep, void *defval, size_t defsize);

The libnv library permits easy management of name/value pairs and can send and receive them over sockets. For more information, also see nv(9).

The dnvlist_get family of functions returns the value associated with the specified name. If an element of the specified 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. 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 family of functions returns the value associated with the specified name and removes the element from the nvlist. If an element of the supplied 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).

close(2), free(3), nv(9)

The dnv API appeared in FreeBSD 11.0.

The dnv API was implemented by Pawel Jakub Dawidek <pawel@dawidek.net> under sponsorship from the FreeBSD Foundation. This manual page was written by Adam Starak <starak.adam@gmail.com>
July 26, 2016 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 9 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.