X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fexecute.h;h=a6766f9e995b0ed799dc9be37aefdd47636ab0f3;hp=0dc5a1d252a14a0a5fb75bd3f0a9cee07cefd02d;hb=022ef2064f4b1bf0222341c6912680e52a4ec10d;hpb=d06dacd0020af7e31ff6089deff339b00ed979e3 diff --git a/src/execute.h b/src/execute.h index 0dc5a1d25..a6766f9e9 100644 --- a/src/execute.h +++ b/src/execute.h @@ -26,6 +26,7 @@ typedef struct ExecStatus ExecStatus; typedef struct ExecCommand ExecCommand; typedef struct ExecContext ExecContext; +#include #include #include #include @@ -54,6 +55,14 @@ typedef enum KillMode { _KILL_MODE_INVALID = -1 } KillMode; +typedef enum KillWho { + KILL_MAIN, + KILL_CONTROL, + KILL_ALL, + _KILL_WHO_MAX, + _KILL_WHO_INVALID = -1 +} KillWho; + typedef enum ExecInput { EXEC_INPUT_NULL, EXEC_INPUT_TTY, @@ -97,7 +106,7 @@ struct ExecContext { char *working_directory, *root_directory; mode_t umask; - int oom_adjust; + int oom_score_adjust; int nice; int ioprio; int cpu_sched_policy; @@ -126,6 +135,8 @@ struct ExecContext { char *pam_name; + char *utmp_id; + char **read_write_dirs, **read_only_dirs, **inaccessible_dirs; unsigned long mount_flags; @@ -134,6 +145,7 @@ struct ExecContext { /* Not relevant for spawning processes, just for killing */ KillMode kill_mode; int kill_signal; + bool send_sigkill; cap_t capabilities; int secure_bits; @@ -153,7 +165,7 @@ struct ExecContext { * don't enter a trigger loop. */ bool same_pgrp; - bool oom_adjust_set:1; + bool oom_score_adjust_set:1; bool nice_set:1; bool ioprio_set:1; bool cpu_sched_set:1; @@ -190,7 +202,7 @@ void exec_context_done(ExecContext *c); void exec_context_dump(ExecContext *c, FILE* f, const char *prefix); void exec_status_start(ExecStatus *s, pid_t pid); -void exec_status_exit(ExecStatus *s, pid_t pid, int code, int status); +void exec_status_exit(ExecStatus *s, pid_t pid, int code, int status, const char *utmp_id); void exec_status_dump(ExecStatus *s, FILE *f, const char *prefix); const char* exec_output_to_string(ExecOutput i); @@ -199,4 +211,10 @@ int exec_output_from_string(const char *s); const char* exec_input_to_string(ExecInput i); int exec_input_from_string(const char *s); +const char *kill_mode_to_string(KillMode k); +KillMode kill_mode_from_string(const char *s); + +const char *kill_who_to_string(KillWho k); +KillWho kill_who_from_string(const char *s); + #endif