mcast_get_ttl.c

来自「关于linux 网络编程的一些代码 关于linux 网络编程的一些代码」· C语言 代码 · 共 46 行

C
46
字号
#include	"unp.h"intmcast_get_ttl(int sockfd){	switch (sockfd_to_family(sockfd)) {	case AF_INET: {		u_char		ttl;		socklen_t	len;		len = sizeof(ttl);		if (getsockopt(sockfd, IPPROTO_IP, IP_MULTICAST_TTL,					   &ttl, &len) < 0)			return(-1);		return(ttl);	}#ifdef	IPV6	case AF_INET6: {		int			hop;		socklen_t	len;		len = sizeof(hop);		if (getsockopt(sockfd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS,					   &hop, &len) < 0)			return(-1);		return(hop);	}#endif	default:		errno = EPROTONOSUPPORT;		return(-1);	}}intMcast_get_ttl(int sockfd){	int		rc;	if ( (rc = mcast_get_ttl(sockfd)) < 0)		err_sys("mcast_get_ttl error");	return(rc);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?