enum device_type {
DEVICE_TYPE_NETWORK,
DEVICE_TYPE_DISK,
+ DEVICE_TYPE_USB,
DEVICE_TYPE_OPTICAL,
DEVICE_TYPE_ANY,
+ DEVICE_TYPE_LUKS,
DEVICE_TYPE_UNKNOWN,
};
char *initrd_file;
char *dtb_file;
char *boot_args;
+ char *args_sig_file;
bool is_default;
+ bool is_autoboot_default;
struct list_item list;
void *ui_info;
+
+ enum {
+ DISCOVER_BOOT_OPTION,
+ DISCOVER_PLUGIN_OPTION,
+ } type;
+};
+
+struct plugin_option {
+ char *id;
+ char *name;
+ char *vendor;
+ char *vendor_id;
+ char *version;
+ char *date;
+ char *plugin_file;
+
+ unsigned int n_executables;
+ char **executables;
+
+ void *ui_info;
};
struct boot_command {
char *initrd_file;
char *dtb_file;
char *boot_args;
+ char *args_sig_file;
+ char *console;
};
-struct boot_status {
- enum {
- BOOT_STATUS_INFO,
- BOOT_STATUS_ERROR,
+struct status {
+ enum status_type {
+ STATUS_INFO,
+ STATUS_ERROR,
} type;
char *message;
- char *detail;
- int progress;
+ bool backlog;
+ bool boot_active;
+};
+
+struct statuslog_entry {
+ struct status *status;
+ struct list_item list;
};
struct interface_info {
uint8_t *hwaddr;
char *name;
bool link;
+ char *address;
+ char *address_v6;
};
struct blockdev_info {
struct system_info {
char *type;
char *identifier;
+ char **platform_primary;
+ char **platform_other;
+ unsigned int n_primary;
+ unsigned int n_other;
+ char **bmc_current;
+ char **bmc_golden;
+ unsigned int n_bmc_current;
+ unsigned int n_bmc_golden;
+ uint8_t *bmc_mac;
struct interface_info **interfaces;
unsigned int n_interfaces;
struct blockdev_info **blockdevs;
struct {
char *address;
char *gateway;
+ char *url;
} static_config;
};
+ bool override;
};
struct network_config {
unsigned int ipmi_bootdev;
bool ipmi_bootdev_persistent;
+ bool ipmi_bootdev_mailbox;
+
+ char *http_proxy;
+ char *https_proxy;
+ bool allow_writes;
+
+ char *boot_console;
+ bool manual_console;
char *lang;
/* not user-settable */
+ unsigned int n_consoles;
+ char **consoles;
+ bool disable_snapshots;
bool safe_mode;
bool debug;
};
+bool config_autoboot_active(const struct config *config);
+
#endif /* _TYPES_H */