bootp.h revision 55f4e4a5ec657a017e3bf75299ad71fd1c968dd3
1/* bootp/dhcp defines */ 2 3#define BOOTP_SERVER 67 4#define BOOTP_CLIENT 68 5 6#define BOOTP_REQUEST 1 7#define BOOTP_REPLY 2 8 9#define RFC1533_COOKIE 99, 130, 83, 99 10#define RFC1533_PAD 0 11#define RFC1533_NETMASK 1 12#define RFC1533_TIMEOFFSET 2 13#define RFC1533_GATEWAY 3 14#define RFC1533_TIMESERVER 4 15#define RFC1533_IEN116NS 5 16#define RFC1533_DNS 6 17#define RFC1533_LOGSERVER 7 18#define RFC1533_COOKIESERVER 8 19#define RFC1533_LPRSERVER 9 20#define RFC1533_IMPRESSSERVER 10 21#define RFC1533_RESOURCESERVER 11 22#define RFC1533_HOSTNAME 12 23#define RFC1533_BOOTFILESIZE 13 24#define RFC1533_MERITDUMPFILE 14 25#define RFC1533_DOMAINNAME 15 26#define RFC1533_SWAPSERVER 16 27#define RFC1533_ROOTPATH 17 28#define RFC1533_EXTENSIONPATH 18 29#define RFC1533_IPFORWARDING 19 30#define RFC1533_IPSOURCEROUTING 20 31#define RFC1533_IPPOLICYFILTER 21 32#define RFC1533_IPMAXREASSEMBLY 22 33#define RFC1533_IPTTL 23 34#define RFC1533_IPMTU 24 35#define RFC1533_IPMTUPLATEAU 25 36#define RFC1533_INTMTU 26 37#define RFC1533_INTLOCALSUBNETS 27 38#define RFC1533_INTBROADCAST 28 39#define RFC1533_INTICMPDISCOVER 29 40#define RFC1533_INTICMPRESPOND 30 41#define RFC1533_INTROUTEDISCOVER 31 42#define RFC1533_INTROUTESOLICIT 32 43#define RFC1533_INTSTATICROUTES 33 44#define RFC1533_LLTRAILERENCAP 34 45#define RFC1533_LLARPCACHETMO 35 46#define RFC1533_LLETHERNETENCAP 36 47#define RFC1533_TCPTTL 37 48#define RFC1533_TCPKEEPALIVETMO 38 49#define RFC1533_TCPKEEPALIVEGB 39 50#define RFC1533_NISDOMAIN 40 51#define RFC1533_NISSERVER 41 52#define RFC1533_NTPSERVER 42 53#define RFC1533_VENDOR 43 54#define RFC1533_NBNS 44 55#define RFC1533_NBDD 45 56#define RFC1533_NBNT 46 57#define RFC1533_NBSCOPE 47 58#define RFC1533_XFS 48 59#define RFC1533_XDM 49 60 61#define RFC2132_REQ_ADDR 50 62#define RFC2132_LEASE_TIME 51 63#define RFC2132_MSG_TYPE 53 64#define RFC2132_SRV_ID 54 65#define RFC2132_PARAM_LIST 55 66#define RFC2132_MAX_SIZE 57 67#define RFC2132_RENEWAL_TIME 58 68#define RFC2132_REBIND_TIME 59 69 70#define DHCPDISCOVER 1 71#define DHCPOFFER 2 72#define DHCPREQUEST 3 73#define DHCPACK 5 74 75#define RFC1533_VENDOR_MAJOR 0 76#define RFC1533_VENDOR_MINOR 0 77 78#define RFC1533_VENDOR_MAGIC 128 79#define RFC1533_VENDOR_ADDPARM 129 80#define RFC1533_VENDOR_ETHDEV 130 81#define RFC1533_VENDOR_HOWTO 132 82#define RFC1533_VENDOR_MNUOPTS 160 83#define RFC1533_VENDOR_SELECTION 176 84#define RFC1533_VENDOR_MOTD 184 85#define RFC1533_VENDOR_NUMOFMOTD 8 86#define RFC1533_VENDOR_IMG 192 87#define RFC1533_VENDOR_NUMOFIMG 16 88 89#define RFC1533_END 255 90#define BOOTP_VENDOR_LEN 64 91#define DHCP_OPT_LEN 312 92 93struct bootp_t { 94 struct ip ip; 95 struct udphdr udp; 96 uint8_t bp_op; 97 uint8_t bp_htype; 98 uint8_t bp_hlen; 99 uint8_t bp_hops; 100 uint32_t bp_xid; 101 uint16_t bp_secs; 102 uint16_t unused; 103 struct in_addr bp_ciaddr; 104 struct in_addr bp_yiaddr; 105 struct in_addr bp_siaddr; 106 struct in_addr bp_giaddr; 107 uint8_t bp_hwaddr[16]; 108 uint8_t bp_sname[64]; 109 uint8_t bp_file[128]; 110 uint8_t bp_vend[DHCP_OPT_LEN]; 111}; 112 113void bootp_input(MBuf m); 114