X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=Include%2Fvos_sockMgr.h;h=6cff2388557d33bbd5611286c12af4a5881b4a76;hb=e93798699eccb72af04938fc9b0d7a836e284488;hp=2d550d1dc254d5407dfcad1aa1570e5105d2ed24;hpb=94f13ab3e8da393eb27ccc561d31b447b1367c56;p=scp%2Focu%2F5gnr.git diff --git a/Include/vos_sockMgr.h b/Include/vos_sockMgr.h index 2d550d1..6cff238 100644 --- a/Include/vos_sockMgr.h +++ b/Include/vos_sockMgr.h @@ -1,13 +1,25 @@ /****************************************************************************** -############################################################################### -# Copyright (c) [2017-2020] [ICT/CAS] # -# Licensed under the ORAN Software License v1.0 (License) # -############################################################################### -******************************************************************************/ +* +* Copyright (c) 2020 ICT/CAS. +* +* Licensed under the O-RAN Software License, Version 1.0 (the "Software License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.o-ran.org/software +* +* 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 __VOS_SOCKMGR_H__ +#ifndef __VOS_SOCKMGR_H__ #define __VOS_SOCKMGR_H__ #include "vos_types.h" @@ -19,13 +31,13 @@ #define COMM_SCTP_ADDR_MAX 5 -#define VOS_SOCKET_MSG_MAX 9000 +#define VOS_SOCKET_MSG_MAX 9000 /** 采用socket mgr 需要提供的handle函数,用于接收数据 * @param[in ] buf 用于消息接收的缓冲区 * @param[in ] size buf 大小 - * @param[in ] opval 额外信息,类型为 vos_mod_com_op_t + * @param[in ] opval 额外信息,类型为 vos_mod_com_op_t * @param[in ] opvalLen opval的大小 * */ @@ -56,21 +68,21 @@ typedef union { /** 创建socket需要提供的参数 */ typedef struct vos_sock_para_s { - module_comm_type_t type; ///< 通信方式 + module_comm_type_t type; ///< 通信方式 union{ vos_sockaddr_t addr; ///< socket 通信 sctp_para_t sctp; ///< sctp 通信 }u; ___addr_u client_bind_addr; ///< 创建客户端时如果也需要绑定地址,填写该变量 - receive_handler recv_handle; ///< 接收函数 - accept_handler accept_handle; ///< 接收accept 事件 + receive_handler recv_handle; ///< 接收函数 + accept_handler accept_handle; ///< 接收accept 事件 LONG maxClient; ///< tcp server 允许的连接数 BOOL soloMode; ///< 如果为真,则单独创建接收线程;如果为假,则由 VOS socket代理任务负责接收 LONG fdIdx; ///< 无需关心 }vos_sock_para_t; typedef struct vos_sock_info_s{ - module_comm_type_t type; ///< 通信方式 + module_comm_type_t type; ///< 通信方式 LONG fd; ///< socket LONG fdIdx; ///< 无需关心 LONG c_flag; ///< 无需关心 @@ -80,40 +92,40 @@ typedef struct vos_sock_info_s{ }vos_sock_info_t; -/** +/** * 创建socket通信 * @param[in ] name 模块名,大小为 MODULE_NAME_LEN * @param[in ] pPara 额外参数数组 * @param[in ] size 数组大小 * @param[out] info socket 相关信息,用于发送消息和删除该socket * @return VOS_OK - 成功,其他 - 失败 - */ + */ LONG VOS_SOCKET_create(const CHAR *name,vos_sock_para_t *pPara,LONG size,vos_sock_info_t *info); -/** +/** * 删除 socket * @param[in ] info 创建时获得的socket 相关信息 * @return VOS_OK - 成功,其他 - 失败 - */ + */ LONG VOS_SOCKET_delete(vos_sock_info_t *info); -/** +/** * 判断是否连接成功(只判断tcp 和sctp one-to-one 是否connect成功) * @param[in ] info 创建时获得的socket 相关信息 * @return 连接正常返回 VOS_TRUE,否则返回 VOS_FALSE - */ + */ BOOL VOS_SOCKET_isLink(vos_sock_info_t *info); -/** +/** * socket 发送数据 * @param[in ] info socket 相关信息 * @param[in ] msgData 数据 * @param[in ] msgDataLen 数据长度 * @return 成功返回 发送的字节数 ,失败则返回 VOS_ERROR - */ + */ LONG VOS_SOCKET_send(vos_sock_info_t *info,VOID *msgData,LONG msgDataLen);