DEVICE_TYPE_NETWORK,
DEVICE_TYPE_DISK,
DEVICE_TYPE_OPTICAL,
+ DEVICE_TYPE_ANY,
DEVICE_TYPE_UNKNOWN,
};
unsigned int hwaddr_size;
uint8_t *hwaddr;
char *name;
+ bool link;
+};
+
+struct blockdev_info {
+ char *name;
+ char *uuid;
+ char *mountpoint;
};
struct system_info {
char *identifier;
struct interface_info **interfaces;
unsigned int n_interfaces;
+ struct blockdev_info **blockdevs;
+ unsigned int n_blockdevs;
};
#define HWADDR_SIZE 6
struct network_config {
struct interface_config **interfaces;
- int n_interfaces;
+ unsigned int n_interfaces;
const char **dns_servers;
- int n_dns_servers;
+ unsigned int n_dns_servers;
};
struct boot_priority {
+ /* Boot options with higher priority values will take precedence over
+ * lower values. Negative priorities signify "don't boot this by
+ * default".
+ */
+ int priority;
enum device_type type;
};
struct config {
bool autoboot_enabled;
- int autoboot_timeout_sec;
+ unsigned int autoboot_timeout_sec;
struct network_config network;
struct boot_priority *boot_priorities;
- int n_boot_priorities;
+ unsigned int n_boot_priorities;
+ char *boot_device;
+ char *lang;
+
+ /* not user-settable */
+ bool safe_mode;
+ bool debug;
};
#endif /* _TYPES_H */