19 IPMI_BOOTDEV_NONE = 0x00,
20 IPMI_BOOTDEV_NETWORK = 0x01,
21 IPMI_BOOTDEV_DISK = 0x2,
22 IPMI_BOOTDEV_SAFE = 0x3,
23 IPMI_BOOTDEV_CDROM = 0x5,
24 IPMI_BOOTDEV_SETUP = 0x6,
25 IPMI_BOOTDEV_INVALID = 0xff,
28 const char *ipmi_bootdev_display_name(enum ipmi_bootdev bootdev);
29 const char *device_type_display_name(enum device_type type);
30 const char *device_type_name(enum device_type type);
31 enum device_type find_device_type(const char *str);
35 enum device_type type;
41 struct list boot_options;
52 char *boot_image_file;
58 bool is_autoboot_default;
60 struct list_item list;
66 DISCOVER_PLUGIN_OPTION,
70 struct plugin_option {
79 unsigned int n_executables;
87 char *boot_image_file;
105 struct statuslog_entry {
106 struct status *status;
107 struct list_item list;
110 struct interface_info {
111 unsigned int hwaddr_size;
119 struct blockdev_info {
128 char **platform_primary;
129 char **platform_other;
130 unsigned int n_primary;
131 unsigned int n_other;
134 unsigned int n_bmc_current;
135 unsigned int n_bmc_golden;
137 struct interface_info **interfaces;
138 unsigned int n_interfaces;
139 struct blockdev_info **blockdevs;
140 unsigned int n_blockdevs;
143 #define HWADDR_SIZE 6
145 struct interface_config {
146 uint8_t hwaddr[HWADDR_SIZE];
150 CONFIG_METHOD_STATIC,
164 struct network_config {
165 struct interface_config **interfaces;
166 unsigned int n_interfaces;
167 const char **dns_servers;
168 unsigned int n_dns_servers;
171 struct autoboot_option {
177 enum device_type type;
183 bool autoboot_enabled;
184 unsigned int autoboot_timeout_sec;
185 struct network_config network;
187 struct autoboot_option *autoboot_opts;
188 unsigned int n_autoboot_opts;
190 unsigned int ipmi_bootdev;
191 bool ipmi_bootdev_persistent;
192 bool ipmi_bootdev_mailbox;
203 /* not user-settable */
204 unsigned int n_consoles;
206 bool disable_snapshots;
211 bool config_autoboot_active(const struct config *config);
213 #endif /* _TYPES_H */