diff options
author | dimitri staessens <[email protected]> | 2017-09-13 09:41:41 +0000 |
---|---|---|
committer | Sander Vrijders <[email protected]> | 2017-09-13 09:41:41 +0000 |
commit | 888d3dbe7c3844d2efe9d6bc9823630db5d47a3b (patch) | |
tree | ed79946a5ff22267857cd6d5a864d15339c942a1 /include | |
parent | 2e4cdc1f680d5ee9086adac76acebdec3bd1da3f (diff) | |
parent | 45c6615484ffe347654c34decb72ff1ef9bde0f3 (diff) | |
download | ouroboros-888d3dbe7c3844d2efe9d6bc9823630db5d47a3b.tar.gz ouroboros-888d3dbe7c3844d2efe9d6bc9823630db5d47a3b.zip |
Merged in dstaesse/ouroboros/be-rib-removal (pull request #589)
ipcpd: Revise internals of normal IPCP
Diffstat (limited to 'include')
-rw-r--r-- | include/ouroboros/CMakeLists.txt | 2 | ||||
-rw-r--r-- | include/ouroboros/cdap.h | 89 | ||||
-rw-r--r-- | include/ouroboros/notifier.h (renamed from include/ouroboros/nsm.h) | 34 | ||||
-rw-r--r-- | include/ouroboros/rib.h | 77 | ||||
-rw-r--r-- | include/ouroboros/rqueue.h | 71 | ||||
-rw-r--r-- | include/ouroboros/wrap/ouroboros.i | 4 |
6 files changed, 12 insertions, 265 deletions
diff --git a/include/ouroboros/CMakeLists.txt b/include/ouroboros/CMakeLists.txt index b6edac53..e94d5c6c 100644 --- a/include/ouroboros/CMakeLists.txt +++ b/include/ouroboros/CMakeLists.txt @@ -1,6 +1,5 @@ set(HEADER_FILES cacep.h - cdap.h cdefs.h dev.h errno.h @@ -8,7 +7,6 @@ set(HEADER_FILES fqueue.h ipcp.h irm.h - nsm.h proto.h qos.h) diff --git a/include/ouroboros/cdap.h b/include/ouroboros/cdap.h deleted file mode 100644 index 46ebca4b..00000000 --- a/include/ouroboros/cdap.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Ouroboros - Copyright (C) 2016 - 2017 - * - * The Common Distributed Application Protocol - * - * Dimitri Staessens <[email protected]> - * Sander Vrijders <[email protected]> - * - * 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., http://www.fsf.org/about/contact/. - */ - -#ifndef OUROBOROS_CDAP_H -#define OUROBOROS_CDAP_H - -#include <ouroboros/cdefs.h> - -#include <stdbool.h> -#include <stdint.h> -#include <unistd.h> - -#define F_SYNC 0x0001 - -#define INVALID_CDAP_KEY -1 -#define CDAP_PROTO "CDAP" - -enum cdap_opcode { - CDAP_READ = 0, - CDAP_WRITE, - CDAP_START, - CDAP_STOP, - CDAP_CREATE, - CDAP_DELETE -}; - -struct cdap; - -typedef int32_t cdap_key_t; - -__BEGIN_DECLS - -struct cdap * cdap_create(void); - -int cdap_destroy(struct cdap * instance); - -int cdap_add_flow(struct cdap * instance, - int fd); - -int cdap_del_flow(struct cdap * instance, - int fd); - -cdap_key_t * cdap_request_send(struct cdap * instance, - enum cdap_opcode code, - const char * name, - const void * data, - size_t len, - uint32_t flags); - -int cdap_reply_wait(struct cdap * instance, - cdap_key_t key, - uint8_t ** data, - size_t * len); - -cdap_key_t cdap_request_wait(struct cdap * instance, - enum cdap_opcode * opcode, - char ** name, - uint8_t ** data, - size_t * len, - uint32_t * flags); - -int cdap_reply_send(struct cdap * instance, - cdap_key_t key, - int result, - const void * data, - size_t len); - -__END_DECLS - -#endif /* OUROBOROS_CDAP_H */ diff --git a/include/ouroboros/nsm.h b/include/ouroboros/notifier.h index d89a2ee4..7a70f95f 100644 --- a/include/ouroboros/nsm.h +++ b/include/ouroboros/notifier.h @@ -1,7 +1,7 @@ /* * Ouroboros - Copyright (C) 2016 - 2017 * - * The API to instruct the global Namespace Manager + * Notifier event system using callbacks * * Dimitri Staessens <[email protected]> * Sander Vrijders <[email protected]> @@ -20,31 +20,21 @@ * Foundation, Inc., http://www.fsf.org/about/contact/. */ -#ifndef OUROBOROS_NSM_H -#define OUROBOROS_NSM_H +#ifndef OUROBOROS_LIB_NOTIFIER_H +#define OUROBOROS_LIB_NOTIFIER_H -#include <ouroboros/cdefs.h> +typedef void (* notifier_fn_t)(int event, + const void * o); -#include <stdint.h> -#include <unistd.h> +int notifier_init(void); -__BEGIN_DECLS +void notifier_fini(void); -int nsm_reg(char * name, - char ** dafs, - size_t dafs_size); +void notifier_event(int event, + const void * o); -int nsm_unreg(char * name, - char ** dafs, - size_t dafs_size); +int notifier_reg(notifier_fn_t callback); -/* - * dafs is an out parameter - * The amount of DAFs is returned - */ -ssize_t nsm_resolve(char * name, - char ** dafs); - -__END_DECLS +void notifier_unreg(notifier_fn_t callback); -#endif +#endif /* OUROBOROS_LIB_NOTIFIER_H */ diff --git a/include/ouroboros/rib.h b/include/ouroboros/rib.h deleted file mode 100644 index 281a4f20..00000000 --- a/include/ouroboros/rib.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Ouroboros - Copyright (C) 2016 - 2017 - * - * Resource Information Base - * - * Dimitri Staessens <[email protected]> - * Sander Vrijders <[email protected]> - * - * 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., http://www.fsf.org/about/contact/. - */ - -#ifndef OUROBOROS_LIB_RIB_H -#define OUROBOROS_LIB_RIB_H - -#include <sys/types.h> -#include <stdint.h> -#include <stdbool.h> - -#define RIB_ROOT "" - -#define PACK_HASH_ROOT 0x0001 -#define PACK_HASH_ALL 0x0002 - -#define UNPACK_CREATE 0x0001 - -int rib_init(void); - -void rib_fini(void); - -int rib_add(const char * parent, - const char * name); - -int rib_del(char * path); - -ssize_t rib_read(const char * path, - void * data, - size_t len); - -int rib_write(const char * path, - const void * data, - size_t len); - -int rib_put(const char * path, - void * data, - size_t len); - -bool rib_has(const char * path); - -ssize_t rib_children(const char * path, - char *** children); - -char * rib_path_append(char * path, - const char * name); - -char * rib_name_gen(void * data, - size_t len); - -ssize_t rib_pack(const char * path, - uint8_t ** buf, - uint32_t flags); - -int rib_unpack(uint8_t * packed, - size_t len, - uint32_t flags); - -#endif /* OUROBOROS_LIB_RIB_H */ diff --git a/include/ouroboros/rqueue.h b/include/ouroboros/rqueue.h deleted file mode 100644 index 601a4ab6..00000000 --- a/include/ouroboros/rqueue.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Ouroboros - Copyright (C) 2016 - 2017 - * - * RIB event queues - * - * Dimitri Staessens <[email protected]> - * Sander Vrijders <[email protected]> - * - * 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., http://www.fsf.org/about/contact/. - */ - -#ifndef OUROBOROS_RQUEUE_H -#define OUROBOROS_RQUEUE_H - -#include <stdbool.h> -#include <stdint.h> -#include <time.h> - -#define RO_READ 0x00000001 -#define RO_MODIFY 0x00000002 -#define RO_CREATE 0x00000004 -#define RO_DELETE 0x00000008 -#define RO_START 0x00000010 -#define RO_STOP 0x00000020 - -#define RO_NO_OPS 0x00000000 -#define RO_ALL_OPS 0xFFFFFFFF - -struct ro_set; - -struct rqueue; - -typedef struct ro_set ro_set_t; -typedef struct rqueue rqueue_t; - -ro_set_t * ro_set_create(void); - -void ro_set_destroy(ro_set_t * set); - -rqueue_t * rqueue_create(void); - -int rqueue_destroy(struct rqueue * rq); - -int ro_set_zero(ro_set_t * set); - -int ro_set_add(ro_set_t * set, - const char * path, - int32_t flags); - -int ro_set_del(ro_set_t * set, - const char * path); - -int32_t rqueue_next(rqueue_t * rq, - char * path); - -int rib_event_wait(ro_set_t * set, - rqueue_t * rq, - const struct timespec * timeout); - -#endif /* OUROBOROS_RQUEUE_H */ diff --git a/include/ouroboros/wrap/ouroboros.i b/include/ouroboros/wrap/ouroboros.i index ebda2453..db5e09f2 100644 --- a/include/ouroboros/wrap/ouroboros.i +++ b/include/ouroboros/wrap/ouroboros.i @@ -23,14 +23,12 @@ %{ #include "ouroboros/cdefs.h" #include "ouroboros/cacep.h" -#include "ouroboros/cdap.h" #include "ouroboros/dev.h" #include "ouroboros/errno.h" #include "ouroboros/fccntl.h" #include "ouroboros/fqueue.h" #include "ouroboros/irm.h" #include "ouroboros/ipcp.h" -#include "ouroboros/nsm.h" #include "ouroboros/qos.h" %} @@ -38,12 +36,10 @@ typedef int pid_t; %include "ouroboros/cdefs.h" %include "ouroboros/cacep.h" -%include "ouroboros/cdap.h" %include "ouroboros/dev.h" %include "ouroboros/errno.h" %include "ouroboros/fccntl.h" %include "ouroboros/fqueue.h" %include "ouroboros/irm.h" %include "ouroboros/ipcp.h" -%include "ouroboros/nsm.h" %include "ouroboros/qos.h" |