/* 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
+
typedef enum ExecInput {
EXEC_INPUT_NULL,
EXEC_INPUT_TTY,
EXEC_OUTPUT_NULL,
EXEC_OUTPUT_TTY,
EXEC_OUTPUT_SYSLOG,
- EXEC_OUTPUT_KERNEL,
+ EXEC_OUTPUT_KMSG,
EXEC_OUTPUT_SOCKET,
_EXEC_OUTPUT_MAX,
_EXEC_OUTPUT_INVALID = -1
} ExecOutput;
struct ExecStatus {
- usec_t start_timestamp;
- usec_t exit_timestamp;
+ dual_timestamp start_timestamp;
+ dual_timestamp exit_timestamp;
pid_t pid;
int code; /* as in siginfo_t::si_code */
int status; /* as in sigingo_t::si_status */
char *syslog_identifier;
bool syslog_no_prefix;
+ char *tcpwrap_name;
+
char *tty_path;
/* Since resolving these names might might involve socket
char *group;
char **supplementary_groups;
+ char *pam_name;
+
char **read_write_dirs, **read_only_dirs, **inaccessible_dirs;
unsigned long mount_flags;
EXIT_CGROUP,
EXIT_SETSID, /* 220 */
EXIT_CONFIRM,
- EXIT_STDERR
+ EXIT_STDERR,
+ EXIT_TCPWRAP,
+ EXIT_PAM
} ExitStatus;