18 IPMI_BOOTDEV_NONE = 0x00,
19 IPMI_BOOTDEV_NETWORK = 0x01,
20 IPMI_BOOTDEV_DISK = 0x2,
21 IPMI_BOOTDEV_SAFE = 0x3,
22 IPMI_BOOTDEV_CDROM = 0x5,
23 IPMI_BOOTDEV_SETUP = 0x6,
24 IPMI_BOOTDEV_INVALID = 0xff,
27 const char *ipmi_bootdev_display_name(enum ipmi_bootdev bootdev);
28 const char *device_type_display_name(enum device_type type);
29 const char *device_type_name(enum device_type type);
30 enum device_type find_device_type(const char *str);
34 enum device_type type;
40 struct list boot_options;
51 char *boot_image_file;
57 bool is_autoboot_default;
59 struct list_item list;
65 DISCOVER_PLUGIN_OPTION,
69 struct plugin_option {
78 unsigned int n_executables;
86 char *boot_image_file;
104 struct statuslog_entry {
105 struct status *status;
106 struct list_item list;
109 struct interface_info {
110 unsigned int hwaddr_size;
118 struct blockdev_info {
127 char **platform_primary;
128 char **platform_other;
129 unsigned int n_primary;
130 unsigned int n_other;
133 unsigned int n_bmc_current;
134 unsigned int n_bmc_golden;
136 struct interface_info **interfaces;
137 unsigned int n_interfaces;
138 struct blockdev_info **blockdevs;
139 unsigned int n_blockdevs;
142 #define HWADDR_SIZE 6
144 struct interface_config {
145 uint8_t hwaddr[HWADDR_SIZE];
149 CONFIG_METHOD_STATIC,
163 struct network_config {
164 struct interface_config **interfaces;
165 unsigned int n_interfaces;
166 const char **dns_servers;
167 unsigned int n_dns_servers;
170 struct autoboot_option {
176 enum device_type type;
182 bool autoboot_enabled;
183 unsigned int autoboot_timeout_sec;
184 struct network_config network;
186 struct autoboot_option *autoboot_opts;
187 unsigned int n_autoboot_opts;
189 unsigned int ipmi_bootdev;
190 bool ipmi_bootdev_persistent;
201 /* not user-settable */
202 unsigned int n_consoles;
204 bool disable_snapshots;
209 bool config_autoboot_active(const struct config *config);
211 #endif /* _TYPES_H */