Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rwhod(ADMN) — TCP/IP 1.2.0.i

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rwho(TC)

ruptime(TC)

w(C)

gethostname(SSC)

nlist(S)

if.ignore(SFF)

utmp(SFF)


 rwhod(ADMN)                     19 June 1992                     rwhod(ADMN)


 Name

    rwhod - system status server

 Syntax

    /etc/rwhod

 Description

    rwhod is the server that maintains the database used by the rwho(TC) and
    ruptime(TC) programs.  Its operation is predicated on the ability to
    broadcast messages on a network.

    rwhod operates as both a producer and consumer of status information.  As
    a producer of information, it periodically queries the state of the sys-
    tem and constructs status messages which are broadcast on a network.  As
    a consumer of information, it listens for other rwhod servers' status
    messages, validating them, then recording them in a collection of files
    located in the directory /usr/spool/rwho.

    The server transmits and receives messages at the port indicated in the
    ``rwho'' service specification; see services(SFF).  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 {
                       struct  outmp 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 sar(ADM) 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
    gethostname(SLIB) system call, with any trailing domain name omitted.
    The array at the end of the message contains information about the users
    logged in to the sending machine.  This information includes the contents
    of the utmp(F) entry for each non-idle terminal line and a value indicat-
    ing the time in seconds since a character was last received on the termi-
    nal line.

    Messages received by the rwho server are discarded unless they originated
    at an rwho 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 rwhod are placed in files named
    whod.hostname in the directory /usr/spool/rwho.  These files contain only
    the most recent message, in the format described above.

    Status messages are generated approximately once every 5 minutes.  rwhod
    performs an nlist(S) on UNIX every 30 minutes to guard against the possi-
    bility that this file is not the system image currently operating.

 Notes

    This service takes up progressively more network bandwidth as the number
    of hosts on the local net increases.  For large networks, the cost
    becomes prohibitive.

    rwhod should relay status information between networks.  People often
    interpret the server dying as a machine going down.

    Some mechanism for cleaning dead machine data out of the spool directory
    is needed.

 Bugs

    No updates will be sent through ignored network interfaces specified in
    /etc/if.ignore.

 See also

    rwho(TC), ruptime(TC), w(C), gethostname(SSC), nlist(S), if.ignore(SFF),
    utmp(SFF)


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026