summaryrefslogtreecommitdiffstats
path: root/stacks/lwip_stack/src/mem/lwip_mem_api.c
diff options
context:
space:
mode:
authorsharath reddy <bs.reddy@huawei.com>2019-06-04 11:53:49 +0530
committersharath reddy <bs.reddy@huawei.com>2019-06-04 20:38:30 +0530
commit2a42ad20b9730706ad371ae3787d4597c4e42276 (patch)
treefa01cd312586ea007468e7233f94c0ce53d75873 /stacks/lwip_stack/src/mem/lwip_mem_api.c
parenta826fe833d3f2a8fe2673fa05811fe1a22baf045 (diff)
Feature: 19.04 part-2DMM-2
Change-Id: I0b52a6bb67c25c7955d58e29eb81a3cc9efea9e9 Signed-off-by: sharath reddy <bs.reddy@huawei.com>
Diffstat (limited to 'stacks/lwip_stack/src/mem/lwip_mem_api.c')
-rw-r--r--stacks/lwip_stack/src/mem/lwip_mem_api.c86
1 files changed, 86 insertions, 0 deletions
diff --git a/stacks/lwip_stack/src/mem/lwip_mem_api.c b/stacks/lwip_stack/src/mem/lwip_mem_api.c
new file mode 100644
index 0000000..72dd9e5
--- /dev/null
+++ b/stacks/lwip_stack/src/mem/lwip_mem_api.c
@@ -0,0 +1,86 @@
+/*
+*
+* Copyright (c) 2018 Huawei Technologies Co.,Ltd.
+* 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 <sys/types.h>
+#include <unistd.h>
+#include <dlfcn.h>
+#include "nsfw_mem_api.h"
+#include "nstack_securec.h"
+#include "nsfw_ring_data.h"
+#include "nsfw_init_api.h"
+#include "nsfw_shmem_mng.h"
+
+#define NSFW_MEM_MBUF_CHECK_RET_ERR(mhandle, entype, desc) {\
+ if ((NULL == mhandle) || (entype >= NSFW_MEM_TYPEMAX)) \
+ { \
+ NSRTP_LOGERR("input para error]desc=%s,mhandle=%p,mtype=%d", desc, mhandle, entype); \
+ return NSFW_MEM_ERR; \
+ } \
+ }
+
+#define NSFW_MEM_MBUF_CHECK_RET_NULL(mhandle, entype, desc) {\
+ if ((NULL == mhandle) || (entype >= NSFW_MEM_TYPEMAX)) \
+ { \
+ NSRTP_LOGERR("input para error]desc=%s,mhandle=%p,mtype=%d", desc, mhandle, entype); \
+ return NULL; \
+ } \
+ }
+
+/*****************************************************************************
+* Prototype : nsfw_mem_mbf_alloc
+* Description : alloc a mbuf from mbuf pool
+* Input : mpool_handle mhandle
+* nsfw_mem_type entype
+* Output : None
+* Return Value : mbuf_handle
+* Calls :
+* Called By :
+*****************************************************************************/
+mbuf_handle nsfw_mem_mbf_alloc(mpool_handle mhandle, nsfw_mem_type entype)
+{
+ if (entype == NSFW_SHMEM)
+ {
+ return nsfw_shmem_mbfalloc(mhandle);
+ }
+
+ NSPOL_LOGINF(NS_LOG_STACKPOOL_ON, "mbf alloc fail] handle=%p, type=%d",
+ mhandle, entype);
+ return NULL;
+}
+
+/*****************************************************************************
+* Prototype : nsfw_mem_mbf_free
+* Description : put a mbuf backintp mbuf pool
+* Input : mbuf_handle mhandle
+* nsfw_mem_type entype
+* Output : None
+* Return Value : i32
+* Calls :
+* Called By :
+*
+*****************************************************************************/
+i32 nsfw_mem_mbf_free(mbuf_handle mhandle, nsfw_mem_type entype)
+{
+ if (entype == NSFW_SHMEM)
+ {
+ return nsfw_shmem_mbffree(mhandle);
+ }
+
+ NSPOL_LOGINF(NS_LOG_STACKPOOL_ON, "mbf free fail] handle=%p, type=%d",
+ mhandle, entype);
+ return NSFW_MEM_ERR;
+
+}