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

📄 arp.h

📁 Details description of Free BSD network source code.Those documents have explained each line of code
💻 H
字号:
#ifndef _NET_IF_ARP_H_#define	_NET_IF_ARP_H_/* * 地址解释协议. * * 查看 RFC 826 对该协议的描述.  ARP 包长度是变化的 * 头部(arphdr)结构定义了固定长度部分. */struct	arphdr {	u_short	ar_hrd;		/* 格式化的硬件地址 */#define ARPHRD_ETHER 	1	/* 以太网格式 */#define ARPHRD_IEEE802	6	/* 令牌环网格式 */#define ARPHRD_FRELAY 	15	/* 帧中继硬件格式 */	u_short	ar_pro;		/* 协议地址格式 */	u_char	ar_hln;		/* 硬件地址长度*/	u_char	ar_pln;		/* 协议地址长度 */	u_short	ar_op;		/* 以下之一: */#define	ARPOP_REQUEST	1	/* 发出请求解释一IP地址 */#define	ARPOP_REPLY	2	/* 回应上一个请求 */#define	ARPOP_REVREQUEST 3	/* 请求一IP地址(给出硬件地址,实际上是逆向地址解释) */#define	ARPOP_REVREPLY	4	/* 回应逆向地址解释 */#define ARPOP_INVREQUEST 8 	/* 请求对方的ID */#define ARPOP_INVREPLY	9	/* 回应对方的ID *//* * 下面的字段是可变长的, * 主要是依照上面给出的定义. */#ifdef COMMENT_ONLY	u_char	ar_sha[];	/* 发送者硬件地址 */	u_char	ar_spa[];	/* 发送者协议地址 */	u_char	ar_tha[];	/* 目的方硬件地址 */	u_char	ar_tpa[];	/* 目的方协议地址*/#endif};/* * ARP ioctl 请求 */struct arpreq {	struct	sockaddr arp_pa;		/* 协议地址 */	struct	sockaddr arp_ha;		/* 硬件地址 */	int	arp_flags;			/* 标识 */};/*  arp_flags 和 at_flags 域的值 */#define	ATF_INUSE	0x01	/* 入口在使用 */#define ATF_COM		0x02	/* 完整的入口 (enaddr 有效) */#define	ATF_PERM	0x04	/* 持久的入口 */#define	ATF_PUBL	0x08	/* 发布一入口 (回应其他主机) */#define	ATF_USETRAILERS	0x10	/* 有追踪请求 */#ifdef _KERNEL/* * 该结构是以太网设备驱动程序和ARP程序所共享.  */struct	arpcom {	/*	 *  ifnet 结构必须在此结构的第一个位置.	 */	struct 	ifnet ac_if;		u_char	ac_enaddr[6];		/* 以太网硬件地址*/	int	ac_multicnt;		/* 多播地址列表数 */	void	*ac_netgraph;		/* PPPoE(ADSL)的指针 */};extern u_char	etherbroadcastaddr[6];#endif#endif /* !_NET_IF_ARP_H_ */

⌨️ 快捷键说明

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