📄 bootp.h
字号:
#ifndef _BOOTP_H#define _BOOTP_H#ifdef ALTERNATE_DHCP_PORTS_1067_1068#undef NON_STANDARD_BOOTP_SERVER#define NON_STANDARD_BOOTP_SERVER 1067#undef NON_STANDARD_BOOTP_CLIENT#define NON_STANDARD_BOOTP_CLIENT 1068#endif#ifdef NON_STANDARD_BOOTP_SERVER#define BOOTP_SERVER NON_STANDARD_BOOTP_SERVER#else#define BOOTP_SERVER 67#endif#ifdef NON_STANDARD_BOOTP_CLIENT#define BOOTP_CLIENT NON_STANDARD_BOOTP_CLIENT#else#define BOOTP_CLIENT 68#endif#define BOOTP_REQUEST 1#define BOOTP_REPLY 2#define TAG_LEN(p) (*((p)+1))#define RFC1533_COOKIE 99, 130, 83, 99#define RFC1533_PAD 0#define RFC1533_NETMASK 1#define RFC1533_TIMEOFFSET 2#define RFC1533_GATEWAY 3#define RFC1533_TIMESERVER 4#define RFC1533_IEN116NS 5#define RFC1533_DNS 6#define RFC1533_LOGSERVER 7#define RFC1533_COOKIESERVER 8#define RFC1533_LPRSERVER 9#define RFC1533_IMPRESSSERVER 10#define RFC1533_RESOURCESERVER 11#define RFC1533_HOSTNAME 12#define RFC1533_BOOTFILESIZE 13#define RFC1533_MERITDUMPFILE 14#define RFC1533_DOMAINNAME 15#define RFC1533_SWAPSERVER 16#define RFC1533_ROOTPATH 17#define RFC1533_EXTENSIONPATH 18#define RFC1533_IPFORWARDING 19#define RFC1533_IPSOURCEROUTING 20#define RFC1533_IPPOLICYFILTER 21#define RFC1533_IPMAXREASSEMBLY 22#define RFC1533_IPTTL 23#define RFC1533_IPMTU 24#define RFC1533_IPMTUPLATEAU 25#define RFC1533_INTMTU 26#define RFC1533_INTLOCALSUBNETS 27#define RFC1533_INTBROADCAST 28#define RFC1533_INTICMPDISCOVER 29#define RFC1533_INTICMPRESPOND 30#define RFC1533_INTROUTEDISCOVER 31#define RFC1533_INTROUTESOLICIT 32#define RFC1533_INTSTATICROUTES 33#define RFC1533_LLTRAILERENCAP 34#define RFC1533_LLARPCACHETMO 35#define RFC1533_LLETHERNETENCAP 36#define RFC1533_TCPTTL 37#define RFC1533_TCPKEEPALIVETMO 38#define RFC1533_TCPKEEPALIVEGB 39#define RFC1533_NISDOMAIN 40#define RFC1533_NISSERVER 41#define RFC1533_NTPSERVER 42#define RFC1533_VENDOR 43#define RFC1533_NBNS 44#define RFC1533_NBDD 45#define RFC1533_NBNT 46#define RFC1533_NBSCOPE 47#define RFC1533_XFS 48#define RFC1533_XDM 49#ifndef NO_DHCP_SUPPORT#define RFC2132_REQ_ADDR 50#define RFC2132_MSG_TYPE 53#define RFC2132_SRV_ID 54#define RFC2132_PARAM_LIST 55#define RFC2132_MAX_SIZE 57#define RFC2132_VENDOR_CLASS_ID 60#define DHCPDISCOVER 1#define DHCPOFFER 2#define DHCPREQUEST 3#define DHCPACK 5#endif /* NO_DHCP_SUPPORT */#define RFC1533_VENDOR_MAJOR 0#define RFC1533_VENDOR_MINOR 0#define RFC1533_VENDOR_MAGIC 128#define RFC1533_VENDOR_ADDPARM 129#define RFC1533_VENDOR_ETHDEV 130#ifdef IMAGE_FREEBSD#define RFC1533_VENDOR_HOWTO 132#define RFC1533_VENDOR_KERNEL_ENV 133#endif#define RFC1533_VENDOR_ETHERBOOT_ENCAP 150#define RFC1533_VENDOR_MNUOPTS 160#define RFC1533_VENDOR_NIC_DEV_ID 175#define RFC1533_VENDOR_SELECTION 176#define RFC1533_VENDOR_ARCH 177#define RFC1533_VENDOR_MOTD 184#define RFC1533_VENDOR_NUMOFMOTD 8#define RFC1533_VENDOR_IMG 192#define RFC1533_VENDOR_NUMOFIMG 16#define RFC1533_END 255#define BOOTP_VENDOR_LEN 64#ifndef NO_DHCP_SUPPORT#define DHCP_OPT_LEN 312#endif /* NO_DHCP_SUPPORT *//* Format of a bootp packet */struct bootp_t { uint8_t bp_op; uint8_t bp_htype; uint8_t bp_hlen; uint8_t bp_hops; uint32_t bp_xid; uint16_t bp_secs; uint16_t unused; in_addr bp_ciaddr; in_addr bp_yiaddr; in_addr bp_siaddr; in_addr bp_giaddr; uint8_t bp_hwaddr[16]; uint8_t bp_sname[64]; char bp_file[128];#ifdef NO_DHCP_SUPPORT uint8_t bp_vend[BOOTP_VENDOR_LEN];#else uint8_t bp_vend[DHCP_OPT_LEN];#endif /* NO_DHCP_SUPPORT */};/* Format of a bootp IP packet */struct bootpip_t{ struct iphdr ip; struct udphdr udp; struct bootp_t bp;};/* Format of bootp packet with extensions */struct bootpd_t { struct bootp_t bootp_reply; uint8_t bootp_extension[MAX_BOOTP_EXTLEN];};#endif /* _BOOTP_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -