			Include Disk
			============

  This directory contains the following files:

  include.c	: the include disk server as described in the book
			"The Helios Parallel Operating System"

  include.h	: header file for the above

  buildinc.c	: utility to build the incdisk binary image

  stopinc.c	: utility to terminate the include disk

  makefile	: to build the server and the utilities

  readme	: this file

The Include Disk
================

  The include disk can be built in two different ways. If compiled with the
DEBUG flag then it can run as an ordinary program. In particular it can
be run from the shell using the command line:
    include &

Alternatively it could be run from the initrc file using:
    run -e /helios/lib/include include

or from a resource map using:
    processor SCSI { ~01, ~02, ~03, ~04; System;
			run -e /helios/lib/include include;
			...
    }

If compiled without the DEBUG flag then the server becomes a system
program that cannot be started from the shell, because it does not
accept an environment. It can still be started from the initrc file
or from the resource map.
    run /helios/lib/include
or
    processor SCSI { ~01, ~02, ~03, ~04; System;
			run /helios/lib/include;
	}

When the server starts up it reads the file /helios/lib/incdisk, which
should be pre-generated using the buildinc utility. This file contains
the top-level header files shipped with Helios in such a form that
it can easily be turned into a server's directory tree. The header files
have been stripped of their comments to reduce memory and disk
requirements. The server installs itself as /include, and can be
examined using commands such as "ls /include" or "cat /include/codes.h".

The main use for the include disk is obviously when compiling C programs.
The compiler driver c will automatically search for the include disk, and
if present it will attempt to use its header files in preference to
those in /helios/include. When using the underlying C compiler cc it
is necessary to incorporate /include explicitly into the search path
using the -i and -j options.

buildinc
========
	This utility should be run before the first use of the include
disk server. It should also be run whenever the header files are changed,
to ensure that the changes are incorporated into the include disk.
The utility scans the directory /helios/include, reads in all the
header files, strips these of comments, and produces a binary output
file /helios/lib/incdisk (this name can be changed by editing the header
file include.h). This binary file is read in by the include disk every time
it starts up.

stopinc
=======
	This utility terminates the /include disk. The main reason for
including it is to demonstrate the use of private protocol functions
for debugging etc.

