summaryrefslogtreecommitdiffstats
path: root/stacks/lwip_stack/src/include/nsfw_msg_api.h
diff options
context:
space:
mode:
Diffstat (limited to 'stacks/lwip_stack/src/include/nsfw_msg_api.h')
-rw-r--r--stacks/lwip_stack/src/include/nsfw_msg_api.h309
1 files changed, 0 insertions, 309 deletions
diff --git a/stacks/lwip_stack/src/include/nsfw_msg_api.h b/stacks/lwip_stack/src/include/nsfw_msg_api.h
deleted file mode 100644
index 85dca49..0000000
--- a/stacks/lwip_stack/src/include/nsfw_msg_api.h
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
-*
-* 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.
-*/
-
-#ifndef MSG_API_H
-#define MSG_API_H
-#include "nsfw_msg.h"
-#include "nsfw_mem_api.h"
-#include "nstack_log.h"
-#include "nsfw_rti.h"
-#include "common_mem_api.h"
-#include "nsfw_recycle_api.h"
-#include "common_pal_bitwide_adjust.h"
-
-#ifdef __cplusplus
-/* *INDENT-OFF* */
-extern "C" {
-/* *INDENT-ON* */
-#endif
-
-#define SET_MSG_ERR(m, error) ((m)->param.err = (error))
-#define GET_MSG_ERR(m) ((m)->param.err)
-
-/* for sync message from sbr we should signal sem */
-#define SYNC_MSG_ACK(m) sys_sem_s_signal(&((m)->param.op_completed))
-
-/* for async message from sbr we should free the message */
-#define ASYNC_MSG_FREE(m) msg_free(m)
-
-#define MSG_ENTRY(_ptr, _type, _member) container_of((void *)_ptr, _type, _member)
-
-#ifndef NSTACK_STATIC_CHECK
-/*****************************************************************************
-* Prototype : msg_malloc
-* Description : malloc msg
-* Input : mring_handle mhandle
-* Output : None
-* Return Value : static inline data_com_msg*
-* Calls :
-* Called By :
-*****************************************************************************/
-static inline data_com_msg *
-msg_malloc (mring_handle mhandle)
-{
- if (!mhandle)
- {
- NSFW_LOGERR ("mhandle is null");
- return NULL;
- }
-
- data_com_msg *m = NULL;
- if (nsfw_mem_ring_dequeue (mhandle, (void **) &m) != 1)
- {
- return NULL;
- }
-
- m->param.recycle_pid = get_sys_pid ();
- res_alloc (&m->param.res_chk);
- return m;
-}
-
-/*****************************************************************************
-* Prototype : msg_free
-* Description : free msg
-* Input : data_com_msg* m
-* mring_handle mhandle
-* Output : None
-* Return Value : static inline void
-* Calls :
-* Called By :
-*****************************************************************************/
-static inline void
-msg_free (data_com_msg * m)
-{
- if (!m)
- {
- NSFW_LOGERR ("m is NULL");
- return;
- }
-
- mring_handle mhandle = ADDR_SHTOL (m->param.msg_from);
- if (!mhandle)
- {
- return;
- }
-
- if (res_free (&m->param.res_chk))
- {
- NSFW_LOGERR ("m refree!]m=%p", m);
- return;
- }
-
- m->param.recycle_pid = 0;
-
- if (nsfw_mem_ring_enqueue (mhandle, (void *) m) != 1)
- {
- NSFW_LOGERR ("nsfw_mem_ring_enqueue failed,this can not happen");
- }
-}
-
-/*****************************************************************************
-* Prototype : msg_post
-* Description : post msg
-* Input : data_com_msg* m
-* mring_handle mhandle
-* Output : None
-* Return Value : static inline int
-* Calls :
-* Called By :
-*****************************************************************************/
-static inline int
-msg_post (data_com_msg * m, mring_handle mhandle)
-{
- int ret;
- if (!m || !mhandle)
- {
- NSFW_LOGERR ("param is not ok]m=%p,mhandle=%p", m, mhandle);
- return -1;
- }
-
- while (1)
- {
- ret = nsfw_mem_ring_enqueue (mhandle, (void *) m);
- switch (ret)
- {
- case 1:
- if (MSG_SYN_POST == m->param.op_type)
- {
- sys_arch_sem_s_wait (&m->param.op_completed, 0);
- }
-
- return 0;
- case 0:
- continue;
- default:
- nsfw_rti_stat_macro (NSFW_STAT_PRIMARY_ENQ_FAIL, m);
- return -1;
- }
- }
-}
-
-#define MSG_POST_FAILED 50
-/*****************************************************************************
-* Prototype : msg_post_with_lock_rel
-* Description : post msg to tcpip thread in mgrcom thread
-* Input : data_com_msg* m
-* mring_handle mhandle
-* Output : None
-* Return Value : static inline int
-* Calls :
-* Called By :
-*****************************************************************************/
-static inline int
-msg_post_with_lock_rel (data_com_msg * m, mring_handle mhandle)
-{
- int ret;
- int try_count = 0;
- if (!m || !mhandle)
- {
- NSFW_LOGERR ("param is not ok]m=%p,mhandle=%p", m, mhandle);
- return -1;
- }
-
- while (1)
- {
- ret = nsfw_mem_ring_enqueue (mhandle, (void *) m);
- switch (ret)
- {
- case 1:
- if (MSG_SYN_POST == m->param.op_type)
- {
- sys_arch_sem_s_wait (&m->param.op_completed, 0);
- }
-
- return 0;
- case 0:
- try_count++;
- if (try_count > MSG_POST_FAILED)
- {
- try_count = 0;
- nsfw_recycle_rechk_lock ();
- }
- sys_sleep_ns (0, 1000000);
- continue;
- default:
- nsfw_rti_stat_macro (NSFW_STAT_PRIMARY_ENQ_FAIL, m);
- return -1;
- }
- }
-}
-
-/*****************************************************************************
-* Prototype : msg_try_post
-* Description : try post msg
-* Input : data_com_msg* m
-* mring_handle mhandle
-* Output : None
-* Return Value : static inline int
-* Calls :
-* Called By :
-*****************************************************************************/
-static inline int
-msg_try_post (data_com_msg * m, mring_handle mhandle)
-{
- if (!m || !mhandle)
- {
- NSFW_LOGERR ("param is not ok]m=%p,mhandle=%p", m, mhandle);
- return -1;
- }
-
- int ret = nsfw_mem_ring_enqueue (mhandle, (void *) m);
- if (1 == ret)
- {
- if (MSG_SYN_POST == m->param.op_type)
- {
- sys_arch_sem_s_wait (&m->param.op_completed, 0);
- }
-
- return 0;
- }
-
- return -1;
-}
-
-/*****************************************************************************
-* Prototype : msg_fetch
-* Description : fetch msg
-* Input : mring_handle mhandle
-* data_com_msg** m
-* u32 num
-* Output : None
-* Return Value : static inline int
-* Calls :
-* Called By :
-*****************************************************************************/
-static inline int
-msg_fetch (mring_handle mhandle, data_com_msg ** m, u32 num)
-{
- if (!m || !mhandle)
- {
- NSFW_LOGERR ("param is not ok]m=%p,mhandle=%p", m, mhandle);
- return -1;
- }
-
- int ret;
- while (1)
- {
- ret = nsfw_mem_ring_dequeuev (mhandle, (void *) m, num);
- if (ret > 0)
- {
- break;
- }
- }
-
- return ret;
-}
-
-/*****************************************************************************
-* Prototype : msg_try_fetch
-* Description : try fetch msg
-* Input : mring_handle mhandle
-* data_com_msg** m
-* u32 num
-* Output : None
-* Return Value : static inline int
-* Calls :
-* Called By :
-*****************************************************************************/
-static inline int
-msg_try_fetch (mring_handle mhandle, data_com_msg ** m, u32 num)
-{
- if (!m || !mhandle)
- {
- NSFW_LOGERR ("param is not ok]m=%p,mhandle=%p", m, mhandle);
- return -1;
- }
-
- return nsfw_mem_ring_dequeuev (mhandle, (void *) m, num);
-}
-
-#else
-data_com_msg *msg_malloc (mring_handle mhandle);
-void msg_free (data_com_msg * m);
-int msg_post (data_com_msg * m, mring_handle mhandle);
-int msg_try_post (data_com_msg * m, mring_handle mhandle);
-int msg_fetch (mring_handle mhandle, data_com_msg ** m, u32 num);
-int msg_try_fetch (mring_handle mhandle, data_com_msg ** m, u32 num);
-int msg_post_with_lock_rel (data_com_msg * m, mring_handle mhandle);
-#endif
-
-#ifdef __cplusplus
-/* *INDENT-OFF* */
-}
-/* *INDENT-ON* */
-#endif
-
-#endif