[systemd-devel] [PATCH 3/4] Move UnitLoadState definitions from core/unit.c to shared/unit-name.c

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Wed Jun 6 07:56:20 PDT 2012


This makes it possible to use them from systemctl without linking
against the core.
---
 src/core/unit.c        | 10 ----------
 src/core/unit.h        | 14 --------------
 src/shared/unit-name.c | 10 ++++++++++
 src/shared/unit-name.h | 14 ++++++++++++++
 4 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/src/core/unit.c b/src/core/unit.c
index f53bdd5..835152b 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -2775,16 +2775,6 @@ int unit_add_mount_links(Unit *u) {
         return 0;
 }
 
-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);
-
 static const char* const unit_active_state_table[_UNIT_ACTIVE_STATE_MAX] = {
         [UNIT_ACTIVE] = "active",
         [UNIT_RELOADING] = "reloading",
diff --git a/src/core/unit.h b/src/core/unit.h
index 049b1db..8311e08 100644
--- a/src/core/unit.h
+++ b/src/core/unit.h
@@ -28,7 +28,6 @@
 typedef struct Unit Unit;
 typedef struct UnitVTable UnitVTable;
 typedef enum UnitType UnitType;
-typedef enum UnitLoadState UnitLoadState;
 typedef enum UnitActiveState UnitActiveState;
 typedef enum UnitDependency UnitDependency;
 typedef struct UnitRef UnitRef;
@@ -43,16 +42,6 @@ typedef struct UnitStatusMessageFormats UnitStatusMessageFormats;
 #include "install.h"
 #include "unit-name.h"
 
-enum UnitLoadState {
-        UNIT_STUB,
-        UNIT_LOADED,
-        UNIT_ERROR,
-        UNIT_MERGED,
-        UNIT_MASKED,
-        _UNIT_LOAD_STATE_MAX,
-        _UNIT_LOAD_STATE_INVALID = -1
-};
-
 enum UnitActiveState {
         UNIT_ACTIVE,
         UNIT_RELOADING,
@@ -554,9 +543,6 @@ void unit_ref_unset(UnitRef *ref);
 int unit_add_one_mount_link(Unit *u, Mount *m);
 int unit_add_mount_links(Unit *u);
 
-const char *unit_load_state_to_string(UnitLoadState i);
-UnitLoadState unit_load_state_from_string(const char *s);
-
 const char *unit_active_state_to_string(UnitActiveState i);
 UnitActiveState unit_active_state_from_string(const char *s);
 
diff --git a/src/shared/unit-name.c b/src/shared/unit-name.c
index 5072bc8..ed5e913 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_no_type(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 26de943..746e4c0 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);
-- 
1.7.10.2.667.gf1138e2



More information about the systemd-devel mailing list