diff options
author | Michael Brown | 2011-03-23 12:57:29 +0100 |
---|---|---|
committer | Michael Brown | 2011-03-23 12:57:29 +0100 |
commit | 8482451812d6b48e65a1016447f30591099ded62 (patch) | |
tree | bef63118eeba5e9435fd6c00ec9bf4995ff71499 /src/include/ipxe/settings.h | |
parent | [settings] Fix setting expansion (diff) | |
download | ipxe-8482451812d6b48e65a1016447f30591099ded62.tar.gz ipxe-8482451812d6b48e65a1016447f30591099ded62.tar.xz ipxe-8482451812d6b48e65a1016447f30591099ded62.zip |
[settings] Impose a fixed order on settings
Improve the appearance of the "config" user interface by ensuring that
settings appear in some kind of logical order.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/settings.h')
-rw-r--r-- | src/include/ipxe/settings.h | 52 |
1 files changed, 35 insertions, 17 deletions
diff --git a/src/include/ipxe/settings.h b/src/include/ipxe/settings.h index 724877fe..0f1ec5ba 100644 --- a/src/include/ipxe/settings.h +++ b/src/include/ipxe/settings.h @@ -65,7 +65,27 @@ struct setting { #define SETTINGS __table ( struct setting, "settings" ) /** Declare a configuration setting */ -#define __setting __table_entry ( SETTINGS, 01 ) +#define __setting( setting_order ) __table_entry ( SETTINGS, setting_order ) + +/** @defgroup setting_order Setting ordering + * @{ + */ + +#define SETTING_NETDEV 01 /**< Network device settings */ +#define SETTING_NETDEV_EXTRA 02 /**< Network device additional settings */ +#define SETTING_IPv4 03 /**< IPv4 settings */ +#define SETTING_IPv4_EXTRA 04 /**< IPv4 additional settings */ +#define SETTING_BOOT 05 /**< Generic boot settings */ +#define SETTING_BOOT_EXTRA 06 /**< Generic boot additional settings */ +#define SETTING_SANBOOT 07 /**< SAN boot settings */ +#define SETTING_SANBOOT_EXTRA 08 /**< SAN boot additional settings */ +#define SETTING_HOST 09 /**< Host identity settings */ +#define SETTING_HOST_EXTRA 10 /**< Host identity additional settings */ +#define SETTING_AUTH 11 /**< Authentication settings */ +#define SETTING_AUTH_EXTRA 12 /**< Authentication additional settings */ +#define SETTING_MISC 13 /**< Miscellaneous settings */ + +/** @} */ /** Settings block operations */ struct settings_operations { @@ -273,22 +293,20 @@ extern struct setting_type setting_type_uint32 __setting_type; extern struct setting_type setting_type_hex __setting_type; extern struct setting_type setting_type_uuid __setting_type; -extern struct setting ip_setting __setting; -extern struct setting netmask_setting __setting; -extern struct setting gateway_setting __setting; -extern struct setting dns_setting __setting; -extern struct setting domain_setting __setting; -extern struct setting hostname_setting __setting; -extern struct setting filename_setting __setting; -extern struct setting root_path_setting __setting; -extern struct setting username_setting __setting; -extern struct setting password_setting __setting; -extern struct setting priority_setting __setting; -extern struct setting uuid_setting __setting; -extern struct setting next_server_setting __setting; -extern struct setting mac_setting __setting; -extern struct setting busid_setting __setting; -extern struct setting user_class_setting __setting; +extern struct setting ip_setting __setting ( SETTING_IPv4 ); +extern struct setting netmask_setting __setting ( SETTING_IPv4 ); +extern struct setting gateway_setting __setting ( SETTING_IPv4 ); +extern struct setting dns_setting __setting ( SETTING_IPv4_EXTRA ); +extern struct setting hostname_setting __setting ( SETTING_HOST ); +extern struct setting filename_setting __setting ( SETTING_BOOT ); +extern struct setting root_path_setting __setting ( SETTING_SANBOOT ); +extern struct setting username_setting __setting ( SETTING_AUTH ); +extern struct setting password_setting __setting ( SETTING_AUTH ); +extern struct setting priority_setting __setting ( SETTING_MISC ); +extern struct setting uuid_setting __setting ( SETTING_HOST ); +extern struct setting next_server_setting __setting ( SETTING_BOOT ); +extern struct setting mac_setting __setting ( SETTING_NETDEV ); +extern struct setting busid_setting __setting ( SETTING_NETDEV ); /** * Initialise a settings block |