ATALK(4) OpenBSD Programmer's Manual ATALK(4)NAME
atalk - AppleTalk Protocol Family
SYNOPSIS
#include <sys/types.h>
#include <netatalk/at.h>
DESCRIPTION
The 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.
The AppleTalk Protocol Suite provides support for four kinds of physical
media: LocalTalk (230kbps wire-or'd serial), Ethernet, Token Ring, and
asynchronous serial connections (using either AppleTalk Remote Access
(ARA) or PPP). Currently, this AppleTalk implementation supports only
Ethernet.
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.
ADDRESSING
AppleTalk addresses are three byte quantities, stored in network byte
order. The include file <netatalk/at.h> defines the AppleTalk address
format.
Sockets in the AppleTalk protocol family use the following address
structure:
struct sockaddr_at {
u_int8_t sat_len;
u_int8_t sat_family;
u_int8_t sat_port;
struct at_addr sat_addr;
union {
struct netrange r_netrange;
char r_zero[8];
} sat_range;
};
The port of a socket may be set with bind(2). The node for bind(2) must
always be ATADDR_ANYNODE: ``this node.'' The net must be ATADDR_ANYNET.
ATADDR_ANYNET corresponds to the machine's ``primary'' address (the first
configured). The port of a socket and the primary address are returned
with getsockname(2).
PROTOCOLS
The AppleTalk protocol family is comprised of the DDP datagram delivery
protocol, AppleTalk Data Stream Protocol (ADSP), AppleTalk Echo Protocol
(AEP), AppleTalk Filing Protocol (AFP), AppleTalk Session Protocol (ASP),
AppleTalk Transaction Protocol (ATP), Name Binding Protocol (NBP),
Printer Access Protocol (PAP), and Zone Information Protocol (ZIP).
DDP is implemented in the kernel as SOCK_DGRAM sockets in the
AF_APPLETALK address family. All other AppleTalk protocols are
implemented using the Netatalk package. Netatalk implements all
functions except for ADSP and an AFP client. AEP, NBP, and ZIP services
are provided by the atalkd daemon. ASP and ATP services are provided by
a user library. PAP and AFP services are provided by user programs and
daemons.
SEE ALSObind(2), getsockname(2)
Gursharan S. Sidhu, Richard F. Andrews, and Alan B. Oppenheimer, Inside
AppleTalk, second edition.
OpenBSD 4.9 May 31, 2007 OpenBSD 4.9