X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fexecute.h;h=2856d2f33d86239117654718d76d990da201bc80;hp=dd84c3d29c4fa74971c96b7d1c023c9f62785662;hb=08672cb5071af320127f6fe8d0916f62bedd82f3;hpb=8a0867d6c5b47c8697d1ddd815116a548433c718 diff --git a/src/execute.h b/src/execute.h index dd84c3d29..2856d2f33 100644 --- a/src/execute.h +++ b/src/execute.h @@ -78,7 +78,9 @@ typedef enum ExecOutput { EXEC_OUTPUT_NULL, EXEC_OUTPUT_TTY, EXEC_OUTPUT_SYSLOG, + EXEC_OUTPUT_SYSLOG_AND_CONSOLE, EXEC_OUTPUT_KMSG, + EXEC_OUTPUT_KMSG_AND_CONSOLE, EXEC_OUTPUT_SOCKET, _EXEC_OUTPUT_MAX, _EXEC_OUTPUT_INVALID = -1 @@ -102,6 +104,8 @@ struct ExecCommand { struct ExecContext { char **environment; + char **environment_files; + struct rlimit *rlimit[RLIMIT_NLIMITS]; char *working_directory, *root_directory; @@ -145,6 +149,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; @@ -200,6 +205,8 @@ void exec_context_init(ExecContext *c); void exec_context_done(ExecContext *c); void exec_context_dump(ExecContext *c, FILE* f, const char *prefix); +int exec_context_load_environment(const ExecContext *c, char ***l); + void exec_status_start(ExecStatus *s, pid_t pid); 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);