chiark / gitweb /
core: output unit status output strings to console, only if we actually are changing...
[elogind.git] / src / core / busname.h
index 7f591974de03cbe0e4c28be8d4df8c40b0f6234c..775822d8defd380fc998dee914d161906425e5bb 100644 (file)
@@ -28,8 +28,12 @@ typedef struct BusNamePolicy BusNamePolicy;
 
 typedef enum BusNameState {
         BUSNAME_DEAD,
+        BUSNAME_MAKING,
+        BUSNAME_REGISTERED,
         BUSNAME_LISTENING,
         BUSNAME_RUNNING,
+        BUSNAME_SIGTERM,
+        BUSNAME_SIGKILL,
         BUSNAME_FAILED,
         _BUSNAME_STATE_MAX,
         _BUSNAME_STATE_INVALID = -1
@@ -38,6 +42,10 @@ typedef enum BusNameState {
 typedef enum BusNameResult {
         BUSNAME_SUCCESS,
         BUSNAME_FAILURE_RESOURCES,
+        BUSNAME_FAILURE_TIMEOUT,
+        BUSNAME_FAILURE_EXIT_CODE,
+        BUSNAME_FAILURE_SIGNAL,
+        BUSNAME_FAILURE_CORE_DUMP,
         BUSNAME_FAILURE_SERVICE_FAILED_PERMANENT,
         _BUSNAME_RESULT_MAX,
         _BUSNAME_RESULT_INVALID = -1
@@ -49,44 +57,23 @@ struct BusName {
         char *name;
         int starter_fd;
 
+        bool activating;
+        bool accept_fd;
+
         UnitRef service;
 
         BusNameState state, deserialized_state;
         BusNameResult result;
 
-        sd_event_source *event_source;
+        usec_t timeout_usec;
 
-        bool accept_fd;
+        sd_event_source *starter_event_source;
+        sd_event_source *timer_event_source;
 
-        LIST_HEAD(BusNamePolicy, policy);
-};
+        pid_t control_pid;
 
-typedef enum BusNamePolicyType {
-        BUSNAME_POLICY_TYPE_USER,
-        BUSNAME_POLICY_TYPE_GROUP,
-        BUSNAME_POLICY_TYPE_WORLD,
-        _BUSNAME_POLICY_TYPE_MAX,
-        _BUSNAME_POLICY_TYPE_INVALID = -1
-} BusNamePolicyType;
-
-typedef enum BusNamePolicyAccess {
-        BUSNAME_POLICY_ACCESS_SEE,
-        BUSNAME_POLICY_ACCESS_TALK,
-        BUSNAME_POLICY_ACCESS_OWN,
-        _BUSNAME_POLICY_ACCESS_MAX,
-        _BUSNAME_POLICY_ACCESS_INVALID = -1
-} BusNamePolicyAccess;
-
-struct BusNamePolicy {
-        BusNamePolicyType type;
-        BusNamePolicyAccess access;
-
-        union {
-                uid_t uid;
-                gid_t gid;
-        };
-
-        LIST_FIELDS(BusNamePolicy, policy);
+        LIST_HEAD(BusNamePolicy, policy);
+        BusPolicyAccess policy_world;
 };
 
 extern const UnitVTable busname_vtable;
@@ -96,6 +83,3 @@ BusNameState busname_state_from_string(const char *s) _pure_;
 
 const char* busname_result_to_string(BusNameResult i) _const_;
 BusNameResult busname_result_from_string(const char *s) _pure_;
-
-const char* busname_policy_access_to_string(BusNamePolicyAccess i) _const_;
-BusNamePolicyAccess busname_policy_access_from_string(const char *s) _pure_;