.\" $NetBSD: atalk.4,v 1.19 2010/03/22 18:58:31 joerg Exp $
.\"
.\" This file is derived from the atalk.4 man page in the Netatalk 1.4b2
.\" distribution. That distribution is covered by the following copyright:
.\"
.\" Copyright (c) 1990,1996 Regents of The University of Michigan.
.\" All Rights Reserved.
.\"
.\" Permission to use, copy, modify, and distribute this software and
.\" its documentation for any purpose and without fee is hereby granted,
.\" provided that the above copyright notice appears in all copies and
.\" that both that copyright notice and this permission notice appear
.\" in supporting documentation, and that the name of The University
.\" of Michigan not be used in advertising or publicity pertaining to
.\" distribution of the software without specific, written prior
.\" permission. This software is supplied as is without expressed or
.\" implied warranties of any kind.
.\"
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\"
.\" Research Systems Unix Group
.\" The University of Michigan
.\" c/o Wesley Craig
.\" 535 W. William Street
.\" Ann Arbor, Michigan
.\" +1-313-764-2278
.\" netatalk@umich.edu
.\"
.Dd November 14, 1997
.Dt ATALK 4
.Os
.Sh NAME
.Nm atalk
.Nd AppleTalk Protocol Family
.Sh SYNOPSIS
.In sys/types.h
.In netatalk/at.h
.Sh DESCRIPTION
The
.Tn AppleTalk
Protocol Family provides presentation layer support for the AppleTalk
Datagram Delivery Protocol (DDP), using the SOCK_DGRAM socket type.
In addition, access to in-kernel AppleTalk routing tables and network
interface configurations is provided.
.Pp
The AppleTalk Protocol Suite provides support for five kinds of
physical media: LocalTalk (230kbps wire-or'd serial), Ethernet,
FDDI, Token Ring, and asynchronous serial connections (using either
AppleTalk Remote Access
.Pq Tn ARA
or
.Tn PPP
).
Currently,
.Nx Ns 's
AppleTalk implementation supports Ethernet, FDDI, and Token Ring.
.Pp
AppleTalk packets are encapsulated on the Ethernet using the EtherTalk
Link Access Protocol (ELAP).
Local network address resolution is
handled using the AppleTalk Address Resolution Protocol (AARP).
Neither of these protocols is exposed to user-mode applications.
.Sh ADDRESSING
AppleTalk addresses are three byte quantities, stored in network
byte order.
The include file
.In netatalk/at.h
defines the AppleTalk address format.
.Pp
Sockets in the AppleTalk protocol family use the following address
structure:
.Bd -literal -offset indent
struct sockaddr_at {
uint8_t sat_len;
sa_family_t sat_family;
uint8_t sat_port;
struct at_addr sat_addr;
union {
struct netrange r_netrange;
char r_zero[8];
} sat_range;
};
.Ed
.Pp
The port of a socket may be set with
.Xr bind 2 .
The node for
.Xr bind 2
must always be
.Dv ATADDR_ANYNODE :
.Dq this node .
The net
.\"may
must
be
.Dv ATADDR_ANYNET .
.\"or
.\".Dv ATADDR_LATENET .
.Dv ATADDR_ANYNET
corresponds to the machine's
.Dq primary
address (the first configured).
.\".Dv ATADDR_LATENET
.\"causes the address in outgoing packets to be determined when a packet
.\"is sent, i.e. determined late.
.\".Dv ATADDR_LATENET
.\"is equivalent to opening one socket for each network interface.
The port of a socket and
.\"either
the primary address
.\"or
.\".Dv ATADDR_LATENET
are returned with
.Xr getsockname 2 .
.Sh PROTOCOLS
The AppleTalk protocol family comprises the
.Tn DDP
datagram delivery protocol,
AppleTalk Data Stream Protocol
.Pq Tn ADSP ,
AppleTalk Echo Protocol
.Pq Tn AEP ,
AppleTalk Filing Protocol
.Pq Tn AFP ,
AppleTalk Session Protocol
.Pq Tn ASP ,
AppleTalk Transaction Protocol
.Pq Tn ATP ,
Name Binding Protocol
.Pq Tn NBP ,
Printer Access Protocol
.Pq Tn PAP ,
and Zone Information Protocol
.Pq Tn ZIP .
.Pp
.Tn DDP
is implemented in the kernel as
.Dv SOCK_DGRAM
sockets in the
.Dv AF_APPLETALK
address family.
.Nx
implements all other
.Tn AppleTalk
protocols using the
.Tn Netatalk
package.
.Tn Netatalk
implements all functions except for
.Tn ADSP
and an
.Tn AFP
client.
.Tn AEP ,
.Tn NBP ,
and
.Tn ZIP
services are provided by the
.Tn atalkd
daemon.
.Tn ASP
and
.Tn ATP
services are provided by a user library.
.Tn PAP
and
.Tn AFP
services are provided by user programs and daemons.
.Sh SEE ALSO
.\" .BR ddp (4P),
.\" .BR atp (3N),
.\" .BR asp (3N),
.Xr bind 2 ,
.Xr getsockname 2 ,
.Xr options 4
.\" .Xr atalkd 8
.Rs
.%B Inside AppleTalk, second edition
.%A Gursharan S. Sidhu
.%A Richard F. Andrews
.%A Alan B. Oppenheimer
.Re