aboutsummaryrefslogtreecommitdiffstats
path: root/stacks/lwip_stack/lwip_src/socket/stackx_res_mgr.h
diff options
context:
space:
mode:
authorsharath <sharathkumarboyanapally@gmail.com>2018-08-13 19:28:26 +0530
committersharath <sharathkumarboyanapally@gmail.com>2018-08-13 19:29:13 +0530
commit7b1e219c80f5fe44a8f015a369e57ba7d2bc39cc (patch)
tree9fa3ee1ce324478711dfce73425e16e6bcb429a9 /stacks/lwip_stack/lwip_src/socket/stackx_res_mgr.h
parentbd6e75c243db1b384ba0882ecaf9063ec4cd70bd (diff)
Feat : LWIP integration part2
Change-Id: I2431581d611659beb9b9b4d6d95d6985e53a8061 Signed-off-by: sharath <sharathkumarboyanapally@gmail.com>
Diffstat (limited to 'stacks/lwip_stack/lwip_src/socket/stackx_res_mgr.h')
-rw-r--r--stacks/lwip_stack/lwip_src/socket/stackx_res_mgr.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/stacks/lwip_stack/lwip_src/socket/stackx_res_mgr.h b/stacks/lwip_stack/lwip_src/socket/stackx_res_mgr.h
new file mode 100644
index 0000000..e139644
--- /dev/null
+++ b/stacks/lwip_stack/lwip_src/socket/stackx_res_mgr.h
@@ -0,0 +1,69 @@
+/*
+*
+* 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 STACKX_RES_MGR_H
+#define STACKX_RES_MGR_H
+#include "stackx_socket.h"
+#include "stackx_ip_tos.h"
+#include "stackx_tx_box.h"
+#include "stackx_app_res.h"
+
+#ifdef __cplusplus
+/* *INDENT-OFF* */
+extern "C" {
+/* *INDENT-ON* */
+#endif
+
+typedef struct
+{
+ mring_handle conn_pool;
+ mpool_handle tx_pool;
+} sbr_share_group;
+
+extern sbr_share_group g_share_group;
+
+static inline mpool_handle
+sbr_get_tx_pool ()
+{
+ return g_share_group.tx_pool;
+}
+
+static inline mring_handle
+sbr_get_conn_pool ()
+{
+ return (mring_handle) ADDR_LTOSH (g_share_group.conn_pool);
+}
+
+static inline mring_handle
+sbr_get_spl_msg_box (sbr_socket_t * sk, u8 tos)
+{
+ return
+ ss_get_instance_msg_box (ss_get_bind_thread_index (sbr_get_conn (sk)),
+ stackx_get_prio (tos));
+}
+
+int sbr_init_stackx ();
+int sbr_malloc_conn_for_sk (sbr_socket_t * sk, spl_netconn_type_t type);
+int sbr_init_conn_for_accept (sbr_socket_t * sk, spl_netconn_t * conn);
+void sbr_free_conn_from_sk (sbr_socket_t * sk);
+
+#ifdef __cplusplus
+/* *INDENT-OFF* */
+}
+/* *INDENT-ON* */
+#endif
+
+#endif