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

📄 ip.h

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 H
字号:
#pragma	src	"/sys/src/libip"#pragma	lib	"libip.a"enum {	IPaddrlen=	16,	IPv4addrlen=	4,	IPv4off=	12,	IPllen=		4,};/* *  for reading /net/ipifc */typedef struct Ipifc Ipifc;typedef struct Ipifcs Ipifcs;struct Ipifc{	char	dev[64];	uchar	ip[IPaddrlen];	uchar	mask[IPaddrlen];	uchar	net[IPaddrlen];		/* ip & mask */	Ipifc	*next;};struct Ipifcs{	Ipifc *first;	Ipifc *last;};/* *  user level udp headers */enum {	Udphdrsize=	36,	/* size of a Udphdr */};typedef struct Udphdr Udphdr;struct Udphdr{	uchar	raddr[IPaddrlen];	/* remote address and port */	uchar	laddr[IPaddrlen];	/* local address and port */	uchar	rport[2];	uchar	lport[2];};uchar*	defmask(uchar*);void	maskip(uchar*, uchar*, uchar*);int	eipconv(va_list*, Fconv*);ulong	parseip(uchar*, char*);ulong	parseipmask(uchar*, char*);int	parseether(uchar*, char*);int	myipaddr(uchar*, char*);int	myetheraddr(uchar*, char*);void	readipifc(char*, Ipifcs*);void	hnputl(void*, uint);void	hnputs(void*, ushort);uint	nhgetl(void*);ushort	nhgets(void*);#define	ipcmp(x, y) memcmp(x, y, IPaddrlen)#define	ipmove(x, y) memmove(x, y, IPaddrlen)extern uchar IPv4bcast[IPaddrlen];extern uchar IPv4bcastobs[IPaddrlen];extern uchar IPv4allsys[IPaddrlen];extern uchar IPv4allrouter[IPaddrlen];extern uchar IPnoaddr[IPaddrlen];extern uchar v4prefix[IPaddrlen];extern uchar IPallbits[IPaddrlen];#define CLASS(p) ((*(uchar*)(p))>>6)

⌨️ 快捷键说明

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