X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=lib%2Ftypes%2Ftypes.h;h=5c5f6ed80110e8e341bc2f3380add6b63f2affa8;hp=e22dbc307d478389047ad32de52076c57ad955b7;hb=d19b94a83870f7b2a41e55d7462bcf36d2b5ba0b;hpb=366ff957d2900eae6d26ad2f002b735302e7eb41 diff --git a/lib/types/types.h b/lib/types/types.h index e22dbc3..5c5f6ed 100644 --- a/lib/types/types.h +++ b/lib/types/types.h @@ -8,11 +8,23 @@ 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); @@ -53,6 +65,7 @@ struct boot_command { char *initrd_file; char *dtb_file; char *boot_args; + char *tty; }; struct boot_status { @@ -81,6 +94,15 @@ 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; @@ -102,6 +124,7 @@ struct interface_config { struct { char *address; char *gateway; + char *url; } static_config; }; }; @@ -113,15 +136,6 @@ struct network_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, @@ -138,17 +152,21 @@ struct config { 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 *boot_tty; char *lang; /* not user-settable */ + unsigned int n_tty; + char **tty_list; + bool disable_snapshots; bool safe_mode; bool debug; };