home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / live / usr / include / initreq.h next >
C/C++ Source or Header  |  1999-01-12  |  1KB  |  42 lines

  1. /*
  2.  * initreq.h    Interface to let init spawn programs on behalf of
  3.  *              other programs/daemons.
  4.  *              Definitions based on sys_term.c from the BSD 4.4
  5.  *              telnetd source.
  6.  *
  7.  * Version:     @(#)initreq.h 1.25 28-Dec-1995 MvS
  8.  *
  9.  * Notes:       Implemented in sysvinit-2.58 and up, but only
  10.  *        for "telinit". Support for rlogind, telnetd
  11.  *        and rxvt/xterm will follow shortly.
  12.  */
  13. #ifndef _INITREQ_H
  14. #define _INITREQ_H
  15.  
  16. #include <sys/param.h>
  17.  
  18. #define INIT_MAGIC 0x03091969
  19. #define INIT_FIFO  "/dev/initctl"
  20. #define INIT_CMD_START           0
  21. #define INIT_CMD_RUNLVL        1
  22. #define INIT_CMD_POWERFAIL     2
  23. #define INIT_CMD_POWERFAILNOW  3
  24. #define INIT_CMD_POWEROK       4
  25.  
  26. struct init_request {
  27.   int magic;            /* Magic number                 */
  28.   int cmd;            /* What kind of request         */
  29.   int runlevel;            /* Runlevel to change to        */
  30.   int sleeptime;        /* Time between TERM and KILL   */
  31.   char gen_id[8];        /* Beats me.. telnetd uses "fe" */
  32.   char tty_id[16];        /* Tty name minus /dev/tty      */
  33.   char host[MAXHOSTNAMELEN];    /* Hostname                     */
  34.   char term_type[16];        /* Terminal type                */
  35.   int signal;            /* Signal to send               */
  36.   int pid;            /* Process to send to           */
  37.   char exec_name[128];            /* Program to execute           */
  38.   char reserved[128];        /* For future expansion.        */
  39. };
  40.  
  41. #endif
  42.