protocol: Add block device information to system info
[petitboot] / lib / types / types.h
index 9bb800ca4d125daa5d57169c8256e3d898eb05ea..d2a2918c7b3fe2cd077219ab6319b87c5d1dde01 100644 (file)
@@ -66,12 +66,57 @@ struct interface_info {
        char            *name;
 };
 
+struct blockdev_info {
+       char            *name;
+       char            *uuid;
+       char            *mountpoint;
+};
+
 struct system_info {
        char                    *type;
        char                    *identifier;
        struct interface_info   **interfaces;
        unsigned int            n_interfaces;
+       struct blockdev_info    **blockdevs;
+       unsigned int            n_blockdevs;
+};
+
+#define HWADDR_SIZE    6
+
+struct interface_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;
+               } static_config;
+       };
 };
 
+struct network_config {
+       struct interface_config **interfaces;
+       unsigned int            n_interfaces;
+       const char              **dns_servers;
+       unsigned int            n_dns_servers;
+};
+
+struct boot_priority {
+       enum device_type        type;
+};
+
+struct config {
+       bool                    autoboot_enabled;
+       unsigned int            autoboot_timeout_sec;
+       struct network_config   network;
+       struct boot_priority    *boot_priorities;
+       unsigned int            n_boot_priorities;
+};
 
 #endif /* _TYPES_H */