diff --git a/Knot.files b/Knot.files index 55671009c667992f3f623d18dbb89194ff011f1a..38763eee6619802df0c10c6290a78d47730c4454 100644 --- a/Knot.files +++ b/Knot.files @@ -80,6 +80,8 @@ src/contrib/ucw/array-sort.h src/contrib/ucw/binsearch.h src/contrib/ucw/heap.c src/contrib/ucw/heap.h +src/contrib/ucw/lists.c +src/contrib/ucw/lists.h src/contrib/ucw/mempool.c src/contrib/ucw/mempool.h src/contrib/wire.h @@ -380,8 +382,6 @@ src/libknot/dnssec/rrset-sign.h src/libknot/errcode.h src/libknot/error.c src/libknot/error.h -src/libknot/internal/lists.c -src/libknot/internal/lists.h src/libknot/internal/namedb/namedb.h src/libknot/internal/namedb/namedb_lmdb.c src/libknot/internal/namedb/namedb_lmdb.h diff --git a/src/Makefile.am b/src/Makefile.am index a74228b63fab29e63baeff7e9c701f89992e5ae9..42c1cdb035fddd31fd79b295eafe5bae959a4ac4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -46,6 +46,7 @@ nobase_libcontrib_la_HEADERS = \ contrib/ucw/array-sort.h \ contrib/ucw/binsearch.h \ contrib/ucw/heap.h \ + contrib/ucw/lists.h \ contrib/ucw/mempool.h # dynamic: libknot headers @@ -90,7 +91,6 @@ nobase_libknot_la_HEADERS = \ libknot_internal_ladir = $(includedir) nobase_libknot_internal_la_HEADERS = \ - libknot/internal/lists.h \ libknot/internal/namedb/namedb.h \ libknot/internal/namedb/namedb_lmdb.h \ libknot/internal/namedb/namedb_trie.h @@ -118,6 +118,7 @@ libcontrib_la_SOURCES = \ contrib/openbsd/strlcat.c \ contrib/openbsd/strlcpy.c \ contrib/ucw/heap.c \ + contrib/ucw/lists.c \ contrib/ucw/mempool.c \ $(nobase_libcontrib_la_HEADERS) @@ -160,7 +161,6 @@ libknot_yparser_la_SOURCES = \ $(nobase_libknot_yparser_la_HEADERS) libknot_internal_la_SOURCES = \ - libknot/internal/lists.c \ libknot/internal/namedb/namedb_lmdb.c \ libknot/internal/namedb/namedb_trie.c \ $(nobase_libknot_internal_la_HEADERS) diff --git a/src/libknot/internal/lists.c b/src/contrib/ucw/lists.c similarity index 96% rename from src/libknot/internal/lists.c rename to src/contrib/ucw/lists.c index 1b25cb85b6b36894c2a8ce62c51eeee8fd37460c..1b5e2d366e0c1d5a56d4fa0ffd5190fb8af216cd 100644 --- a/src/libknot/internal/lists.c +++ b/src/contrib/ucw/lists.c @@ -24,11 +24,9 @@ * similar to that used in the &fib structure. */ -#define _BIRD_LISTS_C_ - #include <stdlib.h> #include <string.h> -#include "libknot/internal/lists.h" +#include "contrib/ucw/lists.h" #include "contrib/mempattern.h" /** @@ -38,7 +36,7 @@ * * add_tail() takes a node @n and appends it at the end of the list @l. */ -LIST_INLINE void +void add_tail(list_t *l, node_t *n) { node_t *z = l->tail; @@ -56,7 +54,7 @@ add_tail(list_t *l, node_t *n) * * add_head() takes a node @n and prepends it at the start of the list @l. */ -LIST_INLINE void +void add_head(list_t *l, node_t *n) { node_t *z = l->head; @@ -75,7 +73,7 @@ add_head(list_t *l, node_t *n) * Inserts a node @n to a linked list after an already inserted * node @after. */ -LIST_INLINE void +void insert_node(node_t *n, node_t *after) { node_t *z = after->next; @@ -92,7 +90,7 @@ insert_node(node_t *n, node_t *after) * * Removes a node @n from the list it's linked in. */ -LIST_INLINE void +void rem_node(node_t *n) { node_t *z = n->prev; @@ -111,7 +109,7 @@ rem_node(node_t *n) * init_list() takes a &list structure and initializes its * fields, so that it represents an empty list. */ -LIST_INLINE void +void init_list(list_t *l) { l->head = (node_t *) &l->null; @@ -127,7 +125,7 @@ init_list(list_t *l) * This function appends all elements of the list @l to * the list @to in constant time. */ -LIST_INLINE void +void add_tail_list(list_t *to, list_t *l) { node_t *p = to->tail; diff --git a/src/libknot/internal/lists.h b/src/contrib/ucw/lists.h similarity index 71% rename from src/libknot/internal/lists.h rename to src/contrib/ucw/lists.h index b0a726a554206ee21e72c0bcf30513022ce803ec..3713a5ea230f97beb74072e123dc2c7180de2192 100644 --- a/src/libknot/internal/lists.h +++ b/src/contrib/ucw/lists.h @@ -1,18 +1,3 @@ -/* Copyright (C) 2011 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - */ /* * BIRD Library -- Linked Lists * @@ -36,7 +21,8 @@ * tail tail_node.prev */ -#include <string.h> // size_t +#include <string.h> +#include "libknot/mm_ctx.h" typedef struct node { struct node *next, *prev; @@ -82,8 +68,6 @@ void insert_node(node_t *, node_t *); void list_dup(list_t *dst, list_t *src, size_t itemsz); size_t list_size(const list_t *); -#include <stdbool.h> -#include "libknot/mm_ctx.h" /*! * \brief Generic pointer list implementation. */ @@ -96,13 +80,3 @@ ptrnode_t *ptrlist_add(list_t *, void *, knot_mm_t *); void ptrlist_free(list_t *, knot_mm_t *); void ptrlist_rem(ptrnode_t *node, knot_mm_t *mm); -/*! \todo This is broken atm. -#ifndef _BIRD_LISTS_C_ -#define LIST_INLINE extern inline -#include "knot/lib/lists.c" -#undef LIST_INLINE -#else -#define LIST_INLINE -#endif -*/ -#define LIST_INLINE diff --git a/src/knot/common/log.c b/src/knot/common/log.c index fdf436b696ce928be4d37b8bf20a2ed2925daafe..eb40e72de32d46330872e1b2c8daba51551cf660 100644 --- a/src/knot/common/log.c +++ b/src/knot/common/log.c @@ -31,9 +31,9 @@ #include "knot/common/log.h" #include "libknot/libknot.h" -#include "libknot/internal/lists.h" #include "contrib/macros.h" #include "contrib/openbsd/strlcpy.h" +#include "contrib/ucw/lists.h" /* Single log message buffer length (one line). */ #define LOG_BUFLEN 512 diff --git a/src/knot/conf/base.h b/src/knot/conf/base.h index 174926426ecac3d5d126bb2184a8a190ef5b4c2f..6ab15a63ac34054082f6d219523d9e6b085b4a4b 100644 --- a/src/knot/conf/base.h +++ b/src/knot/conf/base.h @@ -26,9 +26,9 @@ #pragma once #include "libknot/libknot.h" -#include "libknot/internal/lists.h" #include "libknot/internal/namedb/namedb_lmdb.h" #include "libknot/yparser/ypscheme.h" +#include "contrib/ucw/lists.h" /*! Default template identifier. */ #define CONF_DEFAULT_ID ((uint8_t *)"\x08""default\0") diff --git a/src/knot/ctl/estimator.c b/src/knot/ctl/estimator.c index 1e92e50326fcfcaefe4ef15207100bcc6dafdac6..20569777e1dcae70129bd53740de0fd2b1b5f4a6 100644 --- a/src/knot/ctl/estimator.c +++ b/src/knot/ctl/estimator.c @@ -20,10 +20,10 @@ #include "knot/zone/node.h" #include "libknot/errcode.h" #include "libknot/dname.h" -#include "libknot/internal/lists.h" #include "libknot/descriptor.h" #include "contrib/macros.h" #include "contrib/string.h" +#include "contrib/ucw/lists.h" // Addition constants used for tweaking, mostly malloc overhead enum estim_consts { diff --git a/src/knot/nameserver/axfr.c b/src/knot/nameserver/axfr.c index d56f19d528e0c29567d2869ec33bc4b7acc12bc8..7ecfecc40d09052f04647594f307d7e419c9c761 100644 --- a/src/knot/nameserver/axfr.c +++ b/src/knot/nameserver/axfr.c @@ -25,9 +25,9 @@ #include "knot/common/log.h" #include "libknot/libknot.h" #include "libknot/descriptor.h" -#include "libknot/internal/lists.h" #include "contrib/print.h" #include "contrib/sockaddr.h" +#include "contrib/ucw/lists.h" /* AXFR context. @note aliasing the generic xfr_proc */ struct axfr_proc { diff --git a/src/knot/nameserver/query_module.h b/src/knot/nameserver/query_module.h index 52ebe7633c5f0cfa385beb313cdc9c5eef959988..702b0c89f2e528590ca3b318d12b3213873a1f4d 100644 --- a/src/knot/nameserver/query_module.h +++ b/src/knot/nameserver/query_module.h @@ -41,10 +41,10 @@ #pragma once #include "libknot/libknot.h" -#include "libknot/internal/lists.h" #include "libknot/mm_ctx.h" #include "knot/conf/conf.h" #include "knot/conf/tools.h" +#include "contrib/ucw/lists.h" #define MODULE_ERR(mod, msg, ...) \ log_error("module '%.*s', " msg, mod[0], mod + 1, ##__VA_ARGS__) diff --git a/src/knot/server/server.h b/src/knot/server/server.h index 0599bfbf07541389340517c04adb9933b94f4605..73c2cd803ba26c7bcfbedd050d0f64906043afcc 100644 --- a/src/knot/server/server.h +++ b/src/knot/server/server.h @@ -32,13 +32,13 @@ #include "sys/socket.h" #include "knot/common/evsched.h" -#include "libknot/internal/lists.h" #include "knot/common/fdset.h" #include "libknot/internal/namedb/namedb.h" #include "knot/server/dthreads.h" #include "knot/server/rrl.h" #include "knot/worker/pool.h" #include "knot/zone/zonedb.h" +#include "contrib/ucw/lists.h" /* Forwad declarations. */ struct iface; diff --git a/src/knot/updates/acl.h b/src/knot/updates/acl.h index 4dd8aec65d05b890c55c169e0676c15fba76bc4e..6d3cb23236671609c245637976d329c2dd3019fa 100644 --- a/src/knot/updates/acl.h +++ b/src/knot/updates/acl.h @@ -26,8 +26,8 @@ #include <sys/socket.h> -#include "libknot/internal/lists.h" #include "contrib/mempattern.h" +#include "contrib/ucw/lists.h" #include "libknot/rrtype/tsig.h" #include "knot/conf/conf.h" diff --git a/src/knot/updates/apply.c b/src/knot/updates/apply.c index a7fc95655365d7bc79df77e77d9fcd5ee6bf8e7e..4a83a343a60bbeb8ae91f5860d3a66d0a49f23fe 100644 --- a/src/knot/updates/apply.c +++ b/src/knot/updates/apply.c @@ -22,8 +22,8 @@ #include "knot/zone/zonefile.h" #include "knot/common/log.h" #include "libknot/libknot.h" -#include "libknot/internal/lists.h" #include "contrib/macros.h" +#include "contrib/ucw/lists.h" /* --------------------------- Update cleanup ------------------------------- */ diff --git a/src/knot/updates/changesets.h b/src/knot/updates/changesets.h index d6ea0ce23efd06e3c3e14b0d11b32b1d07f1c01e..d76389014893d32ac7f8fa3deaae5395a7c26afa 100644 --- a/src/knot/updates/changesets.h +++ b/src/knot/updates/changesets.h @@ -28,7 +28,7 @@ #include "libknot/rrset.h" #include "knot/zone/contents.h" -#include "libknot/internal/lists.h" +#include "contrib/ucw/lists.h" /*! \brief One zone change, from 'soa_from' to 'soa_to'. */ typedef struct { diff --git a/src/knot/updates/ddns.c b/src/knot/updates/ddns.c index df6d8651d2ed512c8d9c7cc5af1ccc697c0f9941..c0d7195b0c03161a0e93d68c9e5b463711ffb300 100644 --- a/src/knot/updates/ddns.c +++ b/src/knot/updates/ddns.c @@ -28,7 +28,7 @@ #include "libknot/consts.h" #include "libknot/rrtype/soa.h" #include "libknot/descriptor.h" -#include "libknot/internal/lists.h" +#include "contrib/ucw/lists.h" /* ----------------------------- prereq check ------------------------------- */ diff --git a/src/knot/updates/zone-update.c b/src/knot/updates/zone-update.c index ed2de4f41fd45719bb6fd1ef0423cd50779361f3..64b2f400c2a97451570985a3e4634a9e62afcfb2 100644 --- a/src/knot/updates/zone-update.c +++ b/src/knot/updates/zone-update.c @@ -20,8 +20,7 @@ #include "knot/dnssec/zone-events.h" #include "knot/updates/apply.h" #include "knot/zone/serial.h" - -#include "libknot/internal/lists.h" +#include "contrib/ucw/lists.h" #include "contrib/ucw/mempool.h" static int add_to_node(zone_node_t *node, const zone_node_t *add_node, diff --git a/src/knot/worker/queue.h b/src/knot/worker/queue.h index 3f08998308afa71cc63e89235efc582bcd0101de..d60d9d6624b5d03704af4bf5abe682f88d747fb6 100644 --- a/src/knot/worker/queue.h +++ b/src/knot/worker/queue.h @@ -16,7 +16,7 @@ #pragma once -#include "libknot/internal/lists.h" +#include "contrib/ucw/lists.h" struct task; typedef void (*task_cb)(struct task *); diff --git a/src/knot/zone/zone.c b/src/knot/zone/zone.c index 8e64721c1e779d65bf60f526317f8c0cadb89ce0..a8b18f82e827f4121280a8fc2392172a08a5b34f 100644 --- a/src/knot/zone/zone.c +++ b/src/knot/zone/zone.c @@ -21,9 +21,7 @@ #include <urcu.h> #include "dnssec/random.h" -#include "libknot/descriptor.h" #include "knot/common/evsched.h" -#include "libknot/internal/lists.h" #include "knot/common/log.h" #include "knot/common/trim.h" #include "knot/zone/node.h" @@ -33,12 +31,11 @@ #include "knot/zone/contents.h" #include "knot/updates/acl.h" #include "knot/updates/apply.h" -#include "libknot/processing/requestor.h" #include "knot/nameserver/process_query.h" #include "libknot/libknot.h" -#include "libknot/dname.h" +#include "libknot/processing/requestor.h" #include "contrib/string.h" -#include "libknot/rrtype/soa.h" +#include "contrib/ucw/lists.h" #define JOURNAL_SUFFIX ".diff.db" diff --git a/src/libknot/processing/overlay.c b/src/libknot/processing/overlay.c index 18dc4c73ee8322ca8cc19fb342a1452d647c9669..b050648f75b1f8322bc353c0704a702344683552 100644 --- a/src/libknot/processing/overlay.c +++ b/src/libknot/processing/overlay.c @@ -17,8 +17,8 @@ #include "libknot/attribute.h" #include "libknot/processing/overlay.h" #include "libknot/errcode.h" -#include "libknot/internal/lists.h" #include "contrib/mempattern.h" +#include "contrib/ucw/lists.h" #define LAYERS ((list_t *)overlay->layers) diff --git a/src/libknot/processing/requestor.c b/src/libknot/processing/requestor.c index d34a07c42928a3971425f28933cccf348ab2f6ec..866e8019f31b45cd9fd5ea89c8056c5c21977b78 100644 --- a/src/libknot/processing/requestor.c +++ b/src/libknot/processing/requestor.c @@ -19,10 +19,10 @@ #include "libknot/attribute.h" #include "libknot/processing/requestor.h" #include "libknot/errcode.h" -#include "libknot/internal/lists.h" #include "contrib/mempattern.h" #include "contrib/net.h" #include "contrib/sockaddr.h" +#include "contrib/ucw/lists.h" #define PENDING ((list_t *)requestor->pending) diff --git a/src/utils/common/exec.c b/src/utils/common/exec.c index 74e710a8a1f9dc83b23a8631e4370ba48c486f45..0448c38e970db303b60ac895803a12f88e54e594 100644 --- a/src/utils/common/exec.c +++ b/src/utils/common/exec.c @@ -24,11 +24,11 @@ #include "utils/common/netio.h" #include "utils/common/params.h" #include "libknot/libknot.h" -#include "libknot/internal/lists.h" #include "contrib/lookup.h" #include "contrib/print.h" #include "contrib/sockaddr.h" #include "contrib/openbsd/strlcat.h" +#include "contrib/ucw/lists.h" #include "contrib/wire_ctx.h" static lookup_table_t rtypes[] = { diff --git a/src/utils/common/netio.h b/src/utils/common/netio.h index e8bed18f01a7c7c6e8b9dc06437b17b6a1637a81..bbf00c5338116ac48fd123759d4ac24fee9bb432 100644 --- a/src/utils/common/netio.h +++ b/src/utils/common/netio.h @@ -31,7 +31,6 @@ #include <sys/socket.h> #include "utils/common/params.h" -#include "libknot/internal/lists.h" /*! \brief Structure containing server information. */ typedef struct { diff --git a/src/utils/common/params.h b/src/utils/common/params.h index a83822ede4c95a71da560daa9aa1fff65d406ce6..1e8aadd27f1848f75085e18b23e7f59a1f49e6c4 100644 --- a/src/utils/common/params.h +++ b/src/utils/common/params.h @@ -31,7 +31,7 @@ #include <stdbool.h> #include "libknot/libknot.h" -#include "libknot/internal/lists.h" +#include "contrib/ucw/lists.h" #define DEFAULT_IPV4_NAME "127.0.0.1" #define DEFAULT_IPV6_NAME "::1" diff --git a/src/utils/common/resolv.c b/src/utils/common/resolv.c index 7313555bd0e9898d392def08f4069b5a60d2ec63..f70df6102c9bf9314208ebd65ee33c3ac4cb929c 100644 --- a/src/utils/common/resolv.c +++ b/src/utils/common/resolv.c @@ -21,7 +21,7 @@ #include "utils/common/msg.h" #include "utils/common/params.h" #include "libknot/libknot.h" -#include "libknot/internal/lists.h" +#include "contrib/ucw/lists.h" #define RESOLV_FILE "/etc/resolv.conf" diff --git a/src/utils/common/resolv.h b/src/utils/common/resolv.h index 1c8e1df9d093584bdc5f2c7ffa1bfed14a557408..f0d8717034f5a2bbaffd75bfa6eb7d66b5d64dc5 100644 --- a/src/utils/common/resolv.h +++ b/src/utils/common/resolv.h @@ -27,7 +27,7 @@ #pragma once #include "utils/common/netio.h" -#include "libknot/internal/lists.h" +#include "contrib/ucw/lists.h" srv_info_t* parse_nameserver(const char *str, const char *def_port); diff --git a/src/utils/kdig/kdig_exec.c b/src/utils/kdig/kdig_exec.c index f10336fc77468081f5de912f14c0058215652896..1983cbc3ac3d93ea35ed521546200ab5490b6a15 100644 --- a/src/utils/kdig/kdig_exec.c +++ b/src/utils/kdig/kdig_exec.c @@ -25,9 +25,9 @@ #include "utils/common/netio.h" #include "utils/common/sign.h" #include "libknot/libknot.h" -#include "libknot/internal/lists.h" #include "contrib/sockaddr.h" #include "contrib/print.h" +#include "contrib/ucw/lists.h" #if USE_DNSTAP # include "contrib/dnstap/convert.h" diff --git a/src/utils/kdig/kdig_params.c b/src/utils/kdig/kdig_params.c index fc8b9f595f6f8faaf8c60560cd2726290e9a036e..c871153ccfd9217f0d6bdfdcc85eaa40ed558f0f 100644 --- a/src/utils/kdig/kdig_params.c +++ b/src/utils/kdig/kdig_params.c @@ -27,8 +27,8 @@ #include "utils/common/resolv.h" #include "libknot/descriptor.h" #include "libknot/libknot.h" -#include "libknot/internal/lists.h" #include "contrib/sockaddr.h" +#include "contrib/ucw/lists.h" #define DEFAULT_RETRIES_DIG 2 #define DEFAULT_TIMEOUT_DIG 5 diff --git a/src/utils/khost/khost_params.c b/src/utils/khost/khost_params.c index dce0485e429b35c5b4688bc1ae933b172e153915..46b57cc736dc2c7e98512b63c1ed5518a0a1f3ce 100644 --- a/src/utils/khost/khost_params.c +++ b/src/utils/khost/khost_params.c @@ -26,7 +26,7 @@ #include "utils/common/params.h" #include "utils/common/resolv.h" #include "libknot/libknot.h" -#include "libknot/internal/lists.h" +#include "contrib/ucw/lists.h" #define DEFAULT_RETRIES_HOST 1 #define DEFAULT_TIMEOUT_HOST 2 diff --git a/src/utils/knsupdate/knsupdate_params.h b/src/utils/knsupdate/knsupdate_params.h index 494de349106eee5ebf69e85f3ae6eb8b70df4206..66d43c59d8047134361bb54cfcad4a1ba7f1bb22 100644 --- a/src/utils/knsupdate/knsupdate_params.h +++ b/src/utils/knsupdate/knsupdate_params.h @@ -32,8 +32,8 @@ #include "utils/common/params.h" #include "utils/common/sign.h" #include "libknot/libknot.h" -#include "libknot/internal/lists.h" #include "zscanner/scanner.h" +#include "contrib/ucw/lists.h" #define KNSUPDATE_VERSION "knsupdate, version " PACKAGE_VERSION "\n"