📄 asock.h
字号:
#ifdef __cplusplusextern "C"{#endif #ifndef __INC_ASOCK_H__#define __INC_ASOCK_H__#ifndef USE_OS_IP_STACK#include "ip/ip_pub.h" #include "socket/sock_pub.h" #include "socket/sock_err.h"#else#if( CONFIG_OS_WINDOWS == TRUE )#include <winsock2.h>#ifndef MSG_DONTWAIT#define MSG_DONTWAIT 0x0 #endif#elif( CONFIG_OS_VXWORKS == TRUE )#endif#define FIOREAD 0x4004667F #define EAGAIN -35 #define EINVAL -116typedef struct fd_set FD_SET_S;typedef struct tagSOCKADDR{ U8 sa_ucLen; U8 sa_ucFamily; S8 sa_cData[14]; }SOCKADDR_S;typedef struct tagINADDR{ U32 s_ulAddr;}INADDR_S;typedef struct tagSOCKADDRIN{ U8 sin_chLen; U8 sin_chFamily; U16 sin_usPort; INADDR_S sin_stAddr; S8 sin_chZero_a[8];}SOCKADDRIN_S;typedef struct tagTIME_VAL{ S32 tv_lSec; S32 tv_lUsec;}TIME_VAL_S;typedef struct tagIOVEC { S8 *iov_pBase; S32 iov_nLen; }IOVEC_S;typedef struct tagIP{#if CONDIF_LITTLE_ENDIAN == TRUE U8 ip_chHLen:4; U8 ip_chVer:4; #else U8 ip_chVer:4; U8 ip_chHLen:4; #endif U8 ip_chTOS; U16 ip_usLen; #define ip_sLen ip_usLen U16 ip_usId; U16 ip_usOff; #define ip_sOff ip_usOff#define IP_DF 0x4000 #define IP_MF 0x2000 #define IP_OFFMASK 0x1fff U8 ip_chTTL; U8 ip_chPr; U16 ip_usSum; struct tagINADDR ip_stSrc; struct tagINADDR ip_stDst; }IP_S;#define TCP_SEQ U32typedef struct tagTCPHDR{ U16 usSrcPort; U16 usDstPort; TCP_SEQ seqSeqNumber; TCP_SEQ seqAckNumber;#if CONDIF_LITTLE_ENDIAN == TRUE U8 ucX2:4, ucOffset:4;#else U8 ucOffset:4, ucX2:4; #endif U8 ucFlags; U16 usWnd; U16 usCheckSum; U16 usUrgentPoint;} TCPHDR_S;typedef struct tagIPOVLY{ S8 *ih_pNext,*ih_pPrev; U8 ih_chXl; U8 ih_chPr; S16 ih_sLen; INADDR_S ih_stSrc; INADDR_S ih_stDst; }IPOVLY_S;typedef struct tagTCPIPHDR{ IPOVLY_S ihOverlaidIP; TCPHDR_S thTCPHeader;} TCPIPHDR_S;typedef struct tagCMSGHDR{ S16 cmsg_nLen; S16 cmsg_sLevel; S16 cmsg_sType; S8 cmsg_cData[10]; }CMSGHDR_S;typedef struct tagMSGHDR{ S8 *msg_pName; S16 msg_nNameLen; IOVEC_S *msg_pIov; S16 msg_nIovLen; S8 *msg_pControl; S16 msg_nControlLen; S16 msg_sFlags;}MSGHDR_S;#ifndef SOCK_ALIAS#define SOCK_ALIAS#define socket sys_socket#define bind sys_bind#define listen sys_listen#define accept sys_accept#define connect sys_connect#define sendto sys_sendto#define send sys_send#define sendmsg sys_sendmsg#define recvfrom sys_recvfrom#define recv sys_recv#define recvmsg sys_recvmsg#define setsockopt sys_setsockopt#define getsockopt sys_getsockopt#define getsockname sys_getsockname#define getpeername sys_getpeername#define copysocket( taskFrom, taskTo, iFd, iAlterFd ) (iFd)#define select sys_select#define close sys_close#define ioctl sys_ioctl#undef FD_SET#define FD_SET(iFd,set) sys_fd_set(iFd,set)#define gettcpstate(iFd) (0)#endifextern S32 sys_socket(S32 iFamily,S32 iType,S32 iProtocol);extern S32 sys_bind(S32 iFd, SOCKADDRIN_S *pSockAddr,S32 nAddrLen);extern S32 sys_listen(S32 iFd,S32 iBackLog);extern S32 sys_accept(S32 iFd, SOCKADDRIN_S *pAddr,S32 *pAddrLen);extern S32 sys_connect(S32 iFd, SOCKADDRIN_S *pAddr,S32 nAddrLen);extern S32 sys_recv(S32 iFd,S8 *pBuf,S32 nLen,S32 iFlags);extern S32 sys_recvfrom(S32 iFd,S8 *pBuf,S32 nLen,S32 iFlags, SOCKADDRIN_S *pFrom, S32 *pFromLen);extern S32 sys_recvmsg(S32 iFd, MSGHDR_S *pMsg,S32 iFlags);extern S32 sys_send(S32 iFd,S8 *pString,S32 nLen,S32 iFlags) ;extern S32 sys_sendto(S32 iFd,S8 *pString,S32 nLen,S32 iFlags, SOCKADDRIN_S *pAddr,S32 nAddrLen);extern S32 sys_sendmsg(S32 iFd, MSGHDR_S *pMsg,S32 iFlags);extern S32 sys_shutdown(S32 iFd,S32 iHow);extern S32 sys_setsockopt(S32 iFd,S32 iLevel,S32 iOptName,S8 *pOptVal, S32 nOptLen);extern S32 sys_getsockopt(S32 iFd,S32 iLevel,S32 iOptName,S8 *pOptVal, S32 *pOptLen);extern S32 sys_getsockname(S32 iFd,SOCKADDRIN_S *pAddr,S32 *pAddrLen);extern S32 sys_getpeername(S32 iFd,SOCKADDRIN_S *pAddr,S32 *pAddrLen);extern S32 sys_select(S32 iNd, FD_SET_S *pIn, FD_SET_S *pOut, FD_SET_S *pEx, TIME_VAL_S *pTv0);extern S32 sys_close(S32 iFd);extern VOID sys_fd_set( S32 iFd, FD_SET_S *set );extern S32 sys_ioctl(S32 iFd,U32 ulReq,S8 *pVal);#endif#endif#ifdef __cplusplus}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -