summaryrefslogtreecommitdiff
path: root/man2/reboot.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/reboot.2')
-rw-r--r--man2/reboot.2152
1 files changed, 152 insertions, 0 deletions
diff --git a/man2/reboot.2 b/man2/reboot.2
new file mode 100644
index 000000000..0dba410a6
--- /dev/null
+++ b/man2/reboot.2
@@ -0,0 +1,152 @@
+.\" Copyright (c) 1998 Andries Brouwer (aeb@cwi.nl), 24 September 1998
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date. The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein. The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" Modified, 27 May 2004, Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
+.\" Added notes on capability requirements
+.\"
+.TH REBOOT 2 2004-05-27 "Linux 2.6.6" "Linux Programmer's Manual"
+.SH NAME
+reboot \- reboot or enable/disable Ctrl-Alt-Del
+.SH SYNOPSIS
+For libc4 and libc5 the library call and the system call are identical,
+and since kernel version 2.1.30 there are symbolic names
+LINUX_REBOOT_* for the constants and a fourth argument to the call:
+.sp
+.B #include <unistd.h>
+.br
+.B #include <linux/reboot.h>
+.sp
+.BI "int reboot(int " magic ", int " magic2 ", int " flag ", void *" arg );
+.sp
+Under glibc some of the constants involved have gotten symbolic names RB_*,
+and the library call is a 1-argument wrapper around the 3-argument
+system call:
+.sp
+.B #include <unistd.h>
+.br
+.B #include <sys/reboot.h>
+.sp
+.BI "int reboot(int " flag );
+.SH DESCRIPTION
+The
+.B reboot
+call reboots the system, or enables/disables the reboot keystroke
+(abbreviated CAD, since the default is Ctrl-Alt-Delete;
+it can be changed using
+.BR loadkeys (1)).
+.PP
+This system call will fail (with EINVAL) unless
+.I magic
+equals LINUX_REBOOT_MAGIC1 (that is, 0xfee1dead) and
+.I magic2
+equals LINUX_REBOOT_MAGIC2 (that is, 672274793).
+However, since 2.1.17 also LINUX_REBOOT_MAGIC2A (that is, 85072278)
+and since 2.1.97 also LINUX_REBOOT_MAGIC2B (that is, 369367448)
+and since 2.5.71 also LINUX_REBOOT_MAGIC2C (that is, 537993216)
+are permitted as value for
+.IR magic2 .
+(The hexadecimal values of these constants are meaningful.)
+The
+.I flag
+argument can have the following values:
+.TP
+.B LINUX_REBOOT_CMD_RESTART
+(RB_AUTOBOOT, 0x1234567).
+The message `Restarting system.' is printed, and a default
+restart is performed immediately.
+If not preceded by a
+.BR sync (2),
+data will be lost.
+.TP
+.B LINUX_REBOOT_CMD_HALT
+(RB_HALT_SYSTEM, 0xcdef0123; since 1.1.76).
+The message `System halted.' is printed, and the system is halted.
+Control is given to the ROM monitor, if there is one.
+If not preceded by a
+.BR sync (2),
+data will be lost.
+.TP
+.B LINUX_REBOOT_CMD_POWER_OFF
+(0x4321fedc; since 2.1.30).
+The message `Power down.' is printed, the system is stopped,
+and all power is removed from the system, if possible.
+If not preceded by a
+.BR sync (2),
+data will be lost.
+.TP
+.B LINUX_REBOOT_CMD_RESTART2
+(0xa1b2c3d4; since 2.1.30).
+The message `Restarting system with command '%s'' is printed,
+and a restart (using the command string given in
+.IR arg )
+is performed immediately.
+If not preceded by a
+.BR sync (2),
+data will be lost.
+.TP
+.B LINUX_REBOOT_CMD_CAD_ON
+(RB_ENABLE_CAD, 0x89abcdef).
+CAD is enabled.
+This means that the CAD keystroke will immediately cause
+the action associated to LINUX_REBOOT_CMD_RESTART.
+.TP
+.B LINUX_REBOOT_CMD_CAD_OFF
+(RB_DISABLE_CAD, 0).
+CAD is disabled.
+This means that the CAD keystroke will cause a SIGINT signal to be
+sent to init (process 1), whereupon this process may decide upon a
+proper action (maybe: kill all processes, sync, reboot).
+.LP
+Only the super-user may use this function.
+.LP
+The precise effect of the above actions depends on the architecture.
+For the i386 architecture, the additional argument does not do
+anything at present (2.1.122), but the type of reboot can be
+determined by kernel command line arguments (`reboot=...') to be
+either warm or cold, and either hard or through the BIOS.
+.SH "RETURN VALUE"
+On success, zero is returned. On error, \-1 is returned, and
+.I errno
+is set appropriately.
+.SH ERRORS
+.TP
+.B EFAULT
+Problem with getting userspace data under LINUX_REBOOT_CMD_RESTART2.
+.TP
+.B EINVAL
+Bad magic numbers or \fIflag\fP.
+.TP
+.B EPERM
+The calling process has insufficient privilege to call
+.BR reboot ;
+the
+.B CAP_SYS_BOOT
+capability is required.
+.SH "CONFORMING TO"
+.B reboot
+is Linux specific, and should not be used in programs intended to be portable.
+.SH "SEE ALSO"
+.BR sync (2),
+.BR bootparam (7),
+.BR capabilities (7),
+.BR ctrlaltdel (8),
+.BR halt (8),
+.BR reboot (8)