chiark / gitweb /
d171e5b8a7f405d7bfaa8df8ba42f6f098286011
[elogind.git] / src / basic / def.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 /***
5   This file is part of systemd.
6
7   Copyright 2010 Lennart Poettering
8 ***/
9
10 #include "util.h"
11
12 #define DEFAULT_TIMEOUT_USEC (90*USEC_PER_SEC)
13 #define DEFAULT_RESTART_USEC (100*USEC_PER_MSEC)
14 #define DEFAULT_CONFIRM_USEC (30*USEC_PER_SEC)
15
16 #define DEFAULT_START_LIMIT_INTERVAL (10*USEC_PER_SEC)
17 #define DEFAULT_START_LIMIT_BURST 5
18
19 /* The default time after which exit-on-idle services exit. This
20  * should be kept lower than the watchdog timeout, because otherwise
21  * the watchdog pings will keep the loop busy. */
22 #define DEFAULT_EXIT_USEC (30*USEC_PER_SEC)
23
24 /* The default value for the net.unix.max_dgram_qlen sysctl */
25 #define DEFAULT_UNIX_MAX_DGRAM_QLEN 512UL
26
27 #if 0 /// elogind allows foreign cgroup controllers. (Well, needs them, actually)
28 #else
29 #ifndef SYSTEMD_CGROUP_CONTROLLER_LEGACY
30 #  define SYSTEMD_CGROUP_CONTROLLER_LEGACY "name=elogind"
31 #endif // SYSTEMD_CGROUP_CONTROLLER_LEGACY
32 #ifndef SYSTEMD_CGROUP_CONTROLLER_HYBRID
33 #  define SYSTEMD_CGROUP_CONTROLLER_HYBRID "name=elogind"
34 #endif // SYSTEMD_CGROUP_CONTROLLER_HYBRID
35 #ifndef SYSTEMD_CGROUP_CONTROLLER
36 #  define SYSTEMD_CGROUP_CONTROLLER "_elogind"
37 #endif // SYSTEMD_CGROUP_CONTROLLER
38 #endif // 0
39 #define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT
40 #define SIGNALS_IGNORE SIGPIPE
41
42 #if HAVE_SPLIT_USR
43 #define KBD_KEYMAP_DIRS                         \
44         "/usr/share/keymaps/\0"                 \
45         "/usr/share/kbd/keymaps/\0"             \
46         "/usr/lib/kbd/keymaps/\0"               \
47         "/lib/kbd/keymaps/\0"
48 #else
49 #define KBD_KEYMAP_DIRS                         \
50         "/usr/share/keymaps/\0"                 \
51         "/usr/share/kbd/keymaps/\0"             \
52         "/usr/lib/kbd/keymaps/\0"
53 #endif
54
55 /* Note that we use the new /run prefix here (instead of /var/run) since we require them to be aliases and that way we
56  * become independent of /var being mounted */
57 #define DEFAULT_SYSTEM_BUS_ADDRESS "unix:path=/run/dbus/system_bus_socket"
58 #define DEFAULT_USER_BUS_ADDRESS_FMT "unix:path=%s/bus"
59
60 #define PLYMOUTH_SOCKET {                                       \
61                 .un.sun_family = AF_UNIX,                       \
62                 .un.sun_path = "\0/org/freedesktop/plymouthd",  \
63         }
64
65 #define NOTIFY_FD_MAX 768
66 #define NOTIFY_BUFFER_MAX PIPE_BUF
67
68 #if HAVE_SPLIT_USR
69 #  define _CONF_PATHS_SPLIT_USR_NULSTR(n) "/lib/" n "\0"
70 #  define _CONF_PATHS_SPLIT_USR(n) , "/lib/" n
71 #else
72 #  define _CONF_PATHS_SPLIT_USR_NULSTR(n)
73 #  define _CONF_PATHS_SPLIT_USR(n)
74 #endif
75
76 /* Return a nulstr for a standard cascade of configuration paths,
77  * suitable to pass to conf_files_list_nulstr() or config_parse_many_nulstr()
78  * to implement drop-in directories for extending configuration
79  * files. */
80 #define CONF_PATHS_NULSTR(n)                    \
81         "/etc/" n "\0"                          \
82         "/run/" n "\0"                          \
83         "/usr/local/lib/" n "\0"                \
84         "/usr/lib/" n "\0"                      \
85         _CONF_PATHS_SPLIT_USR_NULSTR(n)
86
87 #define CONF_PATHS_STRV(n)                      \
88         STRV_MAKE(                              \
89                 "/etc/" n,                      \
90                 "/run/" n,                      \
91                 "/usr/local/lib/" n,            \
92                 "/usr/lib/" n                   \
93                 _CONF_PATHS_SPLIT_USR(n))
94
95 #define LONG_LINE_MAX (1U*1024U*1024U)