svn commit: r285139 - in head: lib/libnv sys/conf sys/contrib/libnv sys/kern sys/sys
Mariusz Zaborski
oshogbo at FreeBSD.org
Sat Jul 4 16:33:41 UTC 2015
Author: oshogbo
Date: Sat Jul 4 16:33:37 2015
New Revision: 285139
URL: https://svnweb.freebsd.org/changeset/base/285139
Log:
Move the nvlist source and private includes from sys/kern to seperate
directory sys/contrib/libnv.
The goal of this operation is to NOT install header files which shouldn't
be used outside the nvlist library.
Approved by: pjd (mentor)
Added:
head/sys/contrib/libnv/
head/sys/contrib/libnv/dnvlist.c
- copied, changed from r285138, head/sys/kern/subr_dnvlist.c
head/sys/contrib/libnv/nv_impl.h
- copied unchanged from r285128, head/sys/sys/nv_impl.h
head/sys/contrib/libnv/nvlist.c
- copied, changed from r285128, head/sys/kern/subr_nvlist.c
head/sys/contrib/libnv/nvlist_impl.h
- copied, changed from r285128, head/sys/sys/nvlist_impl.h
head/sys/contrib/libnv/nvpair.c
- copied, changed from r285128, head/sys/kern/subr_nvpair.c
head/sys/contrib/libnv/nvpair_impl.h
- copied, changed from r285128, head/sys/sys/nvpair_impl.h
Deleted:
head/sys/kern/subr_dnvlist.c
head/sys/kern/subr_nvlist.c
head/sys/kern/subr_nvpair.c
head/sys/sys/nv_impl.h
head/sys/sys/nvlist_impl.h
head/sys/sys/nvpair_impl.h
Modified:
head/lib/libnv/Makefile
head/sys/conf/files
Modified: head/lib/libnv/Makefile
==============================================================================
--- head/lib/libnv/Makefile Sat Jul 4 16:19:38 2015 (r285138)
+++ head/lib/libnv/Makefile Sat Jul 4 16:33:37 2015 (r285139)
@@ -7,13 +7,13 @@ SHLIBDIR?= /lib
LIB= nv
SHLIB_MAJOR= 0
-.PATH: ${.CURDIR}/../../sys/kern ${.CURDIR}/../../sys/sys
+.PATH: ${.CURDIR}/../../sys/contrib/libnv ${.CURDIR}/../../sys/sys
CFLAGS+=-I${.CURDIR}/../../sys -I${.CURDIR}
-SRCS= subr_dnvlist.c
+SRCS= dnvlist.c
SRCS+= msgio.c
-SRCS+= subr_nvlist.c
-SRCS+= subr_nvpair.c
+SRCS+= nvlist.c
+SRCS+= nvpair.c
WARNS?= 6
Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files Sat Jul 4 16:19:38 2015 (r285138)
+++ head/sys/conf/files Sat Jul 4 16:33:37 2015 (r285139)
@@ -476,6 +476,9 @@ contrib/libfdt/fdt_rw.c optional fdt
contrib/libfdt/fdt_strerror.c optional fdt
contrib/libfdt/fdt_sw.c optional fdt
contrib/libfdt/fdt_wip.c optional fdt
+contrib/libnv/dnvlist.c standard
+contrib/libnv/nvlist.c standard
+contrib/libnv/nvpair.c standard
contrib/ngatm/netnatm/api/cc_conn.c optional ngatm_ccatm \
compile-with "${NORMAL_C_NOWERROR} -I$S/contrib/ngatm"
contrib/ngatm/netnatm/api/cc_data.c optional ngatm_ccatm \
@@ -3054,7 +3057,6 @@ kern/subr_clock.c standard
kern/subr_counter.c standard
kern/subr_devstat.c standard
kern/subr_disk.c standard
-kern/subr_dnvlist.c standard
kern/subr_eventhandler.c standard
kern/subr_fattime.c standard
kern/subr_firmware.c optional firmware
@@ -3068,8 +3070,6 @@ kern/subr_mbpool.c optional libmbpool
kern/subr_mchain.c optional libmchain
kern/subr_module.c standard
kern/subr_msgbuf.c standard
-kern/subr_nvlist.c standard
-kern/subr_nvpair.c standard
kern/subr_param.c standard
kern/subr_pcpu.c standard
kern/subr_pctrie.c standard
Copied and modified: head/sys/contrib/libnv/dnvlist.c (from r285138, head/sys/kern/subr_dnvlist.c)
==============================================================================
--- head/sys/kern/subr_dnvlist.c Sat Jul 4 16:19:38 2015 (r285138, copy source)
+++ head/sys/contrib/libnv/dnvlist.c Sat Jul 4 16:33:37 2015 (r285139)
@@ -47,10 +47,10 @@ __FBSDID("$FreeBSD$");
#include <stdlib.h>
#endif
+#include <sys/dnv.h>
#include <sys/nv.h>
-#include <sys/nv_impl.h>
-#include <sys/dnv.h>
+#include "nv_impl.h"
#define DNVLIST_GET(ftype, type) \
ftype \
Copied: head/sys/contrib/libnv/nv_impl.h (from r285128, head/sys/sys/nv_impl.h)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/contrib/libnv/nv_impl.h Sat Jul 4 16:33:37 2015 (r285139, copy of r285128, head/sys/sys/nv_impl.h)
@@ -0,0 +1,138 @@
+/*-
+ * Copyright (c) 2013 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Pawel Jakub Dawidek under sponsorship from
+ * the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _NV_IMPL_H_
+#define _NV_IMPL_H_
+
+#ifndef _NVPAIR_T_DECLARED
+#define _NVPAIR_T_DECLARED
+struct nvpair;
+
+typedef struct nvpair nvpair_t;
+#endif
+
+#define NV_TYPE_NVLIST_UP 255
+
+#define NV_TYPE_FIRST NV_TYPE_NULL
+#define NV_TYPE_LAST NV_TYPE_BINARY
+
+#define NV_FLAG_BIG_ENDIAN 0x80
+
+#ifdef _KERNEL
+#define nv_malloc(size) malloc((size), M_NVLIST, M_WAITOK)
+#define nv_calloc(n, size) malloc((n) * (size), M_NVLIST, \
+ M_WAITOK | M_ZERO)
+#define nv_realloc(buf, size) realloc((buf), (size), M_NVLIST, \
+ M_WAITOK)
+#define nv_free(buf) free((buf), M_NVLIST)
+#define nv_strdup(buf) strdup((buf), M_NVLIST)
+#define nv_vasprintf(ptr, ...) vasprintf(ptr, M_NVLIST, __VA_ARGS__)
+
+#define ERRNO_SET(var) do { } while (0)
+#define ERRNO_SAVE() do { do { } while(0)
+#define ERRNO_RESTORE() } while (0)
+
+#define ERRNO_OR_DEFAULT(default) (default)
+
+#else
+
+#define nv_malloc(size) malloc((size))
+#define nv_calloc(n, size) calloc((n), (size))
+#define nv_realloc(buf, size) realloc((buf), (size))
+#define nv_free(buf) free((buf))
+#define nv_strdup(buf) strdup((buf))
+#define nv_vasprintf(ptr, ...) vasprintf(ptr, __VA_ARGS__)
+
+#define ERRNO_SET(var) do { errno = (var); } while (0)
+#define ERRNO_SAVE() do { \
+ int _serrno; \
+ \
+ _serrno = errno
+
+#define ERRNO_RESTORE() errno = _serrno; \
+ } while (0)
+
+#define ERRNO_OR_DEFAULT(default) (errno == 0 ? (default) : errno)
+
+#endif
+
+int *nvlist_descriptors(const nvlist_t *nvl, size_t *nitemsp);
+size_t nvlist_ndescriptors(const nvlist_t *nvl);
+
+nvpair_t *nvlist_first_nvpair(const nvlist_t *nvl);
+nvpair_t *nvlist_next_nvpair(const nvlist_t *nvl, const nvpair_t *nvp);
+nvpair_t *nvlist_prev_nvpair(const nvlist_t *nvl, const nvpair_t *nvp);
+
+void nvlist_add_nvpair(nvlist_t *nvl, const nvpair_t *nvp);
+
+void nvlist_move_nvpair(nvlist_t *nvl, nvpair_t *nvp);
+
+void nvlist_set_parent(nvlist_t *nvl, nvpair_t *parent);
+
+const nvpair_t *nvlist_get_nvpair(const nvlist_t *nvl, const char *name);
+
+nvpair_t *nvlist_take_nvpair(nvlist_t *nvl, const char *name);
+
+/* Function removes the given nvpair from the nvlist. */
+void nvlist_remove_nvpair(nvlist_t *nvl, nvpair_t *nvp);
+
+void nvlist_free_nvpair(nvlist_t *nvl, nvpair_t *nvp);
+
+int nvpair_type(const nvpair_t *nvp);
+const char *nvpair_name(const nvpair_t *nvp);
+
+nvpair_t *nvpair_clone(const nvpair_t *nvp);
+
+nvpair_t *nvpair_create_null(const char *name);
+nvpair_t *nvpair_create_bool(const char *name, bool value);
+nvpair_t *nvpair_create_number(const char *name, uint64_t value);
+nvpair_t *nvpair_create_string(const char *name, const char *value);
+nvpair_t *nvpair_create_stringf(const char *name, const char *valuefmt, ...) __printflike(2, 3);
+nvpair_t *nvpair_create_stringv(const char *name, const char *valuefmt, va_list valueap) __printflike(2, 0);
+nvpair_t *nvpair_create_nvlist(const char *name, const nvlist_t *value);
+nvpair_t *nvpair_create_descriptor(const char *name, int value);
+nvpair_t *nvpair_create_binary(const char *name, const void *value, size_t size);
+
+nvpair_t *nvpair_move_string(const char *name, char *value);
+nvpair_t *nvpair_move_nvlist(const char *name, nvlist_t *value);
+nvpair_t *nvpair_move_descriptor(const char *name, int value);
+nvpair_t *nvpair_move_binary(const char *name, void *value, size_t size);
+
+bool nvpair_get_bool(const nvpair_t *nvp);
+uint64_t nvpair_get_number(const nvpair_t *nvp);
+const char *nvpair_get_string(const nvpair_t *nvp);
+const nvlist_t *nvpair_get_nvlist(const nvpair_t *nvp);
+int nvpair_get_descriptor(const nvpair_t *nvp);
+const void *nvpair_get_binary(const nvpair_t *nvp, size_t *sizep);
+
+void nvpair_free(nvpair_t *nvp);
+
+#endif /* !_NV_IMPL_H_ */
Copied and modified: head/sys/contrib/libnv/nvlist.c (from r285128, head/sys/kern/subr_nvlist.c)
==============================================================================
--- head/sys/kern/subr_nvlist.c Sat Jul 4 08:40:48 2015 (r285128, copy source)
+++ head/sys/contrib/libnv/nvlist.c Sat Jul 4 16:33:37 2015 (r285139)
@@ -65,9 +65,10 @@ __FBSDID("$FreeBSD$");
#endif
#include <sys/nv.h>
-#include <sys/nv_impl.h>
-#include <sys/nvlist_impl.h>
-#include <sys/nvpair_impl.h>
+
+#include "nv_impl.h"
+#include "nvlist_impl.h"
+#include "nvpair_impl.h"
#ifndef HAVE_PJDLOG
#ifdef _KERNEL
Copied and modified: head/sys/contrib/libnv/nvlist_impl.h (from r285128, head/sys/sys/nvlist_impl.h)
==============================================================================
--- head/sys/sys/nvlist_impl.h Sat Jul 4 08:40:48 2015 (r285128, copy source)
+++ head/sys/contrib/libnv/nvlist_impl.h Sat Jul 4 16:33:37 2015 (r285139)
@@ -32,12 +32,12 @@
#ifndef _NVLIST_IMPL_H_
#define _NVLIST_IMPL_H_
+#include <sys/nv.h>
+
#ifndef _KERNEL
#include <stdint.h>
#endif
-#include "nv.h"
-
nvpair_t *nvlist_get_nvpair_parent(const nvlist_t *nvl);
const unsigned char *nvlist_unpack_header(nvlist_t *nvl,
const unsigned char *ptr, size_t nfds, bool *isbep, size_t *leftp);
Copied and modified: head/sys/contrib/libnv/nvpair.c (from r285128, head/sys/kern/subr_nvpair.c)
==============================================================================
--- head/sys/kern/subr_nvpair.c Sat Jul 4 08:40:48 2015 (r285128, copy source)
+++ head/sys/contrib/libnv/nvpair.c Sat Jul 4 16:33:37 2015 (r285139)
@@ -61,9 +61,10 @@ __FBSDID("$FreeBSD$");
#endif
#include <sys/nv.h>
-#include <sys/nv_impl.h>
-#include <sys/nvlist_impl.h>
-#include <sys/nvpair_impl.h>
+
+#include "nv_impl.h"
+#include "nvlist_impl.h"
+#include "nvpair_impl.h"
#ifndef HAVE_PJDLOG
#ifdef _KERNEL
Copied and modified: head/sys/contrib/libnv/nvpair_impl.h (from r285128, head/sys/sys/nvpair_impl.h)
==============================================================================
--- head/sys/sys/nvpair_impl.h Sat Jul 4 08:40:48 2015 (r285128, copy source)
+++ head/sys/contrib/libnv/nvpair_impl.h Sat Jul 4 16:33:37 2015 (r285139)
@@ -32,14 +32,13 @@
#ifndef _NVPAIR_IMPL_H_
#define _NVPAIR_IMPL_H_
+#include <sys/nv.h>
#include <sys/queue.h>
#ifndef _KERNEL
#include <stdint.h>
#endif
-#include "nv.h"
-
TAILQ_HEAD(nvl_head, nvpair);
void nvpair_assert(const nvpair_t *nvp);
More information about the svn-src-head
mailing list