bootp.h revision 6d4314d6b6bd36696f8c1970aa4601b820ab2b00
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync/* bootp/dhcp defines */
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define BOOTP_SERVER 67
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define BOOTP_CLIENT 68
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define BOOTP_REQUEST 1
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define BOOTP_REPLY 2
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define RFC1533_COOKIE 99, 130, 83, 99
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define RFC1533_PAD 0
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define RFC1533_NETMASK 1
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define RFC1533_TIMEOFFSET 2
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define RFC1533_GATEWAY 3
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_TIMESERVER 4
76c5ade78ff18423f4a3aed5cf7fcc84b1c0933bvboxsync#define RFC1533_IEN116NS 5
1f5edbfd0fc9c890d44edbf915ebc06e75e08943vboxsync#define RFC1533_DNS 6
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_LOGSERVER 7
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_COOKIESERVER 8
76c5ade78ff18423f4a3aed5cf7fcc84b1c0933bvboxsync#define RFC1533_LPRSERVER 9
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_IMPRESSSERVER 10
76c5ade78ff18423f4a3aed5cf7fcc84b1c0933bvboxsync#define RFC1533_RESOURCESERVER 11
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_HOSTNAME 12
76c5ade78ff18423f4a3aed5cf7fcc84b1c0933bvboxsync#define RFC1533_BOOTFILESIZE 13
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_MERITDUMPFILE 14
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_DOMAINNAME 15
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_SWAPSERVER 16
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_ROOTPATH 17
76c5ade78ff18423f4a3aed5cf7fcc84b1c0933bvboxsync#define RFC1533_EXTENSIONPATH 18
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_IPFORWARDING 19
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_IPSOURCEROUTING 20
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_IPPOLICYFILTER 21
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_IPMAXREASSEMBLY 22
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_IPTTL 23
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_IPMTU 24
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_IPMTUPLATEAU 25
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_INTMTU 26
2a2095adf36a009010d72cf36ffabb3c1261ad08vboxsync#define RFC1533_INTLOCALSUBNETS 27
2a2095adf36a009010d72cf36ffabb3c1261ad08vboxsync#define RFC1533_INTBROADCAST 28
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_INTICMPDISCOVER 29
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_INTICMPRESPOND 30
444f91a8285333437cdc9da6bf750121b52f208dvboxsync#define RFC1533_INTROUTEDISCOVER 31
444f91a8285333437cdc9da6bf750121b52f208dvboxsync#define RFC1533_INTROUTESOLICIT 32
76c5ade78ff18423f4a3aed5cf7fcc84b1c0933bvboxsync#define RFC1533_INTSTATICROUTES 33
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define RFC1533_LLTRAILERENCAP 34
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define RFC1533_LLARPCACHETMO 35
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define RFC1533_LLETHERNETENCAP 36
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define RFC1533_TCPTTL 37
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define RFC1533_TCPKEEPALIVETMO 38
ff62f2ecb95b5892be2edaa7d786d80727d64a2cvboxsync#define RFC1533_TCPKEEPALIVEGB 39
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_NISDOMAIN 40
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_NISSERVER 41
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_NTPSERVER 42
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_VENDOR 43
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_NBNS 44
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_NBDD 45
ede381e58d677545f69d56df0b26b1959d1b9fbfvboxsync#define RFC1533_NBNT 46
ede381e58d677545f69d56df0b26b1959d1b9fbfvboxsync#define RFC1533_NBSCOPE 47
ede381e58d677545f69d56df0b26b1959d1b9fbfvboxsync#define RFC1533_XFS 48
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_XDM 49
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC2132_REQ_ADDR 50
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC2132_LEASE_TIME 51
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC2132_MSG_TYPE 53
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC2132_SRV_ID 54
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC2132_PARAM_LIST 55
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC2132_MAX_SIZE 57
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC2132_RENEWAL_TIME 58
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC2132_REBIND_TIME 59
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define DHCPDISCOVER 1
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define DHCPOFFER 2
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define DHCPREQUEST 3
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define DHCPACK 5
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define DHCPNAK 6
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define DHCPRELEASE 7
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_VENDOR_MAJOR 0
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_VENDOR_MINOR 0
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_VENDOR_MAGIC 128
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_VENDOR_ADDPARM 129
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_VENDOR_ETHDEV 130
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_VENDOR_HOWTO 132
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_VENDOR_MNUOPTS 160
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_VENDOR_SELECTION 176
6812cd058fa50aaa6be6d17c291fcf82da713732vboxsync#define RFC1533_VENDOR_MOTD 184
5a1e3fdfddd9fb23f043efc077dae781b9691c23vboxsync#define RFC1533_VENDOR_NUMOFMOTD 8
1f5edbfd0fc9c890d44edbf915ebc06e75e08943vboxsync#define RFC1533_VENDOR_IMG 192
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_VENDOR_NUMOFIMG 16
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define RFC1533_END 255
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define BOOTP_VENDOR_LEN 64
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync#define DHCP_OPT_LEN 312
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsyncstruct bootp_t
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync{
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync struct ip ip;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync struct udphdr udp;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync uint8_t bp_op;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync uint8_t bp_htype;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync uint8_t bp_hlen;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync uint8_t bp_hops;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync uint32_t bp_xid;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync uint16_t bp_secs;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync uint16_t unused;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync struct in_addr bp_ciaddr;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync struct in_addr bp_yiaddr;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync struct in_addr bp_siaddr;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync struct in_addr bp_giaddr;
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync uint8_t bp_hwaddr[16];
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync uint8_t bp_sname[64];
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync uint8_t bp_file[128];
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync uint8_t bp_vend[DHCP_OPT_LEN];
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync};
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsyncvoid bootp_input(PNATState, struct mbuf *m);
2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374vboxsync