chiark / gitweb /
shared: in code that might get called from suid programs use __secure_getenv() rather...
[elogind.git] / src / core / special.h
1 /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
2
3 #pragma once
4
5 /***
6   This file is part of systemd.
7
8   Copyright 2010 Lennart Poettering
9
10   systemd is free software; you can redistribute it and/or modify it
11   under the terms of the GNU Lesser General Public License as published by
12   the Free Software Foundation; either version 2.1 of the License, or
13   (at your option) any later version.
14
15   systemd is distributed in the hope that it will be useful, but
16   WITHOUT ANY WARRANTY; without even the implied warranty of
17   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18   Lesser General Public License for more details.
19
20   You should have received a copy of the GNU Lesser General Public License
21   along with systemd; If not, see <http://www.gnu.org/licenses/>.
22 ***/
23
24 #define SPECIAL_DEFAULT_TARGET "default.target"
25
26 /* Shutdown targets */
27 #define SPECIAL_UMOUNT_TARGET "umount.target"
28 /* This is not really intended to be started by directly. This is
29  * mostly so that other targets (reboot/halt/poweroff) can depend on
30  * it to bring all services down that want to be brought down on
31  * system shutdown. */
32 #define SPECIAL_SHUTDOWN_TARGET "shutdown.target"
33 #define SPECIAL_HALT_TARGET "halt.target"
34 #define SPECIAL_POWEROFF_TARGET "poweroff.target"
35 #define SPECIAL_REBOOT_TARGET "reboot.target"
36 #define SPECIAL_KEXEC_TARGET "kexec.target"
37 #define SPECIAL_EXIT_TARGET "exit.target"
38 #define SPECIAL_SUSPEND_TARGET "suspend.target"
39 #define SPECIAL_HIBERNATE_TARGET "hibernate.target"
40
41 /* Special boot targets */
42 #define SPECIAL_RESCUE_TARGET "rescue.target"
43 #define SPECIAL_EMERGENCY_TARGET "emergency.target"
44
45 /* Early boot targets */
46 #define SPECIAL_SYSINIT_TARGET "sysinit.target"
47 #define SPECIAL_SOCKETS_TARGET "sockets.target"
48 #define SPECIAL_LOCAL_FS_TARGET "local-fs.target"         /* LSB's $local_fs */
49 #define SPECIAL_LOCAL_FS_PRE_TARGET "local-fs-pre.target"
50 #define SPECIAL_REMOTE_FS_TARGET "remote-fs.target"       /* LSB's $remote_fs */
51 #define SPECIAL_REMOTE_FS_PRE_TARGET "remote-fs-pre.target"
52 #define SPECIAL_SWAP_TARGET "swap.target"
53 #define SPECIAL_BASIC_TARGET "basic.target"
54
55 /* LSB compatibility */
56 #define SPECIAL_NETWORK_TARGET "network.target"           /* LSB's $network */
57 #define SPECIAL_NSS_LOOKUP_TARGET "nss-lookup.target"     /* LSB's $named */
58 #define SPECIAL_RPCBIND_TARGET "rpcbind.target"           /* LSB's $portmap */
59 #define SPECIAL_SYSLOG_TARGET "syslog.target"             /* LSB's $syslog */
60 #define SPECIAL_TIME_SYNC_TARGET "time-sync.target"       /* LSB's $time */
61 #define SPECIAL_DISPLAY_MANAGER_SERVICE "display-manager.service"       /* Debian's $x-display-manager */
62 #define SPECIAL_MAIL_TRANSFER_AGENT_TARGET "mail-transfer-agent.target" /* Debian's $mail-{transport|transfer-agent */
63 #define SPECIAL_HTTP_DAEMON_TARGET "http-daemon.target"
64
65 /* Magic early boot services */
66 #define SPECIAL_FSCK_SERVICE "systemd-fsck@.service"
67 #define SPECIAL_QUOTACHECK_SERVICE "systemd-quotacheck.service"
68 #define SPECIAL_QUOTAON_SERVICE "quotaon.service"
69 #define SPECIAL_REMOUNT_FS_SERVICE "systemd-remount-fs.service"
70
71 /* Services systemd relies on */
72 #define SPECIAL_DBUS_SERVICE "dbus.service"
73 #define SPECIAL_DBUS_SOCKET "dbus.socket"
74 #define SPECIAL_JOURNALD_SOCKET "systemd-journald.socket"
75 #define SPECIAL_JOURNALD_SERVICE "systemd-journald.service"
76
77 /* Magic init signals */
78 #define SPECIAL_KBREQUEST_TARGET "kbrequest.target"
79 #define SPECIAL_SIGPWR_TARGET "sigpwr.target"
80 #define SPECIAL_CTRL_ALT_DEL_TARGET "ctrl-alt-del.target"
81
82 /* For SysV compatibility. Usually an alias for a saner target. On
83  * SysV-free systems this doesn't exist. */
84 #define SPECIAL_RUNLEVEL2_TARGET "runlevel2.target"
85 #define SPECIAL_RUNLEVEL3_TARGET "runlevel3.target"
86 #define SPECIAL_RUNLEVEL4_TARGET "runlevel4.target"
87 #define SPECIAL_RUNLEVEL5_TARGET "runlevel5.target"