X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=lib%2Fpb-config%2Fpb-config.h;h=90babaa1d22dabe07e5652bca7080dbab8531bba;hp=c377087414dbc30c788a6d4ac88fc475e7ba8961;hb=8e259f91a75cf9fd7f839cd95aa71c2fe07757f1;hpb=37d865eb008f746a0b013557312c6b44c7236eb7 diff --git a/lib/pb-config/pb-config.h b/lib/pb-config/pb-config.h index c377087..90babaa 100644 --- a/lib/pb-config/pb-config.h +++ b/lib/pb-config/pb-config.h @@ -4,9 +4,11 @@ #include #include +#include + #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 */