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 net-
     work 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 or-
     der.  The include file <netatalk/at.h> defines the AppleTalk address for-
     mat.

     Sockets in the AppleTalk protocol family use the following address struc-
     ture:

           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 must al-
     ways 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), Print-
     er 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 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 ALSO
     bind(2), getsockname(2), atalkd(8)

     Gursharan S. Sidhu, Richard F. Andrews, and Alan B. Oppenheimer, Inside
     AppleTalk, second edition.

OpenBSD 3.0                    November 14, 1997                             2
