From: Samuel Mendoza-Jonas Date: Tue, 7 Apr 2015 23:45:43 +0000 (+1000) Subject: lib: Move ipmi_bootdev enum to types.h X-Git-Tag: v1.0.0~74^2~6 X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=b9af039e99527159aad905c3395fa974b9621f8e;hp=893cfce3e9ea91a68e678829fb8e7e37102e2b41 lib: Move ipmi_bootdev enum to types.h Move the ipmi_bootdev definition to types.h to support returning descriptive strings to the system configuration UI. Signed-off-by: Samuel Mendoza-Jonas --- diff --git a/discover/ipmi.h b/discover/ipmi.h index 83f2910..3b11683 100644 --- a/discover/ipmi.h +++ b/discover/ipmi.h @@ -4,6 +4,8 @@ #include #include +#include + enum ipmi_netfn { IPMI_NETFN_CHASSIS = 0x0, IPMI_NETFN_SE = 0x04, @@ -15,15 +17,6 @@ enum ipmi_cmd { IPMI_CMD_SENSOR_SET = 0x30, }; -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, -}; - enum ipmi_sensor_ids { IPMI_SENSOR_ID_OS_BOOT = 0x1F, }; diff --git a/discover/platform-powerpc.c b/discover/platform-powerpc.c index bbffb60..d777bc0 100644 --- a/discover/platform-powerpc.c +++ b/discover/platform-powerpc.c @@ -716,6 +716,7 @@ static void set_ipmi_bootdev(struct config *config, enum ipmi_bootdev bootdev, case IPMI_BOOTDEV_DISK: case IPMI_BOOTDEV_NETWORK: case IPMI_BOOTDEV_CDROM: + default: break; case IPMI_BOOTDEV_SETUP: config->autoboot_enabled = false; diff --git a/lib/types/types.c b/lib/types/types.c index 059e52a..95a3a48 100644 --- a/lib/types/types.c +++ b/lib/types/types.c @@ -2,6 +2,26 @@ #include #include +const char *ipmi_bootdev_display_name(enum ipmi_bootdev bootdev) +{ + switch (bootdev) { + case IPMI_BOOTDEV_NONE: + return _("None"); + case IPMI_BOOTDEV_NETWORK: + return _("Network"); + case IPMI_BOOTDEV_DISK: + return _("Disk"); + case IPMI_BOOTDEV_SAFE: + return _("Safe Mode"); + case IPMI_BOOTDEV_CDROM: + return _("Optical"); + case IPMI_BOOTDEV_SETUP: + return _("Setup Mode"); + default: + return _("Unknown"); + } +} + const char *device_type_display_name(enum device_type type) { switch (type) { diff --git a/lib/types/types.h b/lib/types/types.h index 3bb8c9b..e5c7e3e 100644 --- a/lib/types/types.h +++ b/lib/types/types.h @@ -13,6 +13,17 @@ enum device_type { 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);