\chapter{Overview}\label{sec:intro}

\section{What's SUnet?}

The Scheme Untergrund Networking Package (SUnet, for short) contains a
set of libraries for doing Internet hacking from scsh. It includes:
   
\begin{description}
\item[The SUnet Web server]
  This is a complete implementation of an HTTP 1.0 server in Scheme.
  The server is accompanied some libraries which may also be used separately:
  \begin{itemize}
  \item URI and URL parsers and unparsers
  \item a library for writing CGI scripts in Scheme
  \item server extensions for interfacing to CGI scripts
  \item server extensions for uploading Scheme code
  \item simple structured HTML output library
  \end{itemize}            
\item[The SUnet ftp server]
  This is a complete anonymous ftp server in Scheme.
\item[ftp client library] This library allows you to access ftp
  servers programmatically.
\item[netrc library] This library parses authentication information
  contained in \verb|~/.netrc|.
\item[SMTP client library] This library allows you to forge mail from
  the comfort of your own Scheme process.
\item[POP3 client library]
  This library allows you to access your POP3 mailbox from inside scsh.
\item[RFC822 header library] This library parses email-style headers.
\item[Daytime and Time protocol client library]
  This library lets you find out what time it is without paying for a
  Rolex.
\item[DNS client library] This is a fairly complete, multithreaded DNS
  library.
\item[An \texttt{ls} clone] This library displays Unix-style directory
  listings without running \texttt{ls}.
\end{description}

\section{Obtaining the system}

The SUnet code is available
\urlhd{http://www.scsh.net/sunet/}{here}{from
  \url{http://www.scsh.net/sunet/}}.  To run the code, you need
version 0.6.3 or later of \urlhd{http://www.scsh.net/}{scsh}{scsh from
  \url{http://www.scsh.net/}}.

\section{How to use the packages}

Untar the SUnet distribution somewhere.  Fire up scsh and load the
SUnet \texttt{packages.scm} file into the configuration package.
After that, all structures defined by SUnet are available:
%
\begin{alltt}
atari-2600[72] scsh
Welcome to scsh 0.6.3 (Health Reform)
Type ,? for help.
> ,config ,load packages.scm
modules.scm
> ,open ftp
Load structure ftp (y/n)? y
[netrc netrc.scm]
[ftp ftp.scm]
> \textit{call library code}
> ,exit
atari-2600[73]
\end{alltt}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "man"
%%% End: 
