📄 target_generic_network.h
字号:
__linger.l_linger=value; \ __linger.l_onoff =1; \ } \ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_LINGER,&__linger,sizeof(__linger))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ } while (0)#endif/***********************************************************************\* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT* Purpose : set socket option SO_TIMEOUT* Input : socketDescriptor - socket descriptor* flag - 1 or 0* Output : result - TARGET_NATIVE_OK if no error occurred, * TARGET_NATIVE_ERROR otherwise* Return : -* Side-effect: unknown* Notes : -\***********************************************************************/#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT #include <sys/types.h> #include <sys/socket.h>#if TIME_WITH_SYS_TIME# include <sys/time.h># include <time.h>#else# if HAVE_SYS_TIME_H# include <sys/time.h># else# include <time.h># endif#endif #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT(socketDescriptor,flag,result) \ do { \ struct timeval __value; \ \ __value.tv_sec = flag / 1000; \ __value.tv_usec = (flag % 1000) * 1000; \ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_TIMEOUT,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ } while (0)#endif/***********************************************************************\* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF* Purpose : set socket option SO_SNDBUF* Input : socketDescriptor - socket descriptor* size - size of send buffer* Output : result - TARGET_NATIVE_OK if no error occurred, * TARGET_NATIVE_ERROR otherwise* Return : -* Side-effect: unknown* Notes : -\***********************************************************************/#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF #include <sys/types.h> #include <sys/socket.h> #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF(socketDescriptor,size,result) \ do { \ int __value; \ \ __value=size; \ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_SNDBUF,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ } while (0)#endif/***********************************************************************\* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF* Purpose : set socket option SO_RCDBUF* Input : socketDescriptor - socket descriptor* size - size of receive buffer* Output : result - TARGET_NATIVE_OK if no error occurred, * TARGET_NATIVE_ERROR otherwise* Return : -* Side-effect: unknown* Notes : -\***********************************************************************/#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF #include <sys/types.h> #include <sys/socket.h> #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF(socketDescriptor,size,result) \ do { \ int __value; \ \ __value=size; \ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_RCVBUF,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ } while (0)#endif/***********************************************************************\* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL* Purpose : set socket option IP_TTL* Input : socketDescriptor - socket descriptor* value - value* Output : result - TARGET_NATIVE_OK if no error occurred, * TARGET_NATIVE_ERROR otherwise* Return : -* Side-effect: unknown* Notes : -\***********************************************************************/#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL(socketDescriptor,value,result) \ do { \ int __value; \ \ __value=value; \ result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_TTL,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ } while (0)#endif/***********************************************************************\* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF* Purpose : set socket option IP_MULTICAST_IF* Input : socketDescriptor - socket descriptor* address - integer with IP address in host-format* Output : result - TARGET_NATIVE_OK if no error occurred, * TARGET_NATIVE_ERROR otherwise* Return : -* Side-effect: unknown* Notes : -\***********************************************************************/#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF(socketDescriptor,address,result) \ do { \ struct sockaddr_in __socketAddress; \ \ memset(&__socketAddress,0,sizeof(__socketAddress)); \ __socketAddress.sin_family = AF_INET; \ __socketAddress.sin_addr.s_addr = htonl(address); \ result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_MULTICAST_IF,&__socketAddress,sizeof(__socketAddress))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ } while (0)#endif/***********************************************************************\* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS* Purpose : set socket option REUSE_ADDRESS* Input : socketDescriptor - socket descriptor* flag - 1 or 0* Output : result - TARGET_NATIVE_OK if no error occurred, * TARGET_NATIVE_ERROR otherwise* Return : -* Side-effect: unknown* Notes : -\***********************************************************************/#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS(socketDescriptor,flag,result) \ do { \ int __value; \ \ __value=flag; \ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_REUSEADDR,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ } while (0)#endif/***********************************************************************\* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP* Purpose : set socket option IP_ADD_MEMBERSHIP* Input : socketDescriptor - socket descriptor* address - network address (host-format)* Output : result - TARGET_NATIVE_OK if no error occurred, * TARGET_NATIVE_ERROR otherwise* Return : -* Side-effect: unknown* Notes : -\***********************************************************************/#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP(socketDescriptor,address,result) \ do { \ struct ip_mreq __request; \ \ memset(&__request,0,sizeof(__request)); \ __request.imr_multiaddr.s_addr=htonl(address); \ __request.imr_interface.s_addr=INADDR_ANY; \ result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_ADD_MEMBERSHIP,&__request,sizeof(__request))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ } while (0)#endif/***********************************************************************\* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP* Purpose : set socket option IP_DROP_MEMBERSHIP* Input : socketDescriptor - socket descriptor* address - network address (host-format)* Output : result - TARGET_NATIVE_OK if no error occurred, * TARGET_NATIVE_ERROR otherwise* Return : -* Side-effect: unknown* Notes : -\***********************************************************************/#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP(socketDescriptor,address,result) \ do { \ struct ip_mreq __request; \ \ memset(&__request,0,sizeof(__request)); \ __request.imr_multiaddr.s_addr=htonl(address); \ __request.imr_interface.s_addr=INADDR_ANY; \ result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_DROP_MEMBERSHIP,&__request,sizeof(__request))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ } while (0)#endif/***********************************************************************\* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE* Purpose : set socket option KEEP_ALIVE* Input : socketDescriptor - socket descriptor* flag - 1 or 0* Output : result - TARGET_NATIVE_OK if no error occurred, * TARGET_NATIVE_ERROR otherwise* Return : -* Side-effect: unknown* Notes : -\***********************************************************************/#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE(socketDescriptor,flag,result) \ do { \ int __value; \ \ __value=flag; \ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_KEEPALIVE,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ } while (0)#endif/***********************************************************************\* Name : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST* Purpose : set socket option SO_BROADCAST* Input : socketDescriptor - socket descriptor* flag - 1 or 0* Output : result - TARGET_NATIVE_OK if no error occurred, * TARGET_NATIVE_ERROR otherwise* Return : -* Side-effect: unknown* Notes : -\***********************************************************************/#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST #include <sys/types.h> #include <sys/socket.h> #include <netinet/tcp.h> #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST(socketDescriptor,flag,result) \ do { \ int __value; \ \ __value=flag; \ result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_BROADCAST,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ } while (0)#endif/*---------------------------------------------------------------------*//***********************************************************************\* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY* Purpose : get socket option TCP_NODELAY* Input : socketDescriptor - socket descriptor* Output : flag - 1 or 0* result - TARGET_NATIVE_OK if no error occurred, * TARGET_NATIVE_ERROR otherwise* Return : -* Side-effect: unknown* Notes : -\***********************************************************************/#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY #include <sys/types.h> #include <sys/socket.h> #include <netinet/tcp.h> #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY(socketDescriptor,flag,result) \ do { \ int __value; \ socklen_t __len; \ \ flag=0; \ \ __len=sizeof(__value); \ result=(getsockopt(socketDescriptor,IPPROTO_TCP,TCP_NODELAY,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \ if (result==TARGET_NATIVE_OK) \ { \ flag=__value; \ } \ } while (0)#endif/***********************************************************************\* Name : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER* Purpose : get socket option SO_LINGER* Input : socketDescriptor - socket descriptor* Output : flag - 1 or 0* value - linger value* result - TARGET_NATIVE_OK if no error occurred, * TARGET_NATIVE_ERROR otherwise* Return : -* Side-effect: unknown* Notes : -\***********************************************************************/#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER #include <sys/types.h> #include <sys/socket.h> #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER(socketDescriptor,flag,value,result) \ do { \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -