
FILES OVERVIEW

--------------
Headers
--------------

lbcd.h

	Prototypes exported functions and contains program constants.
	This is the global interface to the program and includes
	protocol.h.

protocol.h

	Data structures, constants, and reply codes for the lbcd
	protocol.  This is included by lbcd.h.

lbcdload.h

	Prototypes and data structures for service-specific load
	functions in the modules subdirectory.  This is seperate from
	lbcd.h since it is possible to make a seperate library for
	handling service polling from this file and the modules.
	weight.c is the sole top-level user of this header.
	
--------------
Code
--------------

lbcd.c
	Contains main and the server accept loop.  All network
	routines live in this file.

server.c
	main code for constructing the reply packet.

util.c
	Utility routines for error logging and pid tracking.

weight.c
	Interface to service-specific client load computation.  This
	was added for version 3 of the lbcd protocol.  This acts
	as the glue between server.c and modules/liblbcd.a.

get_user.c
	utmp code for the default load module.  Counts number
	of users, unique users, and if a user is on console.
	get_user_stats is the exported interface to this code;
	it is called by server.c.

kernel.c
	Contains all kernel-specific code for dealing with load and
	bootime.  The platform-specific modules live in the arch
	subdirectory.  kernel_getload and kernel_getbootime are
	the exported interfaces; they are called by server.c.

tmp_full.c
	file system code for determining free space on a partition,
	in percent.  Export interface is tmp_full, which is called
	by server.c.

--------------
Configuration
--------------

configure.ac

	Configuration template.  Run autoconf and autoheader to
	generate the config.h.in and configure files.

config.h.in

	Automatically generated by autoheader from configure.ac.

configure

	Automatically generated by autoconf from configure.ac.

--------------
Directories
--------------

arch
	Kernel-specific code included by kernel.c.  One .c file
	exists per-platform.

modules
	lbcd service load computation library.  For a given service,
	the each module probes the service and sets the weight and
	increment appropriate for the availability of that service.
