]> git.ozlabs.org Git - petitboot/blobdiff - lib/pb-config/pb-config.h
lib: Add pb-config module
[petitboot] / lib / pb-config / pb-config.h
diff --git a/lib/pb-config/pb-config.h b/lib/pb-config/pb-config.h
new file mode 100644 (file)
index 0000000..cfcf025
--- /dev/null
@@ -0,0 +1,39 @@
+#ifndef CONFIGURATION_H
+#define CONFIGURATION_H
+
+#include <stdbool.h>
+#include <stdint.h>
+
+#define HWADDR_SIZE    6
+
+struct network_config {
+       uint8_t hwaddr[HWADDR_SIZE];
+       bool    ignore;
+       enum {
+               CONFIG_METHOD_DHCP,
+               CONFIG_METHOD_STATIC,
+       } method;
+       union {
+               struct {
+               } dhcp_config;
+               struct {
+                       char *address;
+                       char *gateway;
+                       char *dns;
+               } static_config;
+       };
+};
+
+struct config {
+       bool                    autoboot_enabled;
+       struct network_config   **network_configs;
+       int                     n_network_configs;
+};
+
+
+int config_init(void *ctx);
+const struct config *config_get(void);
+int config_fini(void);
+
+#endif /* CONFIGURATION_H */
+