mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-11 05:17:44 +03:00
unit: Move UnitType definitions from core/unit.c to shared/unit-name.c
This makes it possible to use them from systemctl without linking against the core. A string->enum lookup table is added.
This commit is contained in:
parent
c66d36e5b5
commit
0a9f8ed00c
@ -41,21 +41,7 @@ typedef struct UnitStatusMessageFormats UnitStatusMessageFormats;
|
||||
#include "execute.h"
|
||||
#include "condition.h"
|
||||
#include "install.h"
|
||||
|
||||
enum UnitType {
|
||||
UNIT_SERVICE = 0,
|
||||
UNIT_SOCKET,
|
||||
UNIT_TARGET,
|
||||
UNIT_DEVICE,
|
||||
UNIT_MOUNT,
|
||||
UNIT_AUTOMOUNT,
|
||||
UNIT_SNAPSHOT,
|
||||
UNIT_TIMER,
|
||||
UNIT_SWAP,
|
||||
UNIT_PATH,
|
||||
_UNIT_TYPE_MAX,
|
||||
_UNIT_TYPE_INVALID = -1
|
||||
};
|
||||
#include "unit-name.h"
|
||||
|
||||
enum UnitLoadState {
|
||||
UNIT_STUB,
|
||||
|
@ -33,6 +33,21 @@
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
|
||||
":-_.\\"
|
||||
|
||||
static const char* const unit_type_table[_UNIT_TYPE_MAX] = {
|
||||
[UNIT_SERVICE] = "service",
|
||||
[UNIT_SOCKET] = "socket",
|
||||
[UNIT_TARGET] = "target",
|
||||
[UNIT_DEVICE] = "device",
|
||||
[UNIT_MOUNT] = "mount",
|
||||
[UNIT_AUTOMOUNT] = "automount",
|
||||
[UNIT_SNAPSHOT] = "snapshot",
|
||||
[UNIT_TIMER] = "timer",
|
||||
[UNIT_SWAP] = "swap",
|
||||
[UNIT_PATH] = "path",
|
||||
};
|
||||
|
||||
DEFINE_STRING_TABLE_LOOKUP(unit_type, UnitType);
|
||||
|
||||
bool unit_name_is_valid_no_type(const char *n, bool template_ok) {
|
||||
const char *e, *i, *at;
|
||||
|
||||
|
@ -26,6 +26,26 @@
|
||||
|
||||
#define UNIT_NAME_MAX 256
|
||||
|
||||
typedef enum UnitType UnitType;
|
||||
|
||||
enum UnitType {
|
||||
UNIT_SERVICE = 0,
|
||||
UNIT_SOCKET,
|
||||
UNIT_TARGET,
|
||||
UNIT_DEVICE,
|
||||
UNIT_MOUNT,
|
||||
UNIT_AUTOMOUNT,
|
||||
UNIT_SNAPSHOT,
|
||||
UNIT_TIMER,
|
||||
UNIT_SWAP,
|
||||
UNIT_PATH,
|
||||
_UNIT_TYPE_MAX,
|
||||
_UNIT_TYPE_INVALID = -1
|
||||
};
|
||||
|
||||
const char *unit_type_to_string(UnitType i);
|
||||
UnitType unit_type_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);
|
||||
|
Loading…
Reference in New Issue
Block a user