2010-08-17 05:33:07 +04:00
/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
2010-06-18 06:22:59 +04:00
2012-07-18 21:07:51 +04:00
# pragma once
2010-06-18 06:22:59 +04:00
/***
This file is part of systemd .
Copyright 2010 Lennart Poettering
systemd is free software ; you can redistribute it and / or modify it
2012-04-12 02:20:58 +04:00
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
2010-06-18 06:22:59 +04:00
( 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
2012-04-12 02:20:58 +04:00
Lesser General Public License for more details .
2010-06-18 06:22:59 +04:00
2012-04-12 02:20:58 +04:00
You should have received a copy of the GNU Lesser General Public License
2010-06-18 06:22:59 +04:00
along with systemd ; If not , see < http : //www.gnu.org/licenses/>.
* * */
# define SPECIAL_DEFAULT_TARGET "default.target"
2011-03-18 06:31:22 +03:00
/* Shutdown targets */
# define SPECIAL_UMOUNT_TARGET "umount.target"
2010-06-18 06:22:59 +04:00
/* 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"
2011-03-18 05:32:33 +03:00
# 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"
2012-05-05 04:06:58 +04:00
# define SPECIAL_SUSPEND_TARGET "suspend.target"
# define SPECIAL_HIBERNATE_TARGET "hibernate.target"
2012-10-28 02:49:04 +04:00
# define SPECIAL_HYBRID_SLEEP_TARGET "hybrid-sleep.target"
2010-06-18 06:22:59 +04:00
2011-03-18 06:31:22 +03:00
/* Special boot targets */
2011-03-18 05:32:33 +03:00
# define SPECIAL_RESCUE_TARGET "rescue.target"
# define SPECIAL_EMERGENCY_TARGET "emergency.target"
2010-06-18 06:22:59 +04:00
2011-03-18 06:31:22 +03:00
/* Early boot targets */
2011-03-18 05:32:33 +03:00
# define SPECIAL_SYSINIT_TARGET "sysinit.target"
# define SPECIAL_SOCKETS_TARGET "sockets.target"
2013-12-03 02:30:19 +04:00
# define SPECIAL_BUSNAMES_TARGET "busnames.target"
2013-03-26 00:20:08 +04:00
# define SPECIAL_TIMERS_TARGET "timers.target"
# define SPECIAL_PATHS_TARGET "paths.target"
2013-01-17 00:09:03 +04:00
# define SPECIAL_LOCAL_FS_TARGET "local-fs.target"
2011-10-11 05:33:53 +04:00
# define SPECIAL_LOCAL_FS_PRE_TARGET "local-fs-pre.target"
2013-03-04 22:01:05 +04:00
# define SPECIAL_INITRD_FS_TARGET "initrd-fs.target"
2013-03-14 16:12:10 +04:00
# define SPECIAL_INITRD_ROOT_FS_TARGET "initrd-root-fs.target"
2010-06-18 06:22:59 +04:00
# define SPECIAL_REMOTE_FS_TARGET "remote-fs.target" /* LSB's $remote_fs */
2011-10-11 05:33:53 +04:00
# define SPECIAL_REMOTE_FS_PRE_TARGET "remote-fs-pre.target"
2010-06-18 06:22:59 +04:00
# define SPECIAL_SWAP_TARGET "swap.target"
2013-03-29 00:18:58 +04:00
# define SPECIAL_NETWORK_ONLINE_TARGET "network-online.target"
2011-03-18 05:32:33 +03:00
# define SPECIAL_BASIC_TARGET "basic.target"
2011-03-18 06:31:22 +03:00
/* LSB compatibility */
2010-06-18 06:22:59 +04:00
# 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 */
2011-04-06 21:18:11 +04:00
# define SPECIAL_TIME_SYNC_TARGET "time-sync.target" /* LSB's $time */
2012-10-31 05:55:04 +04:00
/*
* 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 .
*/
2011-03-18 05:32:33 +03:00
2011-03-18 06:31:22 +03:00
/* Magic early boot services */
2012-06-25 15:47:45 +04:00
# define SPECIAL_FSCK_SERVICE "systemd-fsck@.service"
# define SPECIAL_QUOTACHECK_SERVICE "systemd-quotacheck.service"
2011-03-18 19:12:58 +03:00
# define SPECIAL_QUOTAON_SERVICE "quotaon.service"
2012-04-24 18:42:42 +04:00
# define SPECIAL_REMOUNT_FS_SERVICE "systemd-remount-fs.service"
2011-03-18 05:32:33 +03:00
2011-03-18 06:31:22 +03:00
/* Services systemd relies on */
2010-06-18 06:22:59 +04:00
# define SPECIAL_DBUS_SERVICE "dbus.service"
2010-09-01 05:30:59 +04:00
# define SPECIAL_DBUS_SOCKET "dbus.socket"
2012-01-06 02:55:01 +04:00
# define SPECIAL_JOURNALD_SOCKET "systemd-journald.socket"
2012-01-11 06:16:24 +04:00
# define SPECIAL_JOURNALD_SERVICE "systemd-journald.service"
2011-03-18 05:32:33 +03:00
2011-03-18 06:31:22 +03:00
/* Magic init signals */
2011-03-18 05:32:33 +03:00
# define SPECIAL_KBREQUEST_TARGET "kbrequest.target"
# define SPECIAL_SIGPWR_TARGET "sigpwr.target"
# define SPECIAL_CTRL_ALT_DEL_TARGET "ctrl-alt-del.target"
2010-06-18 06:22:59 +04:00
/* 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"
2013-06-17 23:33:26 +04:00
2013-06-20 05:45:08 +04:00
/* Where we add all our system units, users and machines by default */
2013-06-17 23:33:26 +04:00
# define SPECIAL_SYSTEM_SLICE "system.slice"
2013-06-20 05:45:08 +04:00
# define SPECIAL_USER_SLICE "user.slice"
# define SPECIAL_MACHINE_SLICE "machine.slice"
2013-06-27 06:14:27 +04:00
# define SPECIAL_ROOT_SLICE "-.slice"