From 92d15eff30410dcb0ec406e06b131fb7d9179ffd Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 25 Mar 2008 20:46:16 +0000 Subject: [Settings] Remove assumption that all settings have DHCP tag values Allow for settings to be described by something other than a DHCP option tag if desirable. Currently used only for the MAC address setting. Separate out fake DHCP packet creation code from dhcp.c to fakedhcp.c. Remove notion of settings from dhcppkt.c. Rationalise dhcp.c to use settings API only for final registration of the DHCP options, rather than using {store,fetch}_setting throughout. --- src/include/gpxe/dhcppkt.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/include/gpxe/dhcppkt.h') diff --git a/src/include/gpxe/dhcppkt.h b/src/include/gpxe/dhcppkt.h index 98b8dad8a..179be2f8e 100644 --- a/src/include/gpxe/dhcppkt.h +++ b/src/include/gpxe/dhcppkt.h @@ -9,15 +9,12 @@ #include #include -#include /** * A DHCP packet * */ struct dhcp_packet { - /** Settings block */ - struct settings settings; /** The DHCP packet contents */ struct dhcphdr *dhcphdr; /** Maximum length of the DHCP packet buffer */ @@ -28,7 +25,11 @@ struct dhcp_packet { struct dhcp_options options; }; -extern void dhcppkt_init ( struct dhcp_packet *dhcppkt, struct refcnt *refcnt, +extern int dhcppkt_store ( struct dhcp_packet *dhcppkt, unsigned int tag, + const void *data, size_t len ); +extern int dhcppkt_fetch ( struct dhcp_packet *dhcppkt, unsigned int tag, + void *data, size_t len ); +extern void dhcppkt_init ( struct dhcp_packet *dhcppkt, void *data, size_t len ); #endif /* _GPXE_DHCPPKT_H */ -- cgit v1.2.3-55-g7522