Seth Woolley's Man Viewer

reboot(2) - reboot, reboot - reboot or enable/disable Ctrl-Alt-Del - man 2 reboot

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

REBOOT(2)                  Linux Programmer's Manual                 REBOOT(2)

       reboot - reboot or enable/disable Ctrl-Alt-Del

       For libc4 and libc5 the library call and the system call are identical,
       and since kernel version(1,3,5) 2.1.30 there are symbolic names LINUX_REBOOT_*
       for the constants and a fourth argument to the call:

       #include <unistd.h>
       #include <linux/reboot.h>

       int reboot(int magic(4,5), int magic2, int flag, void *arg);

       Under  glibc  some of the constants involved have gotten symbolic names
       RB_*, and the library call is a 1-argument wrapper around  the  3-argu-
       ment system call:

       #include <unistd.h>
       #include <sys/reboot.h>

       int reboot(int flag);

       The reboot call reboots the system, or enables/disables the reboot key-
       stroke (abbreviated CAD, since the default is Ctrl-Alt-Delete;  it  can
       be changed using loadkeys(1)).

       This   system   call  will  fail  (with  EINVAL)  unless  magic(4,5)  equals
       LINUX_REBOOT_MAGIC1   (that   is,   0xfee1dead)   and   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
       magic2.   (The  hexadecimal  values of these constants are meaningful.)
       The flag argument can have the following values:

              (RB_AUTOBOOT, 0x1234567).  The message `Restarting  system.'  is
              printed, and a default restart is performed immediately.  If not
              preceded by a sync(1,2,8)(2), data will be lost.

              (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(3,n) there is  one.   If  not  preceded  by  a
              sync(1,2,8)(2), data will be lost.

              (0x4321fedc;  since  2.1.30).   The  message  `Power  down.'  is
              printed, the system is stopped, and all power  is  removed  from
              the  system,  if(3,n)  possible.   If not preceded by a sync(1,2,8)(2), data
              will be lost.

              (0xa1b2c3d4; since 2.1.30).  The message `Restarting system with
              command  '%s''  is  printed,  and  a  restart (using the command
              string(3,n) given in(1,8) arg) is performed immediately.  If not  preceded
              by a sync(1,2,8)(2), data will be lost.

              (RB_ENABLE_CAD,  0x89abcdef).   CAD is enabled.  This means that
              the CAD keystroke will immediately cause the  action  associated
              to LINUX_REBOOT_CMD_RESTART.

              (RB_DISABLE_CAD,  0).  CAD is disabled.  This means that the CAD
              keystroke will cause a SIGINT signal(2,7) to be sent to init (process
              1),  whereupon  this  process  may  decide  upon a proper action
              (maybe: kill(1,2,1 builtins) all processes, sync(1,2,8), reboot).

       Only the super-user may use this function.

       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  ker-
       nel  command  line  arguments (`reboot=...') to be either warm or cold,
       and either hard or through the BIOS.

       On success, zero is returned.  On error(8,n), -1 is returned, and  errno  is
       set(7,n,1 builtins) appropriately.

       EFAULT Problem      with      getting      userspace     data     under

       EINVAL Bad magic(4,5) numbers or flag.

       EPERM  The calling process has insufficient privilege to  call  reboot;
              the CAP_SYS_BOOT capability is required.

       reboot  is  Linux specific, and should not be used in(1,8) programs intended
       to be portable.

       sync(1,2,8)(2),   bootparam(7),   capabilities(7),   ctrlaltdel(8),   halt(8),

Linux 2.6.6                       2004-05-27                         REBOOT(2)

References for this manual (incoming links)