Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
RWHOD(8)		  BSD System Manager's Manual		      RWHOD(8)

     rwhod -- system status server

     rwhod [-i]	[-p] [-l] [-m [ttl]]

     The rwhod utility is the server which maintains the database used by the
     rwho(1) and ruptime(1) programs.  Its operation is	predicated on the
     ability to	broadcast or multicast messages	on a network.

     The rwhod utility operates	as both	a producer and consumer	of status in-
     formation,	unless the -l (listen mode) option is specified, in which case
     it	acts as	a consumer only.  As a producer	of information it periodically
     queries the state of the system and constructs status messages which are
     broadcasted or multicasted	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

     The -i option enables insecure mode, which	causes rwhod to	ignore the
     source port on incoming packets.

     The -p option tells rwhod to ignore all POINTOPOINT interfaces.  This is
     useful if you do not wish to keep dial on demand interfaces permanently

     The -l option enables listen mode,	which causes rwhod to not broadcast
     any information.  This allows you to monitor other	machines' rwhod	infor-
     mation, without broadcasting your own.

     The -m option causes rwhod	to use IP multicast (instead of	broadcast) on
     all interfaces that have the IFF_MULTICAST	flag set in their "ifnet"
     structs (excluding	the loopback interface).  The multicast	reports	are
     sent with a time-to-live of 1, to prevent forwarding beyond the directly-
     connected subnet(s).

     If	the optional ttl argument is supplied with the -m flag,	rwhod will
     send IP multicast datagrams with a	time-to-live of	ttl, via a SINGLE in-
     terface rather than all interfaces.  ttl must be between 0	and 32 (or
     MAX_MULTICAST_SCOPE).  Note that -m 1 is different	from -m, in that -m 1
     specifies transmission on one interface only.

     When -m is	used without a ttl argument, the program accepts multicast
     rwhod reports from	all multicast-capable interfaces.  If a	ttl argument
     is	given, it accepts multicast reports from only one interface, the one
     on	which reports are sent (which may be controlled	via the	host's routing
     table).  Regardless of the	-m option, the program accepts broadcast or
     unicast reports from all interfaces.  Thus, this program will hear	the
     reports of	old, non-multicasting rwhods, but, if multicasting is used,
     those old rwhods won't hear the reports generated by this program.

     The server	transmits and receives messages	at the port indicated in the
     ``who'' service specification; see	services(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 {
			   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	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 inte-
     ger.  The host name included is that returned by the gethostname(3) sys-
     tem 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(5) entry for
     each non-idle terminal line and a value indicating	the time in seconds
     since a character was last	received on the	terminal line.

     Messages received by the rwho server are discarded	unless they originated
     at	an rwho	server's port or the -i	option was specified.  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 /var/rwho.
     These files contain only the most recent message, in the format described

     Status messages are generated approximately once every 3 minutes.	The
     rwhod utility performs an nlist(3)	on /boot/kernel/kernel every 30	min-
     utes to guard against the possibility that	this file is not the system
     image currently operating.

     ruptime(1), rwho(1)

     Status information	should be sent only upon request rather	than continu-
     ously.  People often interpret the	server dying or	network	communication
     failures as a machine going down.

     The rwhod utility appeared	in 4.2BSD.

BSD			       December	11, 1993			   BSD


Want to link to this manual page? Use this URL:

home | help