% $Id: SUPPL.TEX 1.2 2000/03/31 09:08:22 ska Exp ska $
%
% Documentation of 
%
%	(c) Copyright Steffen Kaiser
%
%	This \LaTeX file requires \LaTeXe
%
\documentclass[twoside]{report}
%\usepackage{german}

%%%
%%% Page style
%%%
\pagestyle{headings}
\setlength{\evensidemargin}{.5cm}
\setlength{\textwidth}{14.5cm}

%%%
%%% How to set some stuff
%%%

%
% How to typeset functions/filenames etc.
\newcommand{\fct}[1]{\texttt{\textsc{#1}}}
\newcommand{\quote}[1]{"{}#1"{}}	% Quote the enclosed text with upper double quotes
\newcommand{\fnam}[1]{\textrm{#1}}	% file names
\newcommand{\subsys}[1]{\textsc{#1}}	% subsystems
\newcommand{\hfile}[1]{\texttt{<\fnam{#1}>}}	% header file
\newcommand{\ttytext}[1]{\quote{\texttt{\bf #1}}}	% text on a console/TTY

%
% Standard names
\newcommand{\suppl}{\textsl{SUPPL}}

%%%
%%% Default environments and commands
%%%

\newcommand{\samefootnote}{\addtocounter{footnote}{-1}\footnotemark}

%% Two-column standard table (args: column headers)
\newenvironment{tableTwo}[2]%
{\begin{tabular}{|c|p{10cm}|}\hline
{\bf #1} & {\bf #2} \\ \hline \hline}%
{\hline\end{tabular}}
%% Three-column standard table (args: column headers)
\newenvironment{tableThree}[3]%
{\begin{tabular}{|c|c|p{10cm}|}\hline
{\bf #1} & {\bf #2} & {\bf #3} \\ \hline \hline}%
{\hline\end{tabular}}
%% Standard two-colum name/purpose table
\newenvironment{\tabTS}{\begin{tableTwo}{name}{purpose}}{\end{tableTwo}}

%%%
%%%	Global settings
%%%

\title{Description of the \suppl package}
\author{Steffen Kaiser}


\begin{document}

%%%
%%%	Vorspann
%%%
\frontmatter

%\maketitle
\tableofcontents
%\listoffigures
%\listoftables

\begin{abstract}
This document describes the \suppl -- {\large The Supplemental Library}
-- package.  It explains the contents, the programming interface, the
design and the useage.
\end{abstract}

%%%
%%%	Kapitel, Anh"ange
%%%
\mainmatter

\chapter{Purpose}

The development of the \suppl library, in short \suppl, was started
to implement a programming environment portable for both
Micro-C\footnote{Micro-C --- A {\em nearly} ANSI--C compatible implementatio
of the C programming language, it is available from
\verb|http://www.dunfield.com|.} and Borland~C\footnote{Available from
\verb|http://www.borland.com| or \verb|http://www.inprise.com|.}.

The support for other compilers, Watcom~C\footnote{Available form
\verb|http://www.watcom.com|.} and HiTech Pacific~C\footnote{Available
from \verb|http://www.hitech.com|.}, was added later.

Other, general purpose functions were added as well.

This library is designed to be linked to other programs to make all
of these functions available at once.

\chapter{Design}

Similiar functions are grouped into subsystems. Each subsystem has its own
header file to be included in order to make the particular functions and macros
available.

In early versions of \suppl the choosen names conflicted with the ones of
the program, therefore since version 3 each symbol has a prefix to
identify it as a part of \suppl or just to limit the possibility of
such conflicts. Below table \ref{subsyses} describes 

\begin{table}
\caption{\label{subsyses}Subsystems of \suppl}
\begin{tabular}{*{3}{|c}|}
\hline
{\bf Subsystem & Header File & Prefix(es)} \\
\hline
\hline
Debug & \fnam{SUPPLDBG.H} & \fct{DBG\_}, \fct{suppl\_log\_}, \fct{suppl\_} \\
\hline
Portable & \fnam{PORTABLE.H} & no special\\
\hline
Env & \fnam{ENV.H} & \fct{ENV\_}, \fct{env\_} \\
\hline
MCB & \fnam{MCB.H} & \fct{MCB\_}, \fct{mcb\_} \\
\hline
\end{tabular}

\end{table}


\chapter{Programming Interface}

\include{debug.tex}

\chapter{Known Bugs}

\begin{enumerate}
\end{enumerate}


%%%
%%%	Verzeichnis, Index
%%%
\backmatter

\end{document}
