⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 create_icmp6_socket.c

📁 这是一个SIGMA方案的PMP播放器的UCLINUX程序,可播放DVD,VCD,CD MP3...有很好的参考价值.
💻 C
字号:
/* vi: set sw=4 ts=4: *//* * Utility routines. * * create raw socket for icmp (IPv6 version) protocol test permision * and drop root privilegies if running setuid * */#include <sys/types.h>#include <netdb.h>#include <sys/socket.h>#include <errno.h>#include <unistd.h>#include "libbb.h"#if CONFIG_FEATURE_IPV6int create_icmp6_socket(void){	struct protoent *proto;	int sock;	proto = getprotobyname("ipv6-icmp");	/* if getprotobyname failed, just silently force	 * proto->p_proto to have the correct value for "ipv6-icmp" */	if ((sock = socket(AF_INET6, SOCK_RAW,			(proto ? proto->p_proto : IPPROTO_ICMPV6))) < 0) {		if (errno == EPERM)			error_msg_and_die("permission denied. (are you root?)");		else			perror_msg_and_die(can_not_create_raw_socket);	}	/* drop root privs if running setuid */	setuid(getuid());	return sock;}#endif

⌨️ 快捷键说明

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