[settings] Add the notion of a "tag magic" to numbered settings
authorMichael Brown <mcb30@etherboot.org>
Wed, 29 Oct 2008 18:17:02 +0000 (18:17 +0000)
committerMichael Brown <mcb30@etherboot.org>
Thu, 30 Oct 2008 21:47:14 +0000 (21:47 +0000)
commit0a6c66a83018c64d961ee4e8601ae8950cbee00b
treec4adb1baea7c87b4e0bbd9f7d1f9127e738065d5
parent621101c36a61320ba965063658fde0eee94f73e0
[settings] Add the notion of a "tag magic" to numbered settings

Settings can be constructed using a dotted-decimal notation, to allow
for access to unnamed settings.  The default interpretation is as a
DHCP option number (with encapsulated options represented as
"<encapsulating option>.<encapsulated option>".

In several contexts (e.g. SMBIOS, Phantom CLP), it is useful to
interpret the dotted-decimal notation as referring to non-DHCP
options.  In this case, it becomes necessary for these contexts to
ignore standard DHCP options, otherwise we end up trying to, for
example, retrieve the boot filename from SMBIOS.

Allow settings blocks to specify a "tag magic".  When dotted-decimal
notation is used to construct a setting, the tag magic value of the
originating settings block will be ORed in to the tag number.
Store/fetch methods can then check for the magic number before
interpreting arbitrarily-numbered settings.
src/arch/i386/firmware/pcbios/smbios_settings.c
src/core/nvo.c
src/core/settings.c
src/drivers/net/phantom/phantom.c
src/include/gpxe/settings.h
src/net/netdevice.c
src/net/udp/dhcp.c