]> git.ozlabs.org Git - petitboot/blobdiff - lib/pb-config/pb-config.h
network: handle DNS config
[petitboot] / lib / pb-config / pb-config.h
index cfcf025fee046f9d8d3d142b0ee1cf5de88a91b0..6a64ef116670030783e685350b82313f24add494 100644 (file)
@@ -6,7 +6,7 @@
 
 #define HWADDR_SIZE    6
 
 
 #define HWADDR_SIZE    6
 
-struct network_config {
+struct interface_config {
        uint8_t hwaddr[HWADDR_SIZE];
        bool    ignore;
        enum {
        uint8_t hwaddr[HWADDR_SIZE];
        bool    ignore;
        enum {
@@ -19,20 +19,26 @@ struct network_config {
                struct {
                        char *address;
                        char *gateway;
                struct {
                        char *address;
                        char *gateway;
-                       char *dns;
                } static_config;
        };
 };
 
                } static_config;
        };
 };
 
+struct network_config {
+       struct interface_config **interfaces;
+       int                     n_interfaces;
+       const char              **dns_servers;
+       int                     n_dns_servers;
+};
+
 struct config {
        bool                    autoboot_enabled;
 struct config {
        bool                    autoboot_enabled;
-       struct network_config   **network_configs;
-       int                     n_network_configs;
+       struct network_config   network;
 };
 
 
 int config_init(void *ctx);
 const struct config *config_get(void);
 };
 
 
 int config_init(void *ctx);
 const struct config *config_get(void);
+void config_set_autoboot(bool autoboot_enabled);
 int config_fini(void);
 
 #endif /* CONFIGURATION_H */
 int config_fini(void);
 
 #endif /* CONFIGURATION_H */