1 /*-*- Mode: C; c-basic-offset: 8 -*-*/
6 typedef struct ExecStatus ExecStatus
;
7 typedef struct ExecCommand ExecCommand
;
8 typedef struct ExecContext ExecContext
;
11 #include <sys/resource.h>
12 #include <sys/capability.h>
21 int status
; /* as in wait() */
27 ExecStatus last_exec_status
;
28 LIST_FIELDS(ExecCommand
);
34 struct rlimit
*rlimit
[RLIMIT_NLIMITS
];
36 bool capabilities_set
:1;
42 /* since resolving these names might might involve socket
43 * connections and we don't want to deadlock ourselves these
44 * names are resolved on execution only. */
47 char **supplementary_groups
;
50 int exec_spawn(const ExecCommand
*command
, const ExecContext
*context
, pid_t
*ret
);
52 void exec_context_free(ExecContext
*c
);
53 void exec_command_free_list(ExecCommand
*c
);
55 void exec_context_dump(ExecContext
*c
, FILE* f
, const char *prefix
);
57 void exec_context_defaults(ExecContext
*c
);