diff options
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/unit-name.c | 10 | ||||
-rw-r--r-- | src/shared/unit-name.h | 14 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/shared/unit-name.c b/src/shared/unit-name.c index cbe0b05377..3e437b77a1 100644 --- a/src/shared/unit-name.c +++ b/src/shared/unit-name.c @@ -48,6 +48,16 @@ static const char* const unit_type_table[_UNIT_TYPE_MAX] = { DEFINE_STRING_TABLE_LOOKUP(unit_type, UnitType); +static const char* const unit_load_state_table[_UNIT_LOAD_STATE_MAX] = { + [UNIT_STUB] = "stub", + [UNIT_LOADED] = "loaded", + [UNIT_ERROR] = "error", + [UNIT_MERGED] = "merged", + [UNIT_MASKED] = "masked" +}; + +DEFINE_STRING_TABLE_LOOKUP(unit_load_state, UnitLoadState); + bool unit_name_is_valid(const char *n, bool template_ok) { const char *e, *i, *at; diff --git a/src/shared/unit-name.h b/src/shared/unit-name.h index cd30d65e3a..c6c09dd31f 100644 --- a/src/shared/unit-name.h +++ b/src/shared/unit-name.h @@ -27,6 +27,7 @@ #define UNIT_NAME_MAX 256 typedef enum UnitType UnitType; +typedef enum UnitLoadState UnitLoadState; enum UnitType { UNIT_SERVICE = 0, @@ -43,9 +44,22 @@ enum UnitType { _UNIT_TYPE_INVALID = -1 }; +enum UnitLoadState { + UNIT_STUB, + UNIT_LOADED, + UNIT_ERROR, + UNIT_MERGED, + UNIT_MASKED, + _UNIT_LOAD_STATE_MAX, + _UNIT_LOAD_STATE_INVALID = -1 +}; + const char *unit_type_to_string(UnitType i); UnitType unit_type_from_string(const char *s); +const char *unit_load_state_to_string(UnitLoadState i); +UnitLoadState unit_load_state_from_string(const char *s); + int unit_name_to_instance(const char *n, char **instance); char* unit_name_to_prefix(const char *n); char* unit_name_to_prefix_and_instance(const char *n); |