machine: enum AcquireMetadata

This commit is contained in:
Ivan Kruglov
2024-10-21 17:34:11 +02:00
parent d8964f9d4d
commit 16b1b304ba
3 changed files with 24 additions and 0 deletions
+8
View File
@@ -967,3 +967,11 @@ static const char* const kill_whom_table[_KILL_WHOM_MAX] = {
};
DEFINE_STRING_TABLE_LOOKUP(kill_whom, KillWhom);
static const char* const acquire_metadata_table[_ACQUIRE_METADATA_MAX] = {
[ACQUIRE_METADATA_NO] = "no",
[ACQUIRE_METADATA_YES] = "yes",
[ACQUIRE_METADATA_GRACEFUL] = "graceful"
};
DEFINE_STRING_TABLE_LOOKUP_WITH_BOOLEAN(acquire_metadata, AcquireMetadata, ACQUIRE_METADATA_YES);
+14
View File
@@ -110,3 +110,17 @@ int machine_owns_gid(Machine *m, gid_t host_gid, gid_t *ret_internal_gid);
int machine_translate_uid(Machine *m, uid_t internal_uid, uid_t *ret_host_uid);
int machine_translate_gid(Machine *m, gid_t internal_gid, gid_t *ret_host_gid);
typedef enum AcquireMetadata {
ACQUIRE_METADATA_NO,
ACQUIRE_METADATA_YES,
ACQUIRE_METADATA_GRACEFUL,
_ACQUIRE_METADATA_MAX,
_ACQUIRE_METADATA_INVALID = -EINVAL,
} AcquireMetadata;
AcquireMetadata acquire_metadata_from_string(const char *s) _pure_;
const char* acquire_metadata_to_string(AcquireMetadata am) _const_;
inline static bool should_acquire_metadata(AcquireMetadata am) {
return am == ACQUIRE_METADATA_YES || am == ACQUIRE_METADATA_GRACEFUL;
}
+2
View File
@@ -432,6 +432,8 @@ static void machine_lookup_parameters_done(MachineLookupParameters *p) {
pidref_done(&p->pidref);
}
static JSON_DISPATCH_ENUM_DEFINE(json_dispatch_acquire_metadata, AcquireMetadata, acquire_metadata_from_string);
static int vl_method_list(sd_varlink *link, sd_json_variant *parameters, sd_varlink_method_flags_t flags, void *userdata) {
static const sd_json_dispatch_field dispatch_table[] = {
VARLINK_DISPATCH_MACHINE_LOOKUP_FIELDS(MachineLookupParameters),