% run this through LaTeX with the appropriate wrapper

\chapter{FRED}
\label{DUA:fred}
\pgm{fred} is a DUA optimised for White Pages queries, it is actually
implemented as an interface to \pgm{dish}, hence the name FRED -- FRont End
to Dish.

\section	{Giving Commands to Fred}\label{fred:commands}
After invoking \pgm{fred},
you are prompted with ``\verb"fred> "'' indicating that \pgm{fred} is ready.

If \pgm{fred} is invoked interactively,
it will look for a file in your home directory called \file{.fredrc}.
It will execute the commands contained in this file just as if you had typed
them directly to \pgm{fred}.
Following this,
you are given the ``\verb"fred>"'' prompt.

\section	{Let your Fingers do the Walking}
Although \pgm{fred} has several commands,
the most interesting command is \verb"whois",
which performs a white pages query.

Let's begin with some simple examples and introduce the other commands along
the way.
If you already know the handle of the person you're interested in finding out
about,
just give the handle:
\begin{quote}\smaller\begin{verbatim}
fred> whois @c=US@cn=Manager
Manager (1)

Handle:        @c=US@cn=Manager
\end{verbatim}\end{quote}

\subsection	{The Alias Command}
Since handles are long strings,
\pgm{fred} will automatically maintain a list of aliases of the entries you
have seen in the current session.
The alias is always a number.
When an entry is displayed,
it appears on the first line in parenthesis after the name of the object.
In the example above,
the alias is \verb"1".

To find out what aliases are currently defined,
use the \verb"alias" command:
\begin{quote}\smaller\begin{verbatim}
fred> alias
1    @c=US@cn=Manager
\end{verbatim}\end{quote}
Thus,
the previous \verb"whois" command could have been shortened to simply:
\begin{quote}\small\begin{verbatim}
fred> whois !1
Manager (1)

Handle:        @c=US@cn=Manager
\end{verbatim}\end{quote}
Each time you invoke \pgm{fred},
its list of aliases is empty.
If there are few handles which you use often,
you might wish to define them in your \file{.fredrc} file,
e.g.,
\begin{quote}\small\begin{verbatim}
alias "@c=US@o=NYSERNet Inc.@cn=Manager"
\end{verbatim}\end{quote}
Of course,
the ordering of aliases is important.
\pgm{fred} will start numbering from~1 starting with the first \verb"alias"
command.

\subsection	{Back to Searching}
Suppose however,
that you don't know the handle for the person.
In this case,
you need to specify some search parameters.
Logically,
the first step is to ascertain the organization which the person is likely to
be associated with, e.g.,
``NYSERNet, Inc.''.
This is done as:
\begin{quote}\smaller\begin{verbatim}
fred> whois organization nyser
NYSERNet Inc. (2)               +1 518-283-8860
  165 Jordan Road
  Troy
  New York
  12180

FAX:       +1 518-283-8904

Not-for-profit organization providing network services and software

See Also:      @c=US@o=NYSERNet Inc.@cn=Manager

Handle:        @c=US@o=NYSERNet Inc.
\end{verbatim}\end{quote}
Second,
to search for a particular person,
you might use:
\begin{quote}\small\begin{verbatim}
fred> whois rose -area 2
Marshall Rose (3)            mrose@psi.com
    aka: Marshall T. Rose

    Principal Scientist
    PSI, Inc.
    PSI California Office
    POB 391776
    Mountain View, CA  94039

Telephone:    +1 415-961-3380
FAX:          +1 415-961-3282

Mailbox information:
    Internet: mrose@psi.com
    UUCP:     nyser!mrose

Principal Implementor of the ISO Development Environment

Handle:        @c=US@o=NYSERNet Inc.@ou=Research ...
\end{verbatim}\end{quote}
Note the use of the alias \verb"2".
The command could also have been:
\begin{quote}\small\begin{verbatim}
fred> whois rose -area "@c=US@o=NYSERNet Inc."
    ...
\end{verbatim}\end{quote}
Double-quotes are used so that the DN appears as a single token to \pgm{fred}.

Of course,
this two-step process,
whilst logical, is tedious.
Thus, you can combine them like this:
\begin{quote}\small\begin{verbatim}
fred> whois rose -org nyser
    ...
\end{verbatim}\end{quote}
which says to look for any organizations with ``nyser'' in its name.
Then, for each of these,
look for something called ``rose''.

\subsection	{The Area Command}
Suppose
you want information on several persons belonging to an organization.
You can use the \verb"area" command,
by itself,
to tell \pgm{fred} where to search for subsequent commands.
For example,
\begin{quote}\small\begin{verbatim}
fred> area "@c=US@o=NYSERNet Inc."
\end{verbatim}\end{quote}
or simply
\begin{quote}\small\begin{verbatim}
fred> area 2
\end{verbatim}\end{quote}
both tell \pgm{fred} the default area used by the \verb"whois" command.
Of course,
you can still use the \switch"area" area with the \verb"whois" command to
override the default area.
Thus,
\begin{quote}\small\begin{verbatim}
fred> whois alan -area "@c=US@o=Columbia University"
\end{verbatim}\end{quote}
will do what you expect.

If you use the \verb"area" command without any arguments,
\pgm{fred} will tell you what its default area is:
\begin{quote}\small\begin{verbatim}
fred> area
@c=US@o=Yoyodyne
\end{verbatim}\end{quote}
This indicates the default area for all commands,
{\em including\/} any subsequent \verb"area" commands.
Thus,
issuing:
\begin{quote}\small\begin{verbatim}
fred> area @c=US@o=Yoyodyne
@c=US@o=Yoyodyne

fred> area ou=Research
@c=US@o=Yoyodyne@ou=Research
\end{verbatim}\end{quote}
is equivalent to
\begin{quote}\small\begin{verbatim}
fred> area @c=US@o=Yoyodyne@ou=Research
@c=US@o=Yoyodyne@ou=Research
\end{verbatim}\end{quote}
because a leading \verb"`@'"-sign was not used before \verb"ou=Research".

As you might expect,
there is a special string ``\verb".."'' which may be used to move up one level:
\begin{quote}\small\begin{verbatim}
fred> area ..
@c=US@o=Yoyodyne
\end{verbatim}\end{quote}
Combinations are possible as well,
such as:
\begin{quote}\small\begin{verbatim}
fred> area ..@"NYSERNet Inc."
@c=US@o=NYSERNet Inc.
\end{verbatim}\end{quote}
which moves up a level and then down to \verb"o=NYSERNet Inc."

\subsection	{Getting Help}
For a brief summary of \pgm{fred} commands,
type:
\begin{quote}\small\begin{verbatim}
fred> help ?
\end{verbatim}\end{quote}
This will list the commands that \pgm{fred} knows about
along with a one-line summary of their function.

For help on a particular command,
type the name of the command followed by \switch"help",
e.g.,
\begin{quote}\small\begin{verbatim}
fred> alias -help
\end{verbatim}\end{quote}

If you need more help,
try
\begin{quote}\small\begin{verbatim}
fred> manual
\end{verbatim}\end{quote}
which is the same as
\begin{quote}\small\begin{verbatim}
% man fred
\end{verbatim}\end{quote}
from the shell.

\subsection	{Quitting}
To terminate \pgm{fred},
simply use:
\begin{quote}\small\begin{verbatim}
fred> quit
\end{verbatim}\end{quote}

\section {Advanced Usage}

This Chapter has given a very brief overview of the basic Fred commands, 
for full details you should consult~\cite{NYSER.Fred}, which tells you how
to make more complex search requests, edit your own entry and how to use
Fred to compose mail addresses using the \MH/ mail system.
