                         Foundational Library
                         ====================

DESCRIPTION -
-----------
A foundational library for multiple UNIX-like systems. There are
headers for C.

This library supports 16-bit and 32-bit architectures. The goal of
this library is to be a standard for Assembly and a elegant
alternative standard for C.

Supported targets:
  Linux ARM
  Linux i386
  NetBSD ARM
  NetBSD i386
  Minix-2 i86

NOTES -
-----
Tested with:
  Linux 3.16, GCC 4.9, TCC 1.2
  NetBSD 9.0, GCC 10.1. On i386 only: PCC
  Minix-2 2.0.4, BCC

System calls that take a string are length-prefixed, but a string
provided by the kernel is not length-prefixed.

The function `start' passes FILE, ARGV and ENVP to `main'; same as the
`execve' system call. The first string in ARGV is the first argument, 
as you'd expect.

Any system call that expects a string can be given a length prefixed
or null terminated string.

This library simulates an operating system that supports file system
permissions but not file permissions. System calls that require file
permissions are given full permissions and cannot be changed through
the library.

BUILDING -
--------
To build on Linux and NetBSD you'll need the GNU Assembler and GNU
Loader. To build on Minix 2 you'll need BCC and As86. To utilitize the
build script you'll need the Bourne shell.

To manually build the library with the Thompson or Bourne shell for
the i386 architecture on Linux, run:

  as arch/i386/*.s
  mv arch/i386/start.o .
  ar -cr libfndn.a arch/i386/*.o

To automatically build the library with the Bourne shell, run:

  ./redo.sh defconfig
  ./redo.sh

If Make is installed, you can substitute `./redo.sh' with `make'.

DOCUMENTATION -
-------------
Reference materials are available in the `docs' directory. The source
is written in NROFF. All the macros are located in `docs/doc.mac'.

CREDIT & COPYING -
----------------
Written by Stone Horse. This work is dedicated to the public domain.
Do with it what you please.

CONTACT -
-------
You can contact me at the South Park Blocks in front of the Portland
Art Museum Monday and Tuesday 12:15-13:00 PST. Look for a man on
roller blades.
