Rev | Author | # | Line |
---|---|---|---|
1 | perry | 1 | !!NAME |
2 | PerryLorier | 2 | reboot - reboot or enable/disable Ctrl-Alt-Del |
1 | perry | 3 | |
4 | !!SYNOPSIS | ||
2 | PerryLorier | 5 | 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: |
1 | perry | 6 | |
2 | PerryLorier | 7 | __#include <unistd.h>__ |
8 | __#include <linux/reboot.h>__ | ||
1 | perry | 9 | |
10 | |||
2 | PerryLorier | 11 | __int reboot (int__ ''magic''__, int__ ''magic2''__, int__ ''flag''__, void *__''arg''__);__ |
1 | perry | 12 | |
2 | PerryLorier | 13 | 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: |
1 | perry | 14 | |
2 | PerryLorier | 15 | __#include <unistd.h>__ |
16 | __#include <sys/reboot.h>__ | ||
1 | perry | 17 | |
18 | |||
2 | PerryLorier | 19 | __int reboot (int__ ''flag''__);__ |
1 | perry | 20 | !!DESCRIPTION |
2 | PerryLorier | 21 | The __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 loadkeys(1)). |
1 | perry | 22 | |
2 | PerryLorier | 23 | This system call will fail (with [EINVAL]) unless ''magic'' equals LINUX_REBOOT_MAGIC1 (that is, 0xfee1dead) and ''magic2'' equals LINUX_REBOOT_MAGIC2 (that is, |
24 | 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) are permitted as | ||
25 | value for ''magic2''. (The hexadecimal values of these constants are meaningful.) The ''flag'' argument can have the following values: | ||
1 | perry | 26 | |
2 | PerryLorier | 27 | ;__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 sync(2), data will be lost. |
1 | perry | 28 | |
2 | PerryLorier | 29 | ;__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 sync(2), data will be lost. |
1 | perry | 30 | |
2 | PerryLorier | 31 | ;__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 sync(2), data will be lost. |
1 | perry | 32 | |
2 | PerryLorier | 33 | ;__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 ''arg'') is performed immediately. If not preceded by a sync(2), data will be lost. |
1 | perry | 34 | |
2 | PerryLorier | 35 | :__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. |
1 | perry | 36 | |
2 | PerryLorier | 37 | ;__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). |
1 | perry | 38 | |
39 | Only the super-user may use this function. | ||
40 | |||
2 | PerryLorier | 41 | 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 |
42 | 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. | ||
1 | perry | 43 | |
44 | !!RETURN VALUE | ||
2 | PerryLorier | 45 | On success, zero is returned. On error, -1 is returned, and ''errno'' is set appropriately. |
1 | perry | 46 | |
47 | !!ERRORS | ||
2 | PerryLorier | 48 | ;[EINVAL]: Bad magic numbers or ''flag''. |
49 | ;[EPERM]: A non-root user attempts to call __reboot__. | ||
1 | perry | 50 | |
51 | !!CONFORMING TO | ||
2 | PerryLorier | 52 | reboot(2) is Linux specific, and should not be used in programs intended to be portable. |
1 | perry | 53 | |
54 | !!SEE ALSO | ||
2 | PerryLorier | 55 | sync(2), bootparam(7), ctrlaltdel(8), halt(8), reboot(8) |
lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 8 times)