From fc10a7587b1a642748ae0fd69f08d92b4a902248 Mon Sep 17 00:00:00 2001 From: dimitri staessens Date: Wed, 12 Apr 2017 16:57:48 +0200 Subject: lib, ipcpd, irmd: Register hash instead of name All information passed over the IRMd/IPCP boundary for using IPC services (flow allocation, registration) is now hashed. This effectively fixes the shared namespace between DIFs and the IRMDs. This PR also fixes some API issues (adding const identifiers), shuffles the include headers a bit and some small bugs. --- include/ouroboros/btree.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 include/ouroboros/btree.h (limited to 'include/ouroboros/btree.h') diff --git a/include/ouroboros/btree.h b/include/ouroboros/btree.h new file mode 100644 index 00000000..f7c293c5 --- /dev/null +++ b/include/ouroboros/btree.h @@ -0,0 +1,47 @@ +/* + * Ouroboros - Copyright (C) 2016 - 2017 + * + * B-trees + * + * Dimitri Staessens + * Sander Vrijders + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * version 2.1 as published by the Free Software Foundation. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA + */ + +#ifndef OUROBOROS_LIB_BTREE_H +#define OUROBOROS_LIB_BTREE_H + +#include +#include + +struct btree; + +/* Create a B-tree of order k */ +struct btree * btree_create(size_t k); + +void btree_destroy(struct btree * tree); + +int btree_insert(struct btree * tree, + uint32_t key, + void * val); + +int btree_remove(struct btree * tree, + uint32_t key); + +void * btree_search(struct btree * tree, + uint32_t key); + +#endif /* OUROBOROS_LIB_BTREE_H */ -- cgit v1.2.3