]> git.ozlabs.org Git - petitboot/blobdiff - lib/types/types.h
Use 'consoles' instead of 'tty' to refer to interfaces
[petitboot] / lib / types / types.h
index 3bb8c9be456a6030028bb7569f4b256fa2066a3e..b7430f4910f6d5e6a97363aa5844b2064c872079 100644 (file)
@@ -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);
@@ -40,6 +52,7 @@ struct boot_option {
        char            *initrd_file;
        char            *dtb_file;
        char            *boot_args;
+       char            *args_sig_file;
        bool            is_default;
 
        struct list_item        list;
@@ -53,6 +66,8 @@ struct boot_command {
        char *initrd_file;
        char *dtb_file;
        char *boot_args;
+       char *args_sig_file;
+       char *console;
 };
 
 struct boot_status {
@@ -81,6 +96,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,8 +126,10 @@ struct interface_config {
                struct {
                        char *address;
                        char *gateway;
+                       char *url;
                } static_config;
        };
+       bool    override;
 };
 
 struct network_config {
@@ -135,9 +161,15 @@ struct config {
        unsigned int            ipmi_bootdev;
        bool                    ipmi_bootdev_persistent;
 
+       bool                    allow_writes;
+
+       char                    *boot_console;
        char                    *lang;
 
        /* not user-settable */
+       unsigned int            n_consoles;
+       char                    **consoles;
+       bool                    disable_snapshots;
        bool                    safe_mode;
        bool                    debug;
 };