diff options
Diffstat (limited to 'man2/reboot.2')
-rw-r--r-- | man2/reboot.2 | 152 |
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) |