Last update:
Wed Mar  2 08:40:03 EST 1994


> What is CAP ?

The Columbia AppleTalk Package (CAP) implements the AppleTalk protocol
stack on a variety of UNIX machines.  The main applications provide an
AppleShare 2.1 compatible server (aufs), a LaserWriter Spooler (lwsrv)
and a program to print to LaserWriters (papif).  The latter can be used
to talk to EtherTalk LaserWriters, LocalTalk LaserWriters used on Dayna
EtherPrint cards or on a LocalTalk/EtherTalk gateway.  There are also a
number of contributed packages bundled with CAP (see cap60/contrib).

A brief CAP glossary is included at the end of this FAQ.

> What extra hardware is required for CAP ?

This depends on the type of UNIX operating system being used.

On a SUN SunOS or DEC ULTRIX or OSF/1 machine, CAP can speak Phase 1 or
Phase 2 EtherTalk packets using packet filters based on the Stanford ENET
model. On 386/BSD or FreeBSD hosts, CAP can speak Phase 1 AppleTalk packets
using the Berkeley Packet Filter.

On some hosts, CAP can also use Kernel based AppleTalk or run the UNIX
AppleTalk Bridge (UAB) to connect to Phase 1 EtherTalk networks.

On SunOS, ULTRIX, IRIX, AIX, HP-UX and NEWSOS hosts, CAP can use the
UNIX AppleTalk Router (UAR) to connect to Phase 1 or Phase 2 networks.

On other UNIX boxes you need to have an external hardware gateway that
can translate IPTalk packets.  Suitable candidates are Shiva FastPath,
Cayman GatorBox, Cisco Router or Webster MultiPort Gateway.

> What machines will CAP run on ?

The CAP Configure script has specific support for the following
Operating Systems:

	sunos - SUN SunOS
	solaris - SUN Solaris 2.1 (IPTalk)
	ultrixnn - DEC Ultrix 1.2, 2.0, 4.N
	osf1 - OSF/1 1.3 or greater
	irix - Silicon Graphics IRIS/IRIX
	aix - IBM AIX System V
	hpux - HP HP-UX 8.0
	uts - Amdahl UTS
	aux - Apple A/UX
	encore - Encore MultiMax BSD
	pyr - Pyramid (BSD Universe)
	next - NeXT/MACH
	dynix - Sequent Balance
	newsos - Sony NEWS
	drsnx - ICL DRS/NX V4.0
	epix - Control Data EP/IX
	dynix - Sequent Balance
	domainosbsd - HP/Apollo Domain BSD 4.3
	386bsd - 386/BSD, FreeBSD and derivatives
	bsd - BSD 4.2, 4.3

> What is the current CAP version ?

CAP is at version 6.0 with (currently) 192 patches to be applied, most of
which add extra functionality to the original.  To determine the current
patch level of your sources, check the cap60/README file for a line of
the form

	o CAP Distribution 6.0, Patch Level 192, February 1994

If your CAP distribution is at patch level 100, or greater, you can run
a CAP program with the -dv option and it will print the patch level, the
low level encapsulation method and exit. ie:

% atlook -dv
CAP version 6.0, patch level 143, May, 1993
Modified UDP encapsulation

> Will CAP 7.0 ever appear ?


> Where can I get CAP ?

CAP can be obtained by anonymous FTP from

rutgers.EDU		src/{cap60.tar.Z,cap60.patches/*}
munnari.OZ.AU		mac/{cap60.tar.Z,cap.patches/*}
gatekeeper.DEC.COM	pub/net/appletalk/cap/{cap60.tar.Z,cap.patches/*}	net/cap/{cap60.tar.Z,cap60.patches/*.Z}
src.doc.ic.AC.UK	mac/multigate/{cap60.tar.Z,cap.patches/*}

Please choose an appropriate site and an off-peak time for the transfer.

The patches are available individually or as the files "patches.1-100.tar.Z",
"patches.101-126.tar.Z", "patches.127-143.tar.Z", "patches.144-154.tar.Z",
"patches.155-162.tar.Z", "patches.163-182.tar.Z" & "patches.183-192.tar.Z".
Additionally, for new users, a partially patched source file is available
as "cap60.pl100.tar.Z" (beware: the file cap60.tar.Z is totally unpatched).

> How do I apply the patches ?

To make the process of patching easier, you should get the 'patch' utility
written by Larry Wall, it is normally available from sites that archive
comp.sources.unix in volume7/patch2 and at GNU archive sites as
patch-2.1.tar.gz (which requires gzip-1.2.2.tar for unpacking).

For each of the patches, run 'patch -p < cap60.patchNNN' from the top level
cap60 directory, for example, in csh

		foreach i (cap60.patches/cap60.patch*)
		patch -p < $i >>& /tmp/patches

and check the /tmp/patches file for patching errors (should be none).
To remove the *.orig files that patch leaves behind (containing the original
version of the file), run 'make spotless' from the top level directory (note
that spotless also removes all makefiles so gen.makes needs to be run to
regenerate them).

> I picked up CAP 6.0 from, but our Unix system administrator
> refuses to install it because there are 74 patches (can't say I blame him)!

Sigh. Using the patch program to apply patches requires a minimal amount of
time and energy.  Taking time to install the patch program will pay off for
CAP and other program updates.

% date
Sat Mar  7 23:51:05 EST 1992
% touch /tmp/patches
% foreach i (cap60.patches/cap60.patch*)
? patch -p < $i >>& /tmp/patches
? end
% grep rej /tmp/patches
% date
Sat Mar  7 23:54:26 EST 1992

It took just 3:11 to apply 75 patches to the raw CAP tar source.  The extra
overhead is the time to FTP 3 files, cap60.tar.Z, patches.1-74.tar.Z and
cap60.patch075 and uncompress them.  The total time spent on this ... 0:8:02.

> Is CAP Public Domain ?

No, CAP is distributed with the following condition on its use:

  Copyright (c) 1986, 1987, 1988, The Trustees of Columbia University in
  the City of New York.  Charlie C. Kim, User Services Group, Academic
  Information Services Division, Libraries and Center for Computing
  Activities and Bill Schilit, formerly of Computer Research Facilities,
  Computer Science Department.

  Permission is granted to any individual or institution to use, copy,
  or redistribute this software so long as it is not sold for profit,
  provided that this notice and the original copyright notices are
  retained.  Columbia University makes no representations about the
  suitability of this software for any purpose.  It is provided "as is"
  without express or implied warranty.

Some portions of CAP have other copyrights and are suitably marked.

> Is there a version of CAP available that supports Ethertalk Phase 2 ?

Phase 2 support was added in CAP 6.0 patches 25, 28 & 35 for SUN NIT, ULTRIX
4.n and SUN enet driver respectively.  This is CAP's "Native EtherTalk" mode.

> Can a workstation with 2 ethernet cards running CAP s/w act as a Phase 2
> to (Phase 1 or Phase 2) "Gateway"? If so, what patch level of CAP do I need
> to do this?
The UNIX AppleTalk Router (UAR) is an EtherTalk gateway for Phase 1 or
Phase 2.  It can handle multiple ethernet interfaces and route between
them.  This is its primary function but it can also be set up to provide
access to CAP services (even on hosts with a single ethernet interface).

UAR is not bundled with CAP, the freeware version (1.0) is available via
anonymous FTP from munnari.OZ.AU as mac/uar.tar.Z.  Please note the
redistribution restrictions indicated in the UAR README file.  A negotiable
"shareware" or site-licence fee is payable for UAR version 1.1 which has
support for ARNS clients, NBP registrations and improved zone list handling.

> Does anyone have a patch that will support the phase 2 appletalk protocol
> on UAB (CAP6.0).

UAB supports Phase 1 only.  UAR is a replacement for UAB.

> Is there any standard way yet of implementing a execute only, copy
> protected CAP AUFS server?

The original method of achieving this was to removing read permission from
the data fork of the Application (make it non-zero length if the file is
empty).  The current recommended method involves using the Application
Manager added in patch number 61.  Either of these methods can be
circumvented by users who are either knowledgeable or determined.

> Recently I introduced a new color postscript printer, Tektronix Phaser III
> 4698PXi, under one of the LocalTalks.  It works fine from Macintosh's so I
> tried to use it from papif but failed.

CAP uses DDP checksums by default, the checksum code in the Phaser III PXi,
Apple Personal LaserWriter NTR, QMS PS1700, Talaris 1590-T and others
incorrectly calculate the checksum value and the packet is dropped.  The
programs aufs, lwsrv, papif, atis, atlooklws and tlw now support the -k
option to disable CAP checksums on a per-program basis. To disable CAP
checksums completely, add the following lines to the m4.features file,
rerun gen.makes and remake CAP.

# + DONT_DOCHKSUM no DDP checksums (Tektronix Phaser III PXi & Apple LW NTR)
define(`specialcflags',concat(specialcflags,` -DDONT_DOCHKSUM'))

Some AppleTalk routers will add checksums to packets that traverse them.
This may make the -k option ineffective. To solve this problem, disable
checksums on the router. With UAR, use the -c option. With cisco routers,
use "no appletalk checksum" in the configuration. Disabling checksums,
except to make use of "broken" hardware, is not recommended.

> We've just upgraded our DECstations to version 4.2 of ULTRIX, and our CAP
> distribution very neatly broke.

You need to obtain the net_common.o and pfilt.o patches from Digital's
Customer Support (also for ULTRIX 4.2A).  Do not turn on the ifconfig
copyall (stop-gap measure previously suggested on the net).  Do not define
ULT42PFBUG in m4.features.

> Does anybody know if the packet-filter patches that were necessary
> to make CAP work under Ultrix 4.2 are built into Ultrix 4.3?

CAP under Ultrix 4.3 does not require the packet filter kernel patches.
Do not turn on the ifconfig copyall (stop-gap measure previously suggested
on the net).  Do not define ULT42PFBUG in m4.features.  See also the file
/pub/DEC/dec-faq/ultrix on

> When we run aarpd with a command like:
> 	 aarpd pf0 our_zone
> the daemon doesn't start & we get the message 'failed to start ZIS listener'.


> After a reboot of the machine atis refuses to run properly.
> The error that I get in the logfile is:
> NIS: NIS socket not available: error -1: Address already in use

This means that some other program has chosen the ZIS UPD port 774 (768+6)
or the NBP UDP port 770 (and probably also registered with 'portmap'. Check
this with the command 'rpcinfo -p').

There are two solutions, break 'start-cap-servers' into two so that aarpd and
atis are started before the offending program. Alternatively, and preferably,
install the NIC assigned port numbers into /etc/services. See the doc in the
file cap60/doc/ for more details.

> I have installed the enet driver. But aarpd won't start successfully.
> Instead the following error message is being printed.
> unix!: # aarpd le0 EtherTalk
> open: /dev/enetXX: No such file or directory

The ENET drivers use devices of the form enet0, enet1 etc. Replace the
string "le0" with "enet0".

> I tried to run aarpd, and what happened was:
> /dev/nit: Permission denied
> I also tried to do a chmod 777 /dev/nit, to no avail.

In addition to requiring the device node, /dev/nit, you have to make sure
your kernel has the NIT driver support in it.  Here's what it looks like in
the GENERIC configuration file for SunOS 4.1.1 (/sys/sun4c/conf/GENERIC):

# The following are for streams NIT support.  NIT is used by
# etherfind, traffic, rarpd, and ndbootd.  As a rule of thumb,
# NIT is almost always needed on a server and almost never
# needed on a diskless client.
pseudo-device   snit            # streams NIT
pseudo-device   pf              # packet filter
pseudo-device   nbuf            # NIT buffering module

# The following is for the "clone" device, used with streams devices.
# This is required if you include streams NIT support, RFS, or an audio
# device.
pseudo-device   clone           # clone device

If your kernel configuration doesn't have these pseudo-devices included,
add them, rebuild (config and make) your kernel, and reboot.  A similar
problem can occur with the ULTRIX packet filter, see 'man packetfilter'.

> We're running CAP with Native EtherTalk on a network without a router.
> atlook doesn't show our LaserWriter IIg and getzones fails with
> error -1096 getting zone list

Zone names are the responsibility of AppleTalk routers. Without a router,
there are no zones defined for the network and the zone name field in NBP
lookup packets must be * (or nothing at all). To use CAP with Native
EtherTalk in this situation, start 'aarpd' with "*" as the zone name,
any other zone name string may cause the lookup packet to be dropped.

> We always get the message "NBPLookup returned err -1024" when doing an
> "atlook" on our Ethertalk zone.  Does anyone know what that means?

#define       nbpBuffOvr      -1024   /* buffer overflow in LookupName */

It means that atlook isn't assigning enough lookup space. That is, the
number of responses, ie: the number of NBP registered entities, exceeds 
the buffer size. In cap60/samples/atlook.c, change

#define NUMNBPENTRY 250                       /* max names we can lookup */

to something larger, perhaps 500.

> Can I use CAP with Native EtherTalk or UAB under Solaris 2.1 ?

At this stage CAP only supports IPTalk under Solaris 2.N.  A beta version
of Native EtherTalk support is available for testing, send email
to cap@munnari.OZ.AU for details.

> If the user would like another layout on his/hers CAP-folders than
> the standard ones, the changes are not stored by aufs. Even if the
> .ADeskTop and .IDeskTop files are deleted and rebuilt it does not
> have any effect on the layour. 

The folder layout information is not stored in the .ADesktop/.IDesktop
files - these hold icon information and application-location bindings,
but not visual-display info.  Instead, it is stored in the .finderinfo

Your problem is probably this:  the Finder layout information for the
top-level directory (the "disk window" layout) is being lost, because
CAP cannot find a place to store it.  The information is _not_ stored in
the directory that you are "publishing" on the network - instead, it's
stored in the .finderinfo directory which is located "in parallel" to
this top-level directory.  You probably have not created this
.finderinfo directory or have not set the permissions properly.

By way of example:  if you wish to publish /foo/bar/baz as a Macintosh
network disk, you should create _five_ Unix directories:


The last of these is probably the one that you are missing.  You should
create it, and set its ownership and write-permissions to be identical
to those of the other four.  Then, dismount the network volume, mount
it again via the Chooser, and set the "View by" arrangement to whatever
you wish - this time it will "stick" properly.

> I had problems with the top level CAP folder losing icon positions.
> I thought I solved it by creating .finderinfo and .resource dirs in ..,
> and making everything rw for everyone, rwx for everyone but the problem
> remains ...

The Mac will not save any Finder Information unless the Volume is owned by
the connected user (so that the AFP "owner bit" is set, Inside AppleTalk,
2nd edition, page 13-88). The solution with CAP is to setuid the top-level
directory - then anyone with the appropriate UNIX permissions will be able
to save ICON positions etc.

> I wish to copy a fairly large folder (3.2MB, 227 items) from a Mac's
> local disk to an AUFS volume. When I drag the folder from the Mac to
> the AUFS volume on the desktop, the finder warns that the folder
> already exists on the destination volume (it does) and asks me whether
> to replace it. I say yes.  However, for each file, the Finder stops and
> complains that the file couldn't be copied because it couldn't be found

This sounds like "the STAT_CACHE bug", fixed in patch number 161.
Alternatively, comment out the STAT_CACHE define in m4.features, run
'gen.makes', 'make clean' and then rebuild CAP.  

> When dragging an icon to trash I get the error
> message "You can't move the object 'Empty folder' to the object
> 'Trash' () because it can't be moved to itself"

You probably don't have .resource or .finderinfo directories in the
"Network Trash Folder". From your UNIX account

	cd /"Network Trash Folder"
	mkdir .finderinfo .resource

where  could be ~/mac etc.

> .ADeskTop and .IDeskTop are equivalent to Finder's Desktop file. If I
> remove these files how do I rebuild the desktop of the volume?

With System 6, you hold down the option and command keys while the volume
is being mounted. You can also rebuild your AUFS desktop files using the
builddt program available via FTP from munnari.OZ.AU as


> Is there a CAP patch available for using the "new" LaserWriter 8.0 with
> lwsrv?

The current workaround is to modify cap60/applications/lwsrv/simple.c to
change the line

      sprintf(tmpstr, "%s\n", ts);

This is an interim solution until a new version of lwsrv is available.
Keep in mind that the current version of lwsrv will cause the 8.0
driver to download all fonts and the truetype scalar so print jobs get
rather large.

> I have been trying to use aliases on a local disk that point to 
> files/folders on a Sun server running CAP 6.0. I get inconsistent
> behavior ...

The distributed version of CAP only supports fixed directory IDs for
the life of the AUFS session.  The Alias Manager expects directory IDs
to be permanent.  You can obtain code to implement a directory ID database
for CAP, and thus use aliases, by sending email to cap@munnari.OZ.AU

> Why doesn't CAP work with NFS mounted filesystems ?

In some circumstances, CAP AUFS using NFS mounted filesystems may complain
about files being locked when they are not obviously so.  This is usually
the result of missing lock daemons or simply brain-dead or buggy NFS code.
The only fix is to ensure that you have the latest NFS bugfixes for your
UNIX platform.  If all else fails, you can turn off CAP's use of locking
by commenting out the lines ('#' is the comment character)


in the file m4.setup, then run 'gen.makes', 'make clean' and rebuild CAP.

Although CAP AUFS works fine on a correctly implemented NFS system, such
use is neither recommended or supported ...

> I need help with IPTalk.

Herewith 10 easy steps to installing CAP with IPTalk:

1. Make sure that you have the latest CAP code. If in doubt, FTP the CAP
FAQ file mac/cap.patches/CAP.faq from munnari.OZ.AU. It contains a list of
the sites where CAP is available, please choose the closest site.

2. Run the CAP Configure program, answer all of the questions with the
defaults (by hitting RETURN). Run gen.makes to create the makefiles.

3. Find out the IP address of the CAP host, say This is a 32
bit number represented as four 8-bit quantities written as decimal numbers.
It could also be represented as a hexadecimal number, 0x842d4359. The CAP
host node number is the bottom eight bits of the IP address, written as a
decimal number, in this case 89.

4. Find out the IP address of the IPTalk compatible gateway, such as a
FastPath, GatorBox or MultiPort Gateway, say The "bridge"
node number is the bottom eight bits of the IP address, in this case 90.

5. Check that the top 24-bits of the two IP addresses are identical, in
this case 132.45.67. For simplicity I'll call this the IP subnet number.
If they do not match you have to investigate the atalkad administration
package, or use CAP with Native EtherTalk or one of the AppleTalk routers.

6. Find out the IPTalk network number being used by the gateway. This is
a 16-bit number represented as two 8-bit quantities separated by periods
or a single decimal number. For example 93.57 is 93*256 + 57, or 23865.
Each IPTalk network number is uniquely associated with one IP subnet
number, each IPTalk installation must have a unique network number where
the IP subnets differ.

7. (optional) Check all the other network numbers in use on your network,
make sure that the IPTalk network number is not being used for LocalTalk,
EtherTalk (Phase 1 or Phase 2) or on any other IPTalk network where the
IP subnet numbers differ.

8. Find out the zone name associated with the IPTalk network number. This
may be the same as other zone names on the network but must be identical
to the zone name programmed into the IPTalk gateway. eg: unimelb-CompSci

9. Create a file called /etc/atalk.local using the template provided in
cap60/etc/atalk.local and the UNIX manual entry in cap60/man/atalk.local.5
As a minimum, the file would look like the following, using the numbers
from the examples used above, comment lines start with a '#'

# mynet         mynode          myzone
93.57		89		unimelb-CompSci
# bridgenet     bridgenode      bridgeIP
93.57		90

10. Find out what UDP ports are being used on the IP network. These are
also called the "NIC Assigned" ports. These ports map to AppleTalk socket
numbers and are used to deliver packets to the correct UNIX processes. By
default, CAP will use the ports starting at 768 so that the RTMP socket
number 1 maps to UDP port 769 and the ECHO socket 4 maps to 772. The
official port range starts at 200, so RTMP becomes 201 and ECHO becomes
204. To ensure that CAP uses the official ports, add the following entries
to the file /etc/services or the NIS database

at-rtmp         201/udp
at-nbp          202/udp
at-echo         204/udp
at-zis          206/udp

The port numbers should already be defined in the gateway configuration.

Continue testing from the [10] Verification step in cap60/doc/

Note: if you are using CAP with Native EtherTalk then ignore all but step 1.
The Native EtherTalk code is able to learn the network configuration. If
you have an /etc/atalk.local file, you should remove it. If there are no
other routers on the network, start aarpd with "*" as the zone name. The
UDP ports are also used in Native EtherTalk, as markers for sockets in use.
If a CAP process has trouble starting the ZIS listener or ECHO or NBP
sockets are unavailable, consider installing the official UDP port entries.

> I need help with CAP and UAR.

Herewith 10 easy steps to installing CAP with UAR:

1. Get the UAR package (mac/uar.tar.Z) via anonymous FTP from munnari.OZ.AU
and place it in a local directory 'uar'.  'cd uar', un-compress and un-tar
the package with 'compress -d uar.tar.Z' and 'tar -xvf uar.tar'

2. Check the README to ensure that your host is supported, currently UAR
supports Phase 1 and Phase 2 EtherTalk networks connected to SUN, DEC ULTRIX,
SGI IRIX, Sony NEWS 4.2, HP-UX and IBM RS6000 AIX workstations, and Phase 1
only on Sony NEWS pre-4.2 workstations.

3. Edit the 'Makefile' to add the necessary info to CFLAGS= and LIBS=
The requirements are listed per machine type (only NEWS, AIX & Solaris 2.N).

4. Compile the program by typing 'make'.  If compilation procedes without
error, type 'make install'. This step copies the binary to /usr/local/cap/uar

5. Decide on whether or not you are going to run UAR as a "seed router".
That is, if UAR is to be configured with details of your local AppleTalk
network or is to determine information empirically from the network.  For
UAR to function as a "seed router", you must create a uar.conf file that
contains network number(s) and zone name(s) for each of the participating
ethernet interfaces on your UAR host (see the sample uar.conf provided).
The information in uar.conf *must* be identical to the configuration in
any other AppleTalk routers on the local networks, this is not optional!
Normally your campus/institution network manager is the best source of
such information.

6. If you are absolutely certain that there are no other local AppleTalk
routers then you may choose numbers for the "network", "networklo" and
"networkhi" entries.  A "node" entry is optional.  Network numbers are
16-bit quantities and can range from 1 to 65534 (the values 65280 to
65534 are reserved as the "startup range" on Phase 2 networks, don't
assign a network number in this range).  These 16-bit numbers can also
be represented as two decimal numbers separated by a dot.  In this
notation, 56284 is represented as 219.220 (ie: 219 x 256 + 220). The
node number is an 8-bit number, the valid range is 1 - 254 on Phase 1
AppleTalk networks and 1 - 253 on Phase 2 AppleTalk networks (assume
Phase 2 for recent Macintoshes unless you know otherwise).  Node numbers
specified for UAR should be towards the high end of the range, ie: 253.
You must also choose a zone name or list of zone names for your network,
in the latter case specify one of them as the "default" zone name.  The
interface names are the device names for your ethernet interfaces and
can be listed using the command 'netstat -i'.  Under AIX, use "ent0",
"ent1" rather than the listed "en0", "en1".

7. Ensure that your CAP distribution is at least at patch level 144.
Run the Configure script and answer 'y' or 'yes' to the question
"Do you wish to use UAR (Unix AppleTalk Router) (default no) ?" and 'y'
or 'n' as necessary to "Do you want Phase 2 compatibility (no) ? "
Run 'gen.makes', 'make include' and 'make programs'.  See the CAP
documentation for more details.

8. To use UAR with CAP you must specify an interface for CAP to be
"attached" to.  With a uar.conf file, this is achieved with a "cap on"
entry, all other interfaces should have "cap off".  If no uar.conf file
exists then run UAR with a -C option.  This attaches CAP to the first
interface name listed in the UAR arguments.

9. Run UAR.  For example, on a single interface machine where UAR is used
only to support CAP (and not in it's usual function as an AppleTalk Router)
you would use

	uar -C le0

or, on a multiple interface machine

	uar -C ie1 ie0

where CAP is attached to "ie1", or with a uar.conf file

	uar et0 enp0

where "et0" and "enp0" are listed in the uar.conf file with "interface"
entries containing network and node numbers, zones and one "cap on" entry.

10. Check for "/etc/etalk.local" created by UAR.  Normally this takes up
to 15 seconds to appear (so in a start-cap-servers file insert a "sleep 20"
after starting UAR before starting the rest of the CAP programs).  With CAP
compiled for use with UAR it should now be possible to run test programs such
as 'cap60/samples/getzones' and 'cap60/samples/atlook' and see meaningful
results.  If not, consult your local network administrator or send email to
uar@munnari.OZ.AU.  Please note that UAR vers 1.0 is FreeWare. A ShareWare
or site-license fee is payable for UAR version 1.1.


CAP	Columbia AppleTalk Package
	A freeware suite of programs that partially implement the AppleTalk
	protocol stack on a variety of UNIX machines.  Includes an AFP 2.0
	AppleShare Server, LaserWriter Spooler and lpr/lpd "input" filter.

	AppleTalk protocols transmitted in specific type Ethernet packets.
	May be Phase 1 (Ethernet packets type 0x809B) or Phase 2 (IEEE 802.3
	Ethernet packets with 0xAAAA03 802.2 header and 0x080007809B SNAP
	headers).  CAP in "Native EtherTalk" mode uses AppleTalk in Ethernet.
	AppleTalk protocols transmitted over twisted pair cable at

IPTALK	IP encapsulated AppleTalk
	AppleTalk protocols transmitted within IP packets.  Usually used with
	CAP on UNIX hosts that are unable to speak EtherTalk.  Requires an
	external AppleTalk gateway to translate IPTalk to/from EtherTalk.
UAB	UNIX AppleTalk Bridge
	Phase 1 EtherTalk Router.  Used to connect two EtherTalk networks
	together via Ethernet interfaces on a UNIX host.  Also supports
	CAP processes via local UDP/IP loopback using modified IPTalk.
	Bundled with CAP.

UAR	UNIX AppleTalk Router
	Phase 1/Phase 2 EtherTalk Router for UNIX boxes.  Also supports CAP
	and simple AppleTalk tunneling over IP networks.  Not bundled with
	CAP.  Available in two versions: freeware with basic features and
	shareware with extra features (supports ARNS clients, NBP registry).

AUFS	AppleTalk UNIX File Server
	UNIX based AppleShare server.  Supports Apple Filing Protocol v 2.0.
	Nominated UNIX directories can be mounted as a AppleShare Volumes
	for storage of Mac files.

LWSRV	LaserWriter Server/Spooler
	UNIX based LaserWriter Spooler.  Macintosh print jobs are spooled to
	the UNIX printer queue for subsequent printing via PAPIF or serially
	connected printer.

PAPIF	PAP Input Filter
	BSD lpd filter for sending print-jobs to AppleTalk connected
	printers.  Can be used in a script for non-BSD printing systems.

	UNIX process for handling AppleTalk Address Resolution Protocol (AARP)
	lookups.  Stores ethernet hardware address/AppleTalk address mappings
	which are available to other CAP processes via RPC.  Also handles
	updating of /etc/etalk.local.  Used only with "Native EtherTalk".

ATIS	AppleTalk Information Server
	UNIX process for handling AppleTalk Name Binding Protocol (NBP)
	lookups and registrations, AppleTalk Echo Protocol (AEP) traffic
	and Routing Table Maintenance Protocol (RTMP) data.  Sends RTMP
	router updates to AARPD via RPC.  Other CAP processes register
	Chooser visible names with ATIS.

	List AppleTalk zones for the local Internet.

ATLOOK	AppleTalk Lookup
	Lists AppleTalk NBP entities visible on the network.  Also ATPINGER
	for sending Echo Protocol packets and ATLOOKLWS for LaserWriters.

SNITCH	UNIX InterPoll client
	Equivalent to Macintosh "Responder" program.  Provides limited
	information about the CAP host to Mac InterPoll lookups.

AppleTalk Reference
	"Inside AppleTalk, Second Edition", Sidhu, Andrews, Oppenheimer.
	Addison-Wesley, ISBN 0-201-55021-0

For more information, see the CAP60.README file in the CAP distribution.

Send CAP FAQ contributions to cap@munnari.OZ.AU