diff options
author | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-10-26 09:56:31 +0000 |
---|---|---|
committer | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-10-26 09:56:31 +0000 |
commit | cc64e52dee3559128293a17a669e94acb48f9309 (patch) | |
tree | e4ef544c225e3b118c8a73d868dccaa073b55f11 /src/ipcpd/normal/main.c | |
parent | 0fd97235ecf670f1fc6db2723c530934b5376458 (diff) | |
parent | f0646875d0bc941e339d305d0c68b13543cd6f2a (diff) | |
download | ouroboros-cc64e52dee3559128293a17a669e94acb48f9309.tar.gz ouroboros-cc64e52dee3559128293a17a669e94acb48f9309.zip |
Merged in sandervrijders/ouroboros/be-directory (pull request #280)
lib, irmd, ipcpd: Add name querying to IPCPs
Diffstat (limited to 'src/ipcpd/normal/main.c')
-rw-r--r-- | src/ipcpd/normal/main.c | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/src/ipcpd/normal/main.c b/src/ipcpd/normal/main.c index 32aabdf2..2402972f 100644 --- a/src/ipcpd/normal/main.c +++ b/src/ipcpd/normal/main.c @@ -28,6 +28,11 @@ #include <ouroboros/ipcp-dev.h> #include <ouroboros/time_utils.h> +#include "fmgr.h" +#include "ribmgr.h" +#include "ipcp.h" +#include "frct.h" + #include <stdbool.h> #include <signal.h> #include <stdlib.h> @@ -35,11 +40,6 @@ #include <string.h> #include <errno.h> -#include "fmgr.h" -#include "ribmgr.h" -#include "ipcp.h" -#include "frct.h" - #define THIS_TYPE IPCP_NORMAL /* global for trapping signal */ @@ -72,7 +72,7 @@ static int normal_ipcp_name_reg(char * name) { pthread_rwlock_rdlock(&ipcpi.state_lock); - if (ipcp_data_add_reg_entry(ipcpi.data, name)) { + if (ipcp_data_reg_add_entry(ipcpi.data, name)) { pthread_rwlock_unlock(&ipcpi.state_lock); LOG_ERR("Failed to add %s to local registry.", name); return -1; @@ -89,13 +89,28 @@ static int normal_ipcp_name_unreg(char * name) { pthread_rwlock_rdlock(&ipcpi.state_lock); - ipcp_data_del_reg_entry(ipcpi.data, name); + ipcp_data_reg_del_entry(ipcpi.data, name); pthread_rwlock_unlock(&ipcpi.state_lock); return 0; } +static int normal_ipcp_name_query(char * name) +{ + LOG_MISSING; + + (void) name; + + /* + * NOTE: For the moment we just return -1, + * for testing purposes we may return zero here + * for certain names. + */ + + return -1; +} + static int normal_ipcp_enroll(char * dif_name) { struct timespec timeout = {(ENROLL_TIMEOUT / 1000), @@ -165,6 +180,7 @@ static struct ipcp_ops normal_ops = { .ipcp_enroll = normal_ipcp_enroll, .ipcp_name_reg = normal_ipcp_name_reg, .ipcp_name_unreg = normal_ipcp_name_unreg, + .ipcp_name_query = normal_ipcp_name_query, .ipcp_flow_alloc = fmgr_np1_alloc, .ipcp_flow_alloc_resp = fmgr_np1_alloc_resp, .ipcp_flow_dealloc = fmgr_np1_dealloc |