4.3BSD-UWisc/man/cat8/rwhod.8c




RWHOD(8C)           UNIX Programmer's Manual            RWHOD(8C)



NAME
     rwhod - system status server

SYNOPSIS
     /etc/rwhod

DESCRIPTION
     _R_w_h_o_d is the server which maintains the database used by the
     _r_w_h_o(1C) and _r_u_p_t_i_m_e(1C) programs.  Its operation is predi-
     cated on the ability to _b_r_o_a_d_c_a_s_t messages on a network.

     _R_w_h_o_d operates as both a producer and consumer of status
     information.  As a producer of information it periodically
     queries the state of the system and constructs status mes-
     sages which are broadcast on a network.  As a consumer of
     information, it listens for other _r_w_h_o_d servers' status mes-
     sages, validating them, then recording them in a collection
     of files located in the directory /_u_s_r/_s_p_o_o_l/_r_w_h_o.

     The server transmits and receives messages at the port indi-
     cated in the ``rwho'' service specification; see _s_e_r_-
     _v_i_c_e_s(5).  The messages sent and received, are of the form:

     struct    outmp {
          char out_line[8];/* tty name */
          char out_name[8];/* user id */
          long out_time;/* time on */
     };

     struct    whod {
          char wd_vers;
          char wd_type;
          char wd_fill[2];
          int  wd_sendtime;
          int  wd_recvtime;
          char wd_hostname[32];
          int  wd_loadav[3];
          int  wd_boottime;
          struct    whoent {
               structoutmp we_utmp;
               int  we_idle;
          } wd_we[1024 / sizeof (struct whoent)];
     };

     All fields are converted to network byte order prior to
     transmission.  The load averages are as calculated by the
     _w(1) program, and represent load averages over the 5, 10,
     and 15 minute intervals prior to a server's transmission;
     they are multiplied by 100 for representation in an integer.
     The host name included is that returned by the _g_e_t_h_o_s_t_-
     _n_a_m_e(2) system call, with any trailing domain name omitted.
     The array at the end of the message contains information



Printed 12/27/86          May 24, 1986                          1






RWHOD(8C)           UNIX Programmer's Manual            RWHOD(8C)



     about the users logged in to the sending machine.  This
     information includes the contents of the _u_t_m_p(5) entry for
     each non-idle terminal line and a value indicating the time
     in seconds since a character was last received on the termi-
     nal line.

     Messages received by the _r_w_h_o server are discarded unless
     they originated at an _r_w_h_o server's port.  In addition, if
     the host's name, as specified in the message, contains any
     unprintable ASCII characters, the message is discarded.
     Valid messages received by _r_w_h_o_d are placed in files named
     _w_h_o_d._h_o_s_t_n_a_m_e in the directory /_u_s_r/_s_p_o_o_l/_r_w_h_o.  These files
     contain only the most recent message, in the format
     described above.

     Status messages are generated approximately once every 3
     minutes.  _R_w_h_o_d performs an _n_l_i_s_t(3) on /vmunix every 30
     minutes to guard against the possibility that this file is
     not the system image currently operating.

SEE ALSO
     rwho(1C), ruptime(1C)

BUGS
     There should be a way to relay status information between
     networks. Status information should be sent only upon
     request rather than continuously.  People often interpret
     the server dying or network communtication failures as a
     machine going down.


























Printed 12/27/86          May 24, 1986                          2