📄 sys_sock.c
字号:
#include "syscfg.h"#ifdef __cplusplusextern "C"{#endif #define SOCK_ALIAS#include "asock.h"S32 sys_socket(S32 iFamily,S32 iType,S32 iProtocol){ SOCKET new_sock; new_sock = socket( iFamily, iType, iProtocol ); return INVALID_SOCKET == new_sock ? -1:(S32)new_sock;}S32 sys_bind(S32 iFd, SOCKADDRIN_S *pSockAddr,S32 nAddrLen){ struct sockaddr addr; addr.sa_family = pSockAddr->sin_chFamily; aos_memcpy( addr.sa_data, &pSockAddr->sin_usPort, 14 ); return bind( (SOCKET)iFd, &addr, sizeof( struct sockaddr) );}S32 sys_listen(S32 iFd,S32 iBackLog){ return listen( (SOCKET)iFd, iBackLog );}S32 sys_accept(S32 iFd, SOCKADDRIN_S *pAddr,S32 *pAddrLen){ SOCKET new_sock; struct sockaddr addr; new_sock = accept( (SOCKET)iFd, &addr, pAddrLen ); if( INVALID_SOCKET == new_sock ) { return -1; } pAddr->sin_chLen = 0; pAddr->sin_chFamily = (U8)addr.sa_family; aos_memcpy( &pAddr->sin_usPort, addr.sa_data, 14 ); return (S32)new_sock;}S32 sys_connect(S32 iFd, SOCKADDRIN_S *pAddr,S32 nAddrLen){ struct sockaddr addr; addr.sa_family = pAddr->sin_chFamily; aos_memcpy( addr.sa_data, &pAddr->sin_usPort, 14 ); return connect( (SOCKET)iFd, &addr, sizeof( struct sockaddr ) );}S32 sys_recv(S32 iFd,S8 *pBuf,S32 nLen,S32 iFlags) { return recv( (SOCKET)iFd, pBuf, nLen, iFlags );}S32 sys_recvfrom(S32 iFd,S8 *pBuf,S32 nLen,S32 iFlags, SOCKADDRIN_S *pFrom, S32 *pFromLen){ struct sockaddr addr; S32 ret; ret = recvfrom( (SOCKET)iFd, pBuf, nLen, iFlags, &addr, pFromLen ); if(ret>0) { pFrom->sin_chLen = 0; pFrom->sin_chFamily = (U8)addr.sa_family; aos_memcpy( &pFrom->sin_usPort, addr.sa_data, 14 ); } return ret;}S32 sys_recvmsg(S32 iFd, MSGHDR_S *pMsg,S32 iFlags) { return -1;}S32 sys_send(S32 iFd,S8 *pString,S32 nLen,S32 iFlags) { return send( (SOCKET)iFd, pString, nLen, iFlags );}S32 sys_sendto(S32 iFd,S8 *pString,S32 nLen,S32 iFlags, SOCKADDRIN_S *pAddr,S32 nAddrLen){ struct sockaddr addr; S32 ret; addr.sa_family = pAddr->sin_chFamily; aos_memcpy( addr.sa_data, &pAddr->sin_usPort, 14 ); ret = sendto( (SOCKET)iFd, pString, nLen, iFlags, &addr, sizeof(struct sockaddr) ); return ret;}S32 sys_sendmsg(S32 iFd, MSGHDR_S *pMsg,S32 iFlags){ return -1;}S32 sys_shutdown(S32 iFd,S32 iHow){ return shutdown( (SOCKET)iFd, iHow );}S32 sys_setsockopt(S32 iFd,S32 iLevel,S32 iOptName,S8 *pOptVal,S32 nOptLen){ return setsockopt( (SOCKET)iFd, iLevel, iOptName, pOptVal, nOptLen );}S32 sys_getsockopt(S32 iFd,S32 iLevel,S32 iOptName,S8 *pOptVal,S32 *pOptLen){ return getsockopt( (SOCKET)iFd, iLevel, iOptName, pOptVal, pOptLen );}S32 sys_getsockname(S32 iFd,SOCKADDRIN_S *pAddr,S32 *pAddrLen){ struct sockaddr addr; S32 ret; ret = getsockname( (SOCKET)iFd, &addr, pAddrLen ); if( !ret ) { pAddr->sin_chLen = 0; pAddr->sin_chFamily = (U8)addr.sa_family; aos_memcpy( &pAddr->sin_usPort, addr.sa_data, 14 ); } return ret;}S32 sys_getpeername(S32 iFd,SOCKADDRIN_S *pAddr,S32 *pAddrLen) { struct sockaddr addr; S32 ret; ret = getpeername( (SOCKET)iFd, &addr, pAddrLen ); if( !ret ) { pAddr->sin_chLen = 0; pAddr->sin_chFamily = (U8)addr.sa_family; aos_memcpy( &pAddr->sin_usPort, addr.sa_data, 14 ); } return ret;}S32 sys_select(S32 iNd, FD_SET_S *pIn, FD_SET_S *pOut, FD_SET_S *pEx, TIME_VAL_S *pTv0){ struct timeval time_val, *pTv; S32 ret; if( NULL != pTv0 ) { time_val.tv_sec = pTv0->tv_lSec; time_val.tv_usec= pTv0->tv_lUsec; pTv = &time_val; } else { pTv = NULL; } ret = select( iNd, pIn, pOut, pEx, pTv ); return ret;}S32 sys_close(S32 iFd){ return closesocket( (SOCKET)iFd );}VOID sys_fd_set( S32 iFd, FD_SET_S *set ){ FD_SET( (SOCKET)iFd, set );}S32 sys_ioctl(S32 iFd,U32 ulReq,S8 *pVal){ return ioctlsocket( (SOCKET)iFd, ulReq, (U32*)pVal );}#ifdef __cplusplus}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -