Add nvlist_flags() function, which returns nvlist's public flags.

Approved by:	pjd (mentor)
This commit is contained in:
Mariusz Zaborski 2015-05-01 17:50:24 +00:00
parent a9da03ef30
commit 24f93ee714
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=282312
4 changed files with 23 additions and 1 deletions

View File

@ -47,6 +47,7 @@ MLINKS+=nv.3 nvlist_add_binary.3 \
nv.3 nvlist_exists_string.3 \
nv.3 nvlist_exists_type.3 \
nv.3 nvlist_fdump.3 \
nv.3 nvlist_flags.3 \
nv.3 nvlist_free.3 \
nv.3 nvlist_free_binary.3 \
nv.3 nvlist_free_bool.3 \

View File

@ -28,7 +28,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd January 30, 2015
.Dd May 1, 2015
.Dt NV 3
.Os
.Sh NAME
@ -37,6 +37,7 @@
.Nm nvlist_error ,
.Nm nvlist_set_error ,
.Nm nvlist_empty ,
.Nm nvlist_flags ,
.Nm nvlist_exists ,
.Nm nvlist_free ,
.Nm nvlist_clone ,
@ -68,6 +69,8 @@
.Fn nvlist_set_error "nvlist_t *nvl, int error"
.Ft bool
.Fn nvlist_empty "const nvlist_t *nvl"
.Ft int
.Fn nvlist_flags "const nvlist_t *nvl"
.\"
.Ft "nvlist_t *"
.Fn nvlist_clone "const nvlist_t *nvl"
@ -269,6 +272,12 @@ otherwise.
The nvlist must not be in error state.
.Pp
The
.Fn nvlist_flags
function returns flags used to create the nvlist with the
.Fn nvlist_create
function.
.Pp
The
.Fn nvlist_clone
functions clones the given nvlist.
The clone shares no resources with its origin.

View File

@ -230,6 +230,17 @@ nvlist_empty(const nvlist_t *nvl)
return (nvlist_first_nvpair(nvl) == NULL);
}
int
nvlist_flags(const nvlist_t *nvl)
{
NVLIST_ASSERT(nvl);
PJDLOG_ASSERT(nvl->nvl_error == 0);
PJDLOG_ASSERT((nvl->nvl_flags & ~(NV_FLAG_PUBLIC_MASK)) == 0);
return (nvl->nvl_flags);
}
static void
nvlist_report_missing(int type, const char *name)
{

View File

@ -75,6 +75,7 @@ nvlist_t *nvlist_create(int flags);
void nvlist_destroy(nvlist_t *nvl);
int nvlist_error(const nvlist_t *nvl);
bool nvlist_empty(const nvlist_t *nvl);
int nvlist_flags(const nvlist_t *nvl);
void nvlist_set_error(nvlist_t *nvl, int error);
nvlist_t *nvlist_clone(const nvlist_t *nvl);