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

📄 dhcp.h

📁 minux操作系统源代码
💻 H
字号:
/*	net/gen/dhcp.h - DHCP packet format		Author: Kees J. Bot *								1 Dec 2000 */#ifndef __NET__GEN__DHCP_H__#define __NET__GEN__DHCP_H__typedef struct dhcp {	u8_t		op;		/* Message opcode/type. */	u8_t		htype;		/* Hardware address type. */	u8_t		hlen;		/* Hardware address length. */	u8_t		hops;		/* Hop count when relaying. */	u32_t		xid;		/* Transaction ID. */	u16_t		secs;		/* Seconds past since client began. */	u16_t		flags;		/* Flags. */	ipaddr_t	ciaddr;		/* Client IP address. */	ipaddr_t	yiaddr;		/* "Your" IP address. */	ipaddr_t	siaddr;		/* Boot server IP address. */	ipaddr_t	giaddr;		/* Relay agent (gateway) IP address. */	u8_t		chaddr[16];	/* Client hardware address. */	u8_t		sname[64];	/* Server host name. */	u8_t		file[128];	/* Boot file. */	u32_t		magic;		/* Magic number. */	u8_t		options[308];	/* Optional parameters. */} dhcp_t;/* DHCP operations and stuff: */#define DHCP_BOOTREQUEST	 1	/* Boot request message. */#define DHCP_BOOTREPLY		 2	/* Boot reply message. */#define DHCP_HTYPE_ETH		 1	/* Ethernet hardware type. */#define DHCP_HLEN_ETH		 6	/* Ethernet hardware address length. */#define DHCP_FLAGS_BCAST    0x8000U	/* Reply must be broadcast to client. */					/* "Magic" first four option bytes. */#define DHCP_MAGIC	HTONL(0x63825363UL)/* DHCP common tags: */#define DHCP_TAG_NETMASK	 1	/* Netmask. */#define DHCP_TAG_GATEWAY	 3	/* Gateway list. */#define DHCP_TAG_DNS		 6	/* DNS Nameserver list. */#define DHCP_TAG_HOSTNAME	12	/* Host name. */#define DHCP_TAG_DOMAIN		15	/* Domain. */#define DHCP_TAG_IPMTU		26	/* Interface MTU. *//* DHCP protocol tags: */#define DHCP_TAG_REQIP		50	/* Request this IP. */#define DHCP_TAG_LEASE		51	/* Lease time requested/offered. */#define DHCP_TAG_OVERLOAD	52	/* Options continued in file/sname. */#define DHCP_TAG_TYPE		53	/* DHCP message (values below). */#define DHCP_TAG_SERVERID	54	/* Server identifier. */#define DHCP_TAG_REQPAR		55	/* Parameters requested. */#define DHCP_TAG_MESSAGE	56	/* Error message. */#define DHCP_TAG_MAXDHCP	57	/* Max DHCP packet size. */#define DHCP_TAG_RENEWAL	58	/* Time to go into renewal state. */#define DHCP_TAG_REBINDING	59	/* Time to go into rebinding state. */#define DHCP_TAG_CLASSID	60	/* Class identifier. */#define DHCP_TAG_CLIENTID	61	/* Client identifier. *//* DHCP messages: */#define DHCP_DISCOVER		 1	/* Locate available servers. */#define DHCP_OFFER		 2	/* Parameters offered to client. */#define DHCP_REQUEST		 3	/* (Re)request offered parameters. */#define DHCP_DECLINE		 4	/* Client declines offer. */#define DHCP_ACK		 5	/* Server acknowlegdes request. */#define DHCP_NAK		 6	/* Server denies request. */#define DHCP_RELEASE		 7	/* Client relinguishes address. */#define DHCP_INFORM		 8	/* Client requests just local config. */void dhcp_init(dhcp_t *_dp);int dhcp_settag(dhcp_t *_dp, int _tag, void *_data, size_t _len);int dhcp_gettag(dhcp_t *_dp, int _searchtag, u8_t **_pdata, size_t *_plen);#endif /* __NET__GEN__DHCP_H__ */

⌨️ 快捷键说明

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