enum device_type {
DEVICE_TYPE_NETWORK,
DEVICE_TYPE_DISK,
+ DEVICE_TYPE_USB,
DEVICE_TYPE_OPTICAL,
DEVICE_TYPE_ANY,
DEVICE_TYPE_UNKNOWN,
};
+enum ipmi_bootdev {
+ IPMI_BOOTDEV_NONE = 0x00,
+ IPMI_BOOTDEV_NETWORK = 0x01,
+ IPMI_BOOTDEV_DISK = 0x2,
+ IPMI_BOOTDEV_SAFE = 0x3,
+ IPMI_BOOTDEV_CDROM = 0x5,
+ IPMI_BOOTDEV_SETUP = 0x6,
+ IPMI_BOOTDEV_INVALID = 0xff,
+};
+
+const char *ipmi_bootdev_display_name(enum ipmi_bootdev bootdev);
const char *device_type_display_name(enum device_type type);
const char *device_type_name(enum device_type type);
enum device_type find_device_type(const char *str);
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;
};
};
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 autoboot_option {
enum {
BOOT_DEVICE_TYPE,
unsigned int autoboot_timeout_sec;
struct network_config network;
- struct boot_priority *boot_priorities;
- unsigned int n_boot_priorities;
-
- char *boot_device;
+ struct autoboot_option *autoboot_opts;
+ unsigned int n_autoboot_opts;
unsigned int ipmi_bootdev;
bool ipmi_bootdev_persistent;
+ bool allow_writes;
+
char *lang;
/* not user-settable */
+ bool disable_snapshots;
bool safe_mode;
bool debug;
};