]> git.ozlabs.org Git - petitboot/blobdiff - lib/pb-config/pb-config.h
lib/pb-config: Implement save method for powerpc nvram strorage
[petitboot] / lib / pb-config / pb-config.h
index c377087414dbc30c788a6d4ac88fc475e7ba8961..90babaa1d22dabe07e5652bca7080dbab8531bba 100644 (file)
@@ -4,9 +4,11 @@
 #include <stdbool.h>
 #include <stdint.h>
 
+#include <types/types.h>
+
 #define HWADDR_SIZE    6
 
-struct network_config {
+struct interface_config {
        uint8_t hwaddr[HWADDR_SIZE];
        bool    ignore;
        enum {
@@ -19,22 +21,38 @@ struct network_config {
                struct {
                        char *address;
                        char *gateway;
-                       char *dns;
                } static_config;
        };
 };
 
+struct network_config {
+       struct interface_config **interfaces;
+       int                     n_interfaces;
+       const char              **dns_servers;
+       int                     n_dns_servers;
+};
+
+struct boot_priority {
+       enum device_type        type;
+};
+
 struct config {
        bool                    autoboot_enabled;
-       struct network_config   **network_configs;
-       int                     n_network_configs;
+       int                     autoboot_timeout_sec;
+       struct network_config   network;
+       struct boot_priority    *boot_priorities;
+       int                     n_boot_priorities;
 };
 
 
 int config_init(void *ctx);
 const struct config *config_get(void);
+int config_set(struct config *config);
 void config_set_autoboot(bool autoboot_enabled);
 int config_fini(void);
 
+/* for use by the storage backends */
+void config_set_defaults(struct config *config);
+
 #endif /* CONFIGURATION_H */