X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=lib%2Ftypes%2Ftypes.c;h=f4510e10ddf8d27ab4c6ff3950451e649b6673e0;hp=63045e1a29d2a933abd98bb8ed8826f2adea7a9c;hb=HEAD;hpb=b4d338c2ae40f16091a4bb4a0cc4f2e322f4f4b9 diff --git a/lib/types/types.c b/lib/types/types.c index 63045e1..f4510e1 100644 --- a/lib/types/types.c +++ b/lib/types/types.c @@ -35,6 +35,8 @@ const char *device_type_display_name(enum device_type type) return _("Network"); case DEVICE_TYPE_ANY: return _("Any"); + case DEVICE_TYPE_LUKS: + return _("Encrypted Device"); case DEVICE_TYPE_UNKNOWN: default: return _("Unknown"); @@ -54,6 +56,8 @@ const char *device_type_name(enum device_type type) return "network"; case DEVICE_TYPE_ANY: return "any"; + case DEVICE_TYPE_LUKS: + return "encrypted"; case DEVICE_TYPE_UNKNOWN: default: return "unknown"; @@ -72,6 +76,20 @@ enum device_type find_device_type(const char *str) 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; +}