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