summaryrefslogtreecommitdiffstats
path: root/src/core/settings.c
diff options
context:
space:
mode:
authorMichael Brown2006-12-20 05:58:26 +0100
committerMichael Brown2006-12-20 05:58:26 +0100
commitb93ff4817324aa4b1913c161b29d380bc4ff4146 (patch)
treeaf28fe28921a69fbf14760702b289ed0e2eb8cb5 /src/core/settings.c
parentMove {show,set,clear}_setting() to {show,set,clear}_named_setting(). (diff)
downloadipxe-b93ff4817324aa4b1913c161b29d380bc4ff4146.tar.gz
ipxe-b93ff4817324aa4b1913c161b29d380bc4ff4146.tar.xz
ipxe-b93ff4817324aa4b1913c161b29d380bc4ff4146.zip
Added descriptive text for settings and setting types, and display it in
the option config UI.
Diffstat (limited to 'src/core/settings.c')
-rw-r--r--src/core/settings.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/core/settings.c b/src/core/settings.c
index 5e025dc5..08b5afa1 100644
--- a/src/core/settings.c
+++ b/src/core/settings.c
@@ -19,6 +19,7 @@
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
+#include <strings.h>
#include <byteswap.h>
#include <errno.h>
#include <assert.h>
@@ -56,7 +57,7 @@ find_config_setting_type ( const char *name ) {
for ( type = config_setting_types ; type < config_setting_types_end ;
type++ ) {
- if ( strcmp ( name, type->name ) == 0 )
+ if ( strcasecmp ( name, type->name ) == 0 )
return type;
}
return NULL;
@@ -73,7 +74,7 @@ static struct config_setting * find_config_setting ( const char *name ) {
for ( setting = config_settings ; setting < config_settings_end ;
setting++ ) {
- if ( strcmp ( name, setting->name ) == 0 )
+ if ( strcasecmp ( name, setting->name ) == 0 )
return setting;
}
return NULL;
@@ -216,6 +217,7 @@ static int set_string ( struct config_context *context,
/** A string configuration setting */
struct config_setting_type config_setting_type_string __config_setting_type = {
.name = "string",
+ .description = "Text string",
.show = show_string,
.set = set_string,
};
@@ -269,6 +271,7 @@ static int set_ipv4 ( struct config_context *context,
/** An IPv4 configuration setting */
struct config_setting_type config_setting_type_ipv4 __config_setting_type = {
.name = "ipv4",
+ .description = "IPv4 address",
.show = show_ipv4,
.set = set_ipv4,
};
@@ -348,6 +351,7 @@ static int set_int8 ( struct config_context *context,
/** An 8-bit integer configuration setting */
struct config_setting_type config_setting_type_int8 __config_setting_type = {
.name = "int8",
+ .description = "8-bit integer",
.show = show_int,
.set = set_int8,
};
@@ -355,31 +359,37 @@ struct config_setting_type config_setting_type_int8 __config_setting_type = {
/** Some basic setting definitions */
struct config_setting ip_config_setting __config_setting = {
.name = "ip",
+ .description = "IP address of this machine (e.g. 192.168.0.1)",
.tag = DHCP_EB_YIADDR,
.type = &config_setting_type_ipv4,
};
struct config_setting hostname_config_setting __config_setting = {
.name = "hostname",
+ .description = "Host name of this machine",
.tag = DHCP_HOST_NAME,
.type = &config_setting_type_string,
};
struct config_setting username_config_setting __config_setting = {
.name = "username",
+ .description = "User name for authentication to servers",
.tag = DHCP_EB_USERNAME,
.type = &config_setting_type_string,
};
struct config_setting password_config_setting __config_setting = {
.name = "password",
+ .description = "Password for authentication to servers",
.tag = DHCP_EB_PASSWORD,
.type = &config_setting_type_string,
};
struct config_setting root_path_config_setting __config_setting = {
.name = "root-path",
+ .description = "NFS/iSCSI root path",
.tag = DHCP_ROOT_PATH,
.type = &config_setting_type_string,
};
struct config_setting priority_config_setting __config_setting = {
.name = "priority",
+ .description = "Priority of these options",
.tag = DHCP_EB_PRIORITY,
.type = &config_setting_type_int8,
};