summaryrefslogtreecommitdiffstats
path: root/src/include/gpxe/settings.h
Commit message (Collapse)AuthorAgeFilesLines
* [Settings] Expose SMBIOS via settings APIMichael Brown2008-03-281-0/+5
| | | | In particular, expose the system UUID as a setting ("smbios/uuid").
* [Settings] Remove assumption that all settings have DHCP tag valuesMichael Brown2008-03-251-67/+81
| | | | | | | | | | | | 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.
* [Settings] copy_settings() should not fail if some settings are missing!Michael Brown2008-03-241-2/+0Star
|
* [Settings] Implement simple_settings backed with extensible DHCP optionsMichael Brown2008-03-221-2/+28
|
* [Settings] Migrate DHCP and NVO code to the new settings API (untested)Michael Brown2008-03-211-0/+5
|
* [Settings] Convert code in src/usr to use settings API.Michael Brown2008-03-211-0/+3
|
* [Settings] Introduce settings applicators.Michael Brown2008-03-211-14/+18
| | | | | | | Convert DHCP option applicators in dns.c and iscsi.c to settings applicators. Kill off DHCP option applicators.
* [Settings] Add per-netdevice settings blockMichael Brown2008-03-201-1/+1
| | | | | | | | | Add a configuration settings block for each net device. This will provide the parent scope for settings applicable only to that network device (e.g. non-volatile options stored on the NIC, options obtained via DHCP, etc.). Expose the MAC address as a setting.
* [Settings] Add settings hierarchyMichael Brown2008-03-201-46/+85
| | | | | | | | Add the notion of the settings hierarchy, complete with register/unregister routines. Rename set->store and get->fetch to avoid naming conflicts with get/put as used in reference counting.
* [Settings] Start revamping the configuration settings API.Michael Brown2008-03-201-80/+122
| | | | | | | | | | | | | | | | Add the concept of an abstract configuration setting, comprising a (DHCP) tag value and an associated byte sequence. Add the concept of a settings namespace. Add functions for extracting string, IPv4 address, and signed and unsigned integer values from configuration settings (analogous to dhcp_snprintf(), dhcp_ipv4_option(), etc.). Update functions for parsing and formatting named/typed options to work with new settings API. Update NVO commands and config UI to use new settings API.
* [Settings] show_setting() functions return snprintf()-style length.Michael Brown2008-03-181-2/+2
| | | | | | show_setting() and related functions now return an "actual length" in the style of snprintf(). This is to allow consumers to allocate buffers large enough to hold the formatted setting.
* Add "name" field to struct device to allow human-readable hardware deviceMichael Brown2007-01-101-2/+3
| | | | | | | | | | | names. Add "dev" pointer in struct net_device to tie network interfaces back to a hardware device. Force natural alignment of data types in __table() macros. This seems to prevent gcc from taking the unilateral decision to occasionally increase their alignment (which screws up the table packing).
* Added descriptive text for settings and setting types, and display it inMichael Brown2006-12-201-0/+4
| | | | the option config UI.
* Move {show,set,clear}_setting() to {show,set,clear}_named_setting().Michael Brown2006-12-201-5/+47
| | | | | | | | Introduce new {show,set,clear}_setting() that take a struct setting * rather than a const char *. set_setting() handles calling clear_setting() when appropriate, so that individual setting types don't have to check for empty strings.
* Added clear_setting()Michael Brown2006-12-121-0/+1
|
* Tied NVO commands into the human-interactable settings code that IMichael Brown2006-12-051-4/+4
| | | | completely forgot I'd written ages ago.
* Add string configuration typeMichael Brown2006-08-111-5/+8
|
* Added basic infrastructure for manipulating settings.Michael Brown2006-08-111-0/+103