reboot (2)





NAME

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


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:

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

       int reboot(int magic, 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);


DESCRIPTION

       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)).

       This   system   call  will  fail  (with  EINVAL)  unless  magic  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) are permitted as value for
       magic2.  (The hexadecimal values of these  constants  are  meaningful.)
       The flag argument can have the following values:

       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.

       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.

       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.

       LINUX_REBOOT_CMD_RESTART2
              (0xa1b2c3d4; since 2.1.30).  The message `Restarting system with
              command '%s'' is printed,  and  a  restart  (using  the  command
              (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).

       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.


RETURN VALUE

       On  success,  zero is returned.  On error, -1 is returned, and errno is
       set appropriately.


ERRORS

       EINVAL Bad magic numbers or flag.

       EPERM  A non-root user attempts to call reboot.


CONFORMING TO

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


SEE ALSO

       sync(2), bootparam(7), ctrlaltdel(8), halt(8), reboot(8)

Linux 2.1.122                     1998-09-24                         reboot(2)