File:
[Qemu by Fabrice Bellard] /
qemu /
slirp /
bootp.h
Revision
1.1.1.2 (vendor branch):
download - view:
text,
annotated -
select for diffs
Tue Apr 24 17:25:35 2018 UTC (2 years, 11 months ago) by
root
Branches:
qemu,
MAIN
CVS tags:
qemu1101,
qemu1001,
qemu1000,
qemu0151,
qemu0150,
qemu0141,
qemu0140,
qemu0130,
qemu0125,
qemu0124,
qemu0123,
qemu0122,
qemu0121,
qemu0120,
qemu0111,
qemu0110,
HEAD
qemu 0.11.0
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_MESSAGE 56
67: #define RFC2132_MAX_SIZE 57
68: #define RFC2132_RENEWAL_TIME 58
69: #define RFC2132_REBIND_TIME 59
70:
71: #define DHCPDISCOVER 1
72: #define DHCPOFFER 2
73: #define DHCPREQUEST 3
74: #define DHCPACK 5
75: #define DHCPNAK 6
76:
77: #define RFC1533_VENDOR_MAJOR 0
78: #define RFC1533_VENDOR_MINOR 0
79:
80: #define RFC1533_VENDOR_MAGIC 128
81: #define RFC1533_VENDOR_ADDPARM 129
82: #define RFC1533_VENDOR_ETHDEV 130
83: #define RFC1533_VENDOR_HOWTO 132
84: #define RFC1533_VENDOR_MNUOPTS 160
85: #define RFC1533_VENDOR_SELECTION 176
86: #define RFC1533_VENDOR_MOTD 184
87: #define RFC1533_VENDOR_NUMOFMOTD 8
88: #define RFC1533_VENDOR_IMG 192
89: #define RFC1533_VENDOR_NUMOFIMG 16
90:
91: #define RFC1533_END 255
92: #define BOOTP_VENDOR_LEN 64
93: #define DHCP_OPT_LEN 312
94:
95: struct bootp_t {
96: struct ip ip;
97: struct udphdr udp;
98: uint8_t bp_op;
99: uint8_t bp_htype;
100: uint8_t bp_hlen;
101: uint8_t bp_hops;
102: uint32_t bp_xid;
103: uint16_t bp_secs;
104: uint16_t unused;
105: struct in_addr bp_ciaddr;
106: struct in_addr bp_yiaddr;
107: struct in_addr bp_siaddr;
108: struct in_addr bp_giaddr;
109: uint8_t bp_hwaddr[16];
110: uint8_t bp_sname[64];
111: uint8_t bp_file[128];
112: uint8_t bp_vend[DHCP_OPT_LEN];
113: };
114:
115: typedef struct {
116: uint16_t allocated;
117: uint8_t macaddr[6];
118: } BOOTPClient;
119:
120: #define NB_BOOTP_CLIENTS 16
121:
122: void bootp_input(struct mbuf *m);
unix.superglobalmegacorp.com