diff options
author | Luca Muscariello <lumuscar+fdio@cisco.com> | 2019-03-23 14:13:53 +0100 |
---|---|---|
committer | Angelo Mantellini <manangel@cisco.com> | 2019-03-24 14:11:17 +0100 |
commit | eb323e056e747d71867cf965434811c1de925de2 (patch) | |
tree | 23a6096823d795efe448559cf0409a18ab47932d /hicn-light/src/utils/punting.c | |
parent | 43562f9f02d35e5d540ab4028a0326c0c7cd4898 (diff) |
[HICN-141] Definition of a C API for hicn-light
Change-Id: Id861f0abe58b1e3c9ba8cc76701da0f9c6801748
Signed-off-by: Luca Muscariello <lumuscar+fdio@cisco.com>
Signed-off-by: Angelo Mantellini <manangel@cisco.com>
Diffstat (limited to 'hicn-light/src/utils/punting.c')
-rw-r--r-- | hicn-light/src/utils/punting.c | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/hicn-light/src/utils/punting.c b/hicn-light/src/utils/punting.c deleted file mode 100644 index 9352732fe..000000000 --- a/hicn-light/src/utils/punting.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2017-2019 Cisco and/or its affiliates. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <src/config.h> -#include <stdio.h> - -#include <parc/assert/parc_Assert.h> - -#include <parc/algol/parc_Memory.h> -#include <src/utils/punting.h> - -struct punting { - char *symbolic; - Address *prefix; - uint32_t len; -}; - -Punting *puntingCreate(const char *listenerName, Address *prefix, - uint32_t len) { - parcAssertNotNull(listenerName, "Parameter listenerName must be non-null"); - parcAssertNotNull(prefix, "Parameter prefix must be non-null"); - - Punting *punting = parcMemory_AllocateAndClear(sizeof(Punting)); - if (punting) { - punting->symbolic = - parcMemory_StringDuplicate(listenerName, strlen(listenerName)); - punting->prefix = addressCopy(prefix); - punting->len = len; - } - - return punting; -} - -void puntingRelease(Punting **puntingPtr) { - parcAssertNotNull(puntingPtr, - "Parameter puntingPtr must be non-null double pointer"); - parcAssertNotNull(*puntingPtr, - "Parameter puntingPtr dereference to non-null pointer"); - - Punting *punting = *puntingPtr; - - if (punting->symbolic) { - parcMemory_Deallocate((void **)&punting->symbolic); - } - - if (punting->prefix) { - addressDestroy(&punting->prefix); - } - - parcMemory_Deallocate((void **)&punting); - *puntingPtr = NULL; -} - -bool puntingEquals(const Punting *a, const Punting *b) { - if ((a == NULL && b == NULL) || a == b) { - // both null or identically equal - return true; - } - - if (a == NULL || b == NULL) { - // only one is null - return false; - } - - if ((strcmp(a->symbolic, b->symbolic) == 0) && - (addressEquals(a->prefix, b->prefix)) && (a->len == b->len)) { - return true; - } - - return false; -} - -const char *puntingGetSymbolicName(const Punting *punting) { - parcAssertNotNull(punting, "Parameter listener must be non-null"); - return punting->symbolic; -} - -Address *puntingGetAddress(const Punting *punting) { - parcAssertNotNull(punting, "Parameter listener must be non-null"); - return punting->prefix; -} - -uint32_t puntingPrefixLen(const Punting *punting) { - parcAssertNotNull(punting, "Parameter listener must be non-null"); - return punting->len; -} |