X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=lib%2Fpb-config%2Fpb-config.c;h=b6f26c70fe16c3e3cd174d7392532d85ce43dc50;hb=dd8fe077022138d1f6aca7e6d6cceec61f56ce95;hp=5cd303b06d257e6292fc49a87f918ba24308db78;hpb=2b41985dde73e71daad90c36fa5d06c199da3ae1;p=petitboot diff --git a/lib/pb-config/pb-config.c b/lib/pb-config/pb-config.c index 5cd303b..b6f26c7 100644 --- a/lib/pb-config/pb-config.c +++ b/lib/pb-config/pb-config.c @@ -1,5 +1,6 @@ #include +#include #include #include "pb-config.h" @@ -13,8 +14,18 @@ static struct config_storage *storage; static void config_set_defaults(struct config *config) { config->autoboot_enabled = true; + config->autoboot_timeout_sec = 10; config->network.interfaces = NULL; config->network.n_interfaces = 0; + config->network.dns_servers = NULL; + config->network.n_dns_servers = 0; + + config->n_boot_priorities = 2; + config->boot_priorities = talloc_array(config, struct boot_priority, + config->n_boot_priorities); + config->boot_priorities[0].type = DEVICE_TYPE_NETWORK; + config->boot_priorities[1].type = DEVICE_TYPE_DISK; + } static void dump_config(struct config *config) @@ -23,10 +34,13 @@ static void dump_config(struct config *config) pb_log("configuration:\n"); - pb_log(" autoboot: %s\n", - config->autoboot_enabled ? "enabled" : "disabled"); + if (config->autoboot_enabled) + pb_log(" autoboot: enabled, %d sec\n", + config->autoboot_timeout_sec); + else + pb_log(" autoboot: disabled\n"); - if (config->n_network_configs > 0) + if (config->network.n_interfaces || config->network.n_dns_servers) pb_log(" network configuration:\n"); for (i = 0; i < config->network.n_interfaces; i++) { @@ -53,6 +67,8 @@ static void dump_config(struct config *config) } } + for (i = 0; i < config->network.n_dns_servers; i++) + pb_log(" dns server %s\n", config->network.dns_servers[i]); } int config_init(void *ctx) @@ -69,6 +85,18 @@ int config_init(void *ctx) return 0; } +/* A non-exported function to allow the test infrastructure to initialise + * (and change) the configuration variables */ +struct parser_test; +struct config __attribute__((unused)) *test_config_init( + struct parser_test *test); +struct config *test_config_init(struct parser_test *test) +{ + config = talloc(test, struct config); + config_set_defaults(config); + return config; +} + const struct config *config_get(void) { return config;