mirror of
https://github.com/systemd/systemd.git
synced 2024-11-14 15:21:37 +03:00
123 lines
4.9 KiB
C
123 lines
4.9 KiB
C
/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
|
|
|
|
#pragma once
|
|
|
|
/***
|
|
This file is part of systemd.
|
|
|
|
Copyright 2010 Lennart Poettering
|
|
|
|
systemd is free software; you can redistribute it and/or modify it
|
|
under the terms of the GNU Lesser General Public License as published by
|
|
the Free Software Foundation; either version 2.1 of the License, or
|
|
(at your option) any later version.
|
|
|
|
systemd is distributed in the hope that it will be useful, but
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public License
|
|
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
|
***/
|
|
|
|
#define SPECIAL_DEFAULT_TARGET "default.target"
|
|
|
|
/* Shutdown targets */
|
|
#define SPECIAL_UMOUNT_TARGET "umount.target"
|
|
/* This is not really intended to be started by directly. This is
|
|
* mostly so that other targets (reboot/halt/poweroff) can depend on
|
|
* it to bring all services down that want to be brought down on
|
|
* system shutdown. */
|
|
#define SPECIAL_SHUTDOWN_TARGET "shutdown.target"
|
|
#define SPECIAL_HALT_TARGET "halt.target"
|
|
#define SPECIAL_POWEROFF_TARGET "poweroff.target"
|
|
#define SPECIAL_REBOOT_TARGET "reboot.target"
|
|
#define SPECIAL_KEXEC_TARGET "kexec.target"
|
|
#define SPECIAL_EXIT_TARGET "exit.target"
|
|
#define SPECIAL_SUSPEND_TARGET "suspend.target"
|
|
#define SPECIAL_HIBERNATE_TARGET "hibernate.target"
|
|
#define SPECIAL_HYBRID_SLEEP_TARGET "hybrid-sleep.target"
|
|
|
|
/* Special boot targets */
|
|
#define SPECIAL_RESCUE_TARGET "rescue.target"
|
|
#define SPECIAL_EMERGENCY_TARGET "emergency.target"
|
|
|
|
/* Early boot targets */
|
|
#define SPECIAL_SYSINIT_TARGET "sysinit.target"
|
|
#define SPECIAL_SOCKETS_TARGET "sockets.target"
|
|
#define SPECIAL_BUSNAMES_TARGET "busnames.target"
|
|
#define SPECIAL_TIMERS_TARGET "timers.target"
|
|
#define SPECIAL_PATHS_TARGET "paths.target"
|
|
#define SPECIAL_LOCAL_FS_TARGET "local-fs.target"
|
|
#define SPECIAL_LOCAL_FS_PRE_TARGET "local-fs-pre.target"
|
|
#define SPECIAL_INITRD_FS_TARGET "initrd-fs.target"
|
|
#define SPECIAL_INITRD_ROOT_FS_TARGET "initrd-root-fs.target"
|
|
#define SPECIAL_REMOTE_FS_TARGET "remote-fs.target" /* LSB's $remote_fs */
|
|
#define SPECIAL_REMOTE_FS_PRE_TARGET "remote-fs-pre.target"
|
|
#define SPECIAL_SWAP_TARGET "swap.target"
|
|
#define SPECIAL_NETWORK_ONLINE_TARGET "network-online.target"
|
|
#define SPECIAL_BASIC_TARGET "basic.target"
|
|
|
|
/* LSB compatibility */
|
|
#define SPECIAL_NETWORK_TARGET "network.target" /* LSB's $network */
|
|
#define SPECIAL_NSS_LOOKUP_TARGET "nss-lookup.target" /* LSB's $named */
|
|
#define SPECIAL_RPCBIND_TARGET "rpcbind.target" /* LSB's $portmap */
|
|
#define SPECIAL_TIME_SYNC_TARGET "time-sync.target" /* LSB's $time */
|
|
|
|
/*
|
|
* Rules regarding adding further high level targets like the above:
|
|
*
|
|
* - Be conservative, only add more of these when we really need
|
|
* them. We need strong usecases for further additions.
|
|
*
|
|
* - When there can be multiple implementations running side-by-side,
|
|
* it needs to be a .target unit which can pull in all
|
|
* implementations.
|
|
*
|
|
* - If something can be implemented with socket activation, and
|
|
* without, it needs to be a .target unit, so that it can pull in
|
|
* the appropriate unit.
|
|
*
|
|
* - Otherwise, it should be a .service unit.
|
|
*
|
|
* - In some cases it is OK to have both a .service and a .target
|
|
* unit, i.e. if there can be multiple parallel implementations, but
|
|
* only one is the "system" one. Example: syslog.
|
|
*
|
|
* Or to put this in other words: .service symlinks can be used to
|
|
* arbitrate between multiple implementations if there can be only one
|
|
* of a kind. .target units can be used to support multiple
|
|
* implementations that can run side-by-side.
|
|
*/
|
|
|
|
/* Magic early boot services */
|
|
#define SPECIAL_FSCK_SERVICE "systemd-fsck@.service"
|
|
#define SPECIAL_QUOTACHECK_SERVICE "systemd-quotacheck.service"
|
|
#define SPECIAL_QUOTAON_SERVICE "quotaon.service"
|
|
#define SPECIAL_REMOUNT_FS_SERVICE "systemd-remount-fs.service"
|
|
|
|
/* Services systemd relies on */
|
|
#define SPECIAL_DBUS_SERVICE "dbus.service"
|
|
#define SPECIAL_DBUS_SOCKET "dbus.socket"
|
|
#define SPECIAL_JOURNALD_SOCKET "systemd-journald.socket"
|
|
#define SPECIAL_JOURNALD_SERVICE "systemd-journald.service"
|
|
|
|
/* Magic init signals */
|
|
#define SPECIAL_KBREQUEST_TARGET "kbrequest.target"
|
|
#define SPECIAL_SIGPWR_TARGET "sigpwr.target"
|
|
#define SPECIAL_CTRL_ALT_DEL_TARGET "ctrl-alt-del.target"
|
|
|
|
/* For SysV compatibility. Usually an alias for a saner target. On
|
|
* SysV-free systems this doesn't exist. */
|
|
#define SPECIAL_RUNLEVEL2_TARGET "runlevel2.target"
|
|
#define SPECIAL_RUNLEVEL3_TARGET "runlevel3.target"
|
|
#define SPECIAL_RUNLEVEL4_TARGET "runlevel4.target"
|
|
#define SPECIAL_RUNLEVEL5_TARGET "runlevel5.target"
|
|
|
|
/* Where we add all our system units, users and machines by default */
|
|
#define SPECIAL_SYSTEM_SLICE "system.slice"
|
|
#define SPECIAL_USER_SLICE "user.slice"
|
|
#define SPECIAL_MACHINE_SLICE "machine.slice"
|
|
#define SPECIAL_ROOT_SLICE "-.slice"
|