X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=lib%2Ftypes%2Ftypes.c;h=f4510e10ddf8d27ab4c6ff3950451e649b6673e0;hb=f583f0cf35fc227db5f73ecd04daf7702735b740;hp=95a3a48cb4fca9571fa9a6eac54449b9c2378c2e;hpb=37b4861cb01bf6bd9da41aa1b311a87b0d26fc25;p=petitboot diff --git a/lib/types/types.c b/lib/types/types.c index 95a3a48..f4510e1 100644 --- a/lib/types/types.c +++ b/lib/types/types.c @@ -27,12 +27,16 @@ const char *device_type_display_name(enum device_type type) switch (type) { case DEVICE_TYPE_DISK: return _("Disk"); + case DEVICE_TYPE_USB: + return _("USB"); case DEVICE_TYPE_OPTICAL: - return _("Optical"); + return _("CD/DVD"); case DEVICE_TYPE_NETWORK: return _("Network"); case DEVICE_TYPE_ANY: return _("Any"); + case DEVICE_TYPE_LUKS: + return _("Encrypted Device"); case DEVICE_TYPE_UNKNOWN: default: return _("Unknown"); @@ -44,12 +48,16 @@ const char *device_type_name(enum device_type type) switch (type) { case DEVICE_TYPE_DISK: return "disk"; + case DEVICE_TYPE_USB: + return "usb"; case DEVICE_TYPE_OPTICAL: return "optical"; case DEVICE_TYPE_NETWORK: return "network"; case DEVICE_TYPE_ANY: return "any"; + case DEVICE_TYPE_LUKS: + return "encrypted"; case DEVICE_TYPE_UNKNOWN: default: return "unknown"; @@ -60,12 +68,28 @@ enum device_type find_device_type(const char *str) { if (!strncmp(str, "disk", strlen("disk"))) return DEVICE_TYPE_DISK; + if (!strncmp(str, "usb", strlen("usb"))) + return DEVICE_TYPE_USB; if (!strncmp(str, "optical", strlen("optical"))) return DEVICE_TYPE_OPTICAL; if (!strncmp(str, "network", strlen("network"))) return DEVICE_TYPE_NETWORK; if (!strncmp(str, "any", strlen("any"))) return DEVICE_TYPE_ANY; + if (!strncmp(str, "encrypted", strlen("encrypted"))) + return DEVICE_TYPE_LUKS; return DEVICE_TYPE_UNKNOWN; } + +bool config_autoboot_active(const struct config *config) +{ + enum ipmi_bootdev bootdev = config->ipmi_bootdev; + + if (!config->autoboot_enabled) + return false; + if (bootdev == IPMI_BOOTDEV_SETUP || bootdev == IPMI_BOOTDEV_SAFE) + return false; + + return true; +}