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