atalk - AppleTalk Protocol Family
#include <sys/types.h>
#include <netatalk/at.h>
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.
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).
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.
bind(2), getsockname(2)
Gursharan S. Sidhu, Richard F. Andrews, and Alan B. Oppenheimer, Inside
AppleTalk, second edition.
OpenBSD 3.6 November 14, 1997
[ Back ] |