]> git.ozlabs.org Git - petitboot/blobdiff - lib/pb-config/pb-config.c
lib/pb-config/powerpc-nvram: Use talloc_zero for interface configs
[petitboot] / lib / pb-config / pb-config.c
index 315d9905659369ea8224f4ef8318de459138786e..b6f26c70fe16c3e3cd174d7392532d85ce43dc50 100644 (file)
@@ -1,5 +1,6 @@
 
 #include <log/log.h>
+#include <types/types.h>
 #include <talloc/talloc.h>
 
 #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,8 +34,11 @@ 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->network.n_interfaces || config->network.n_dns_servers)
                pb_log(" network configuration:\n");
@@ -71,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;