chiark / gitweb /
service: add options RestartPreventExitStatus and SuccessExitStatus
[elogind.git] / src / shared / exit-status.h
index 813f1ce1b4a236a9e7fc4cc5b3bff77f928a36a4..d3b548fc96ad40df3a0cee43612ee658deb6e290 100644 (file)
@@ -1,7 +1,6 @@
 /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
 
-#ifndef fooexitstatushfoo
-#define fooexitstatushfoo
+#pragma once
 
 /***
   This file is part of systemd.
@@ -23,7 +22,7 @@
 ***/
 
 #include <stdbool.h>
-
+#include "set.h"
 typedef enum ExitStatus {
         /* EXIT_SUCCESS defined by libc */
         /* EXIT_FAILURE defined by libc */
@@ -78,9 +77,12 @@ typedef enum ExitStatusLevel {
         EXIT_STATUS_FULL = EXIT_STATUS_LSB
 } ExitStatusLevel;
 
-const char* exit_status_to_string(ExitStatus status, ExitStatusLevel level);
+typedef struct ExitStatusSet {
+        Set *code;
+        Set *signal;
+} ExitStatusSet;
 
-bool is_clean_exit(int code, int status);
-bool is_clean_exit_lsb(int code, int status);
+const char* exit_status_to_string(ExitStatus status, ExitStatusLevel level);
 
-#endif
+bool is_clean_exit(int code, int status, ExitStatusSet *success_status);
+bool is_clean_exit_lsb(int code, int status, ExitStatusSet *success_status);