|
@@ -23,7 +23,9 @@ struct dhcp_packet {
|
23
|
23
|
uint8_t op;
|
24
|
24
|
/** Hardware address type
|
25
|
25
|
*
|
26
|
|
- * This is an ARPHRD_XXX constant.
|
|
26
|
+ * This is an ARPHRD_XXX constant. Note that ARPHRD_XXX
|
|
27
|
+ * constants are nominally 16 bits wide; this could be
|
|
28
|
+ * considered to be a bug in the BOOTP/DHCP specification.
|
27
|
29
|
*/
|
28
|
30
|
uint8_t htype;
|
29
|
31
|
/** Hardware address length */
|
|
@@ -274,6 +276,14 @@ struct dhcp_option_block {
|
274
|
276
|
signed int priority;
|
275
|
277
|
};
|
276
|
278
|
|
|
279
|
+/** A DHCP session */
|
|
280
|
+struct dhcp_session {
|
|
281
|
+ /** Network device being configured */
|
|
282
|
+ struct net_device *netdev;
|
|
283
|
+ /** Transaction ID, in network-endian order */
|
|
284
|
+ uint32_t xid;
|
|
285
|
+};
|
|
286
|
+
|
277
|
287
|
extern unsigned long dhcp_num_option ( struct dhcp_option *option );
|
278
|
288
|
extern struct dhcp_option *
|
279
|
289
|
find_dhcp_option ( struct dhcp_option_block *options, unsigned int tag );
|