summaryrefslogtreecommitdiff
path: root/src/service.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/service.h')
-rw-r--r--src/service.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/service.h b/src/service.h
index dbae68b80a..b1e8b90470 100644
--- a/src/service.h
+++ b/src/service.h
@@ -88,6 +88,17 @@ typedef enum NotifyAccess {
_NOTIFY_ACCESS_INVALID = -1
} NotifyAccess;
+typedef enum ServiceResult {
+ SERVICE_SUCCESS,
+ SERVICE_FAILURE_RESOURCES,
+ SERVICE_FAILURE_TIMEOUT,
+ SERVICE_FAILURE_EXIT_CODE,
+ SERVICE_FAILURE_SIGNAL,
+ SERVICE_FAILURE_CORE_DUMP,
+ _SERVICE_RESULT_MAX,
+ _SERVICE_RESULT_INVALID = -1
+} ServiceResult;
+
struct Service {
Unit meta;
@@ -132,8 +143,8 @@ struct Service {
bool guess_main_pid;
/* If we shut down, remember why */
- bool failure:1;
- bool reload_failure:1;
+ ServiceResult result;
+ ServiceResult reload_result;
bool main_pid_known:1;
bool main_pid_alien:1;
@@ -186,4 +197,7 @@ ServiceExecCommand service_exec_command_from_string(const char *s);
const char* notify_access_to_string(NotifyAccess i);
NotifyAccess notify_access_from_string(const char *s);
+const char* service_result_to_string(ServiceResult i);
+ServiceResult service_result_from_string(const char *s);
+
#endif