From: Lennart Poettering Date: Sat, 11 May 2024 12:00:25 +0000 (+0200) Subject: import: add generic enum for choosing between tar + raw downloads X-Git-Tag: v257-rc1~1056^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=71613cd59a890514c8dddf27659912b58435c1fe;p=thirdparty%2Fsystemd.git import: add generic enum for choosing between tar + raw downloads --- diff --git a/src/shared/import-util.c b/src/shared/import-util.c index 9057b78d286..bcdc21f79ec 100644 --- a/src/shared/import-util.c +++ b/src/shared/import-util.c @@ -126,9 +126,16 @@ int import_url_change_suffix( return 0; } +static const char* const import_type_table[_IMPORT_TYPE_MAX] = { + [IMPORT_RAW] = "raw", + [IMPORT_TAR] = "tar", +}; + +DEFINE_STRING_TABLE_LOOKUP(import_type, ImportType); + static const char* const import_verify_table[_IMPORT_VERIFY_MAX] = { - [IMPORT_VERIFY_NO] = "no", - [IMPORT_VERIFY_CHECKSUM] = "checksum", + [IMPORT_VERIFY_NO] = "no", + [IMPORT_VERIFY_CHECKSUM] = "checksum", [IMPORT_VERIFY_SIGNATURE] = "signature", }; diff --git a/src/shared/import-util.h b/src/shared/import-util.h index 3b2425b9165..98b99e371fc 100644 --- a/src/shared/import-util.h +++ b/src/shared/import-util.h @@ -5,6 +5,13 @@ #include "macro.h" +typedef enum ImportType { + IMPORT_RAW, + IMPORT_TAR, + _IMPORT_TYPE_MAX, + _IMPORT_TYPE_INVALID = -EINVAL, +} ImportType; + typedef enum ImportVerify { IMPORT_VERIFY_NO, IMPORT_VERIFY_CHECKSUM, @@ -25,6 +32,9 @@ static inline int import_url_append_component(const char *url, const char *suffi return import_url_change_suffix(url, 0, suffix, ret); } +const char* import_type_to_string(ImportType v) _const_; +ImportType import_type_from_string(const char *s) _pure_; + const char* import_verify_to_string(ImportVerify v) _const_; ImportVerify import_verify_from_string(const char *s) _pure_;