summaryrefslogtreecommitdiff
path: root/src/core/execute.h
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-08-05 20:55:08 -0400
committerGitHub <noreply@github.com>2016-08-05 20:55:08 -0400
commit3bb81a80bd18c15a1befb4de9a4cf9a5b77ae354 (patch)
tree5111e551e67104dd8321f8fb78602d35c24f8b30 /src/core/execute.h
parentb760a9af902c73ae76a05e17374e12e8e6c4e629 (diff)
parentb08af3b12706f352f651e70e117f6d6dcf11a911 (diff)
Merge pull request #3818 from poettering/exit-status-env
beef up /var/tmp and /tmp handling; set $SERVICE_RESULT/$EXIT_CODE/$EXIT_STATUS on ExecStop= and make sure root/nobody are always resolvable
Diffstat (limited to 'src/core/execute.h')
-rw-r--r--src/core/execute.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/core/execute.h b/src/core/execute.h
index 48cc18fbb3..2d05ca39aa 100644
--- a/src/core/execute.h
+++ b/src/core/execute.h
@@ -208,6 +208,19 @@ struct ExecContext {
bool no_new_privileges_set:1;
};
+typedef enum ExecFlags {
+ EXEC_CONFIRM_SPAWN = 1U << 0,
+ EXEC_APPLY_PERMISSIONS = 1U << 1,
+ EXEC_APPLY_CHROOT = 1U << 2,
+ EXEC_APPLY_TTY_STDIN = 1U << 3,
+
+ /* The following are not used by execute.c, but by consumers internally */
+ EXEC_PASS_FDS = 1U << 4,
+ EXEC_IS_CONTROL = 1U << 5,
+ EXEC_SETENV_RESULT = 1U << 6,
+ EXEC_SET_WATCHDOG = 1U << 7,
+} ExecFlags;
+
struct ExecParameters {
char **argv;
char **environment;
@@ -216,11 +229,7 @@ struct ExecParameters {
char **fd_names;
unsigned n_fds;
- bool apply_permissions:1;
- bool apply_chroot:1;
- bool apply_tty_stdin:1;
-
- bool confirm_spawn:1;
+ ExecFlags flags;
bool selinux_context_net:1;
bool cgroup_delegate:1;