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

📄 inet_addr.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
/* posix */#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <string.h>/* bsd extensions */#include <sys/uio.h>#include <sys/socket.h>#include <netinet/in.h>#define CLASS(x)	(x[0]>>6)unsigned longinet_addr(char *from){	int i;	char *p;	unsigned char to[4];	unsigned long x; 	p = from;	memset(to, 0, 4);	for(i = 0; i < 4 && *p; i++){		to[i] = strtoul(p, &p, 0);		if(*p == '.')			p++;	}	switch(CLASS(to)){	case 0:	/* class A - 1 byte net */	case 1:		if(i == 3){			to[3] = to[2];			to[2] = to[1];			to[1] = 0;		} else if (i == 2){			to[3] = to[1];			to[1] = 0;		}		break;	case 2:	/* class B - 2 byte net */		if(i == 3){			to[3] = to[2];			to[2] = 0;		}		break;	}	x = nptohl(to);	x = htonl(x);	return x;}

⌨️ 快捷键说明

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