X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fexecute.h;h=208fe4ad5e1660710cd1f99181f0d7e954885520;hp=a6766f9e995b0ed799dc9be37aefdd47636ab0f3;hb=bfe95f35bf87c91d63b9d62dde5f029dd38d27a4;hpb=ba035df230e41bf9d70ebb47915c9472b7884412 diff --git a/src/execute.h b/src/execute.h index a6766f9e9..208fe4ad5 100644 --- a/src/execute.h +++ b/src/execute.h @@ -39,16 +39,10 @@ struct CGroupBonding; #include "list.h" #include "util.h" -/* Abstract namespace! */ -#define LOGGER_SOCKET "/org/freedesktop/systemd1/logger" - -/* This doesn't really belong here, but I couldn't find a better place to put this. */ -#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT -#define SIGNALS_IGNORE SIGKILL,SIGPIPE +#define LOGGER_SOCKET "/run/systemd/logger" typedef enum KillMode { KILL_CONTROL_GROUP = 0, - KILL_PROCESS_GROUP, KILL_PROCESS, KILL_NONE, _KILL_MODE_MAX, @@ -78,7 +72,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 +98,8 @@ struct ExecCommand { struct ExecContext { char **environment; + char **environment_files; + struct rlimit *rlimit[RLIMIT_NLIMITS]; char *working_directory, *root_directory; @@ -201,6 +199,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);