Name: Automatic driver control
File: driver-control.txt
Date: 18 July 2001
Auth: Russell Kroll <rkroll@exploits.org>

Distributors, rejoice.  You no longer need to maintain configuration
information in two places.  By this I mean the existing scheme where you
have to list the driver(s) in startup scripts *and* in the upsd.conf.
Some distributions have tackled this by ripping the data out of upsd.conf.
You no longer need to do this.

upsdrvctl now offers a standard interface to all of the unified drivers.
As of this writing, that means bestups, fentonups and sec.  To start your
drivers, you edit the ups.conf to reflect the system's configuration, then
just run upsdrvctl:

	/path/to/upsdrvctl start

That's it.  upsdrvctl parses the .conf, and calls the individual drivers
with the new -a (autostart) option to get them running.

upsd will also start using ups.conf for configuration data, and the
support for "UPS blah /var/state/foo" lines in upsd.conf will eventually
be removed.  All UPS definitions will now happen in that one file.

The rub
-------

Nothing is ever simple.  The problem here is that the majority of the
drivers are not yet using the unified structure where main.c has control
and the actual driver.c is just a bunch of support functions. 

The old drivers do not support -a, so they can't be used with this system
yet.  It is imperative that we start converting them to make this work for
everyone.

Note: no patches will be accepted to hack -a support into old drivers.
Convert them.
