diff options
author | Sander Vrijders <[email protected]> | 2017-02-07 10:35:49 +0000 |
---|---|---|
committer | Sander Vrijders <[email protected]> | 2017-02-07 10:35:49 +0000 |
commit | 1bf2dd6aef3af6c81794c0551278373e44310b5c (patch) | |
tree | 2c5bb331021e0b15eb43827d05cd06082b6c8edb /src/ipcpd/normal/ro.h | |
parent | 129d5e06d627346cb30ce60cdf43f8a1ae023dcb (diff) | |
parent | d64f05e8bf1277132b648bda2e1175ad8c1d2d5c (diff) | |
download | ouroboros-1bf2dd6aef3af6c81794c0551278373e44310b5c.tar.gz ouroboros-1bf2dd6aef3af6c81794c0551278373e44310b5c.zip |
Merged in dstaesse/ouroboros/be-wip (pull request #362)
ipcpd, lib: Revise normal IPCP
Diffstat (limited to 'src/ipcpd/normal/ro.h')
-rw-r--r-- | src/ipcpd/normal/ro.h | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/src/ipcpd/normal/ro.h b/src/ipcpd/normal/ro.h deleted file mode 100644 index 6fda2adf..00000000 --- a/src/ipcpd/normal/ro.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Ouroboros - Copyright (C) 2016 - 2017 - * - * RIB objects - * - * Sander Vrijders <[email protected]> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * 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, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#ifndef OUROBOROS_IPCPD_NORMAL_RO_H -#define OUROBOROS_IPCPD_NORMAL_RO_H - -#include <stdbool.h> -#include <time.h> -#include <stdint.h> - -enum ro_recv_set { - NO_SYNC = 0, - NEIGHBORS, - ALL_MEMBERS -}; - -struct ro_attr { - bool enrol_sync; - enum ro_recv_set recv_set; - struct timespec expiry; -}; - -/* All RIB-objects have a pathname, separated by a slash. */ -/* Takes ownership of the data */ -int ro_create(const char * name, - struct ro_attr * attr, - uint8_t * data, - size_t len); - -int ro_attr_init(struct ro_attr * attr); - -int ro_delete(const char * name); - -int ro_write(const char * name, - uint8_t * data, - size_t len); - -/* Reader takes ownership of data */ -ssize_t ro_read(const char * name, - uint8_t ** data); - -ssize_t ro_children(const char * name, - char *** children); - -bool ro_exists(const char * name); - -/* Callback passes ownership of the data */ -struct ro_sub_ops { - void (* ro_created)(const char * name, - uint8_t * data, - size_t len); - void (* ro_updated)(const char * name, - uint8_t * data, - size_t len); - void (* ro_deleted)(const char * name); -}; - -/* Returns subscriber-id */ -int ro_subscribe(const char * name, - struct ro_sub_ops * ops); - -int ro_unsubscribe(int sid); - -#endif /* OUROBOROS_IPCPD_NORMAL_RO_H */ |