This is a clone of the form library that is available with typical
System V curses implementations (ETI).

It is modelled after the documentation that comes for this library with
a 386 based SVR4 implementation (ESIX).  

The development environment was and is an ELF based Linux system.

For things that still need doing, see the TO-DO file in the top-level 
directory.

Juergen Pfeifer

eMail: juergen.pfeifer@gmx.net

