};
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);
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;
+}
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),