FIPS tools explained
====================

api_list.pl
    a script to produce an API description, saying what parameters are
    for input, output or both.

    Most often, the direction of a parameter is determined automatically.
    However, quite a number of them are educated guesses.  Either way,
    the information is stored in the file declarations.dat in this
    directory, and can be manually corrected; simply go through
    declarations.dat, look for any value with the key 'direction'
    where the value contains a question mark.  Those should be changed
    to whatever is true, and the values should be one of the
    following:

	<-	output
	->	input
	<->	both

api_fns.pm
    a module that helps api_list.pl do its job.

declarations.dat
    a file of information about public fips symbols.  See api_list.pl
    above.
