10/77
The NAME program.

NAME is a program whose major function is to provide
more information about users than other available programs
such as WHO, PEEK etc. which deal only with logged in
users and bascially only give the UNAME, JNAME and tty no.
of a user.  NAME however gives the persons full name in
addition to his UNAME, and the tty no. is further augmented
by giving the physical location of the terminal.

The NAME program accepts as a command line a specification
concerning what users it should return information on.
The most common use of the program is to obtain a listing
of everyone logged in.  This is easily accomplished by
typing NAME or :NAME<cr> at DDT.  The next simplest form
of a command line is to list several user names and/or
tty no. (Tnm) separated by commas.  In this case NAME will
give information on only those users given in the command
line.  Thus, ":NAME foo,bar,t23<cr>"
causes NAME to return information of users foo and bar and
then tty no. 23.  Two "user names" are special when used
here; they are "*" and "*NET" which cause NAME to generate
info on all logged in users and all users logged in through
the ARPA network respectively.  Thus "NAME" is equivilant
to ":NAME *".

Partial matching:
	NAME normally returns all full matches to a given name;
however, it can also return "partial" matches by ending the
name with a dash or three periods; thus,
  :NAME SMI-,DO...
would find all users whose names begin with "SMI" or "DO" and will
catch SMITH and DOE for example.

Exact matching, weird names:
	Names can be quoted and an exact match forced by enclosing
the name within double-quotes.  In particular no partial matching
is done; thus one may safely say
   :NAME "Foo-"
and not worry about NAME's trying to find everyone whose name starts
with FOO.  This is also a reasonable way of passing strange things
on to other sites, as in "Foo/sw @file"@SAIL.

The format of a basic NAME listing of a logged in user is:
<uname>	<full name>	<job> <idle>{.}T<nm> <tty description>
Here <uname> is name the user logged in under.  His actual
name is looked up in a file of authorized users and given
in the <full name> field.  <job> is the name of the user's
current job; i.e. the job in his tree which currently has
the tty.  <idle> is the length of time elapsed since anything
was last typed at the user's terminal.  A "." will optionally
follow the idle time iff there are no jobs in the user's tree
which are running.  Next the terminal no. for the user is
listed followed by a description of its location.  For network
terminals the site from which the user is coming is listed
as the tty description.  For local STYs either the UNAME and
JNAME of the controlling procedure is given or a description
of the "daemon" which has it open.

There are switches controlling the information listed: 
 /A - Abbreviate, will inhibit NAME from printing the full name of a user 
	(useful when using the program to see if someone you already
	know is logged in)
/J - Job number, will include the job no. of the user's HACTRN
	just before the jobname field.
/W - WHOIS, prints lengthy information about all users specified.
/T - Time or When, prints last logout time of users specified.

For logged out users the following information is displayed:
<uname>	<full name>	Not logged in. <plan>
If either <uname>;<uname> plan or com:<uname> plan exists
then <plan> has the value "Plan:" followed by the first page
of that file.  If the file doesn't exist then <plan> has the
value "No plan."  This feature is useful for specifying your
intended whereabouts if you intend to be gone for a few days.

NAME also has the capability to ask other sites for name-style
information.  It passes as a command line to the other side just
the portion of its commnand line which pertains to the foriegn
host and prints the output from the other side.  The format of
the command line to request information from another site is
"foo,bar,...,@site1,user1,user2,...,@site2..." which would print
information on foo,bar, etc. locally and then request
information from site1 on user1,user2 etc. and then from site2
and so on.  Three "site names" have special meaning, *, *LISPM,
and *ITS which specify all sites which support NAME servers, all
LISP machines, and all ITS sites respectively.  Thus ":NAME
@*ITS" will give a name listing for each of AI, ML, and DM.
Note that the command line applicable to a specified host is
passed directly to it to interpret; that host may not interpret
the command line in quite the same way as set forth in this
memo.  Since the ITS sites all use the same program there is no
difficulty when using all the allowed features.  SAIL does not
allow the "user names" * or *ARPA, nor does it recognize any jcl
switches.

;;;;;;;; SU-AI "FINGER" DOCUMENTATION - FINGER.LES[UP,DOC] ;;;;;;;;;

13 Oct 1975		FINGER			by Les Earnest

The system command "FING" shows data on all jobs, in order by
programmer initials.  The "IDLE" column shows the time, in minutes,
since the given job was last in the RUN queue.  If the job is
currently in the STOP queue, a "." follows.

The command "FING <people list>" shows data only on the specified people.
For example, "FING JMC,DAVE,HERSK" requests information on programmer JMC
and anyone whose first or last name begins with "DAVE" or "HERSK".
String matching uses the following precedence:
  1) exact match on programmer initials,
  2) exact match on friendly or last names,
  3) match on leading characters of friendly or last names.
If a given string matches more than one person at a given level, it
reports "ambiguous" and lists their names.

For people who are not logged in, it tells when they last logged out
and shows their plan file, if any.

			FILE LISTS
Arguments in the FINGER command are separated by commas and/or spaces.
An argument of the form "@<file name>" causes that file to be read.
Files can include references to other files, ad nauseum.  In files,
everything to the right of a semicolon on a given line is ignored,
so that comments can be put there.

The default file extension is "DIS" and the default PPN is "[P,DOC]".
Thus if you say "FING @H", it will first look for a file in you area
called "H".  If that doesn't exist, it will next try "H.DIS" in your
area and, if necessary, "H.DIS[P,DOC]", the latter being the list of
hand-eye people which is kept in [P,DOC] along with other group lists
(see SAIL Telephone Directory).

			SWITCHES
The argument list may also contain switches of the form "-PLAN" or
"-LOGOUT", which suppress the output of plan files and times of
last logout, respectively.  These may be abbreviated to as little
as "-p" and "-l".  Thus, if you give the command "FING @VB @M-L"
you will get information only on people in the Volleyball and Music
Groups who are logged in.
