1.\" $NetBSD: atalk.4,v 1.20 2021/02/26 11:12:45 nia Exp $ 2.\" 3.\" This file is derived from the atalk.4 man page in the Netatalk 1.4b2 4.\" distribution. That distribution is covered by the following copyright: 5.\" 6.\" Copyright (c) 1990,1996 Regents of The University of Michigan. 7.\" All Rights Reserved. 8.\" 9.\" Permission to use, copy, modify, and distribute this software and 10.\" its documentation for any purpose and without fee is hereby granted, 11.\" provided that the above copyright notice appears in all copies and 12.\" that both that copyright notice and this permission notice appear 13.\" in supporting documentation, and that the name of The University 14.\" of Michigan not be used in advertising or publicity pertaining to 15.\" distribution of the software without specific, written prior 16.\" permission. This software is supplied as is without expressed or 17.\" implied warranties of any kind. 18.\" 19.\" This product includes software developed by the University of 20.\" California, Berkeley and its contributors. 21.\" 22.\" Research Systems Unix Group 23.\" The University of Michigan 24.\" c/o Wesley Craig 25.\" 535 W. William Street 26.\" Ann Arbor, Michigan 27.\" +1-313-764-2278 28.\" netatalk@umich.edu 29.\" 30.Dd February 26, 2021 31.Dt ATALK 4 32.Os 33.Sh NAME 34.Nm atalk 35.Nd AppleTalk Protocol Family 36.Sh SYNOPSIS 37.In sys/types.h 38.In netatalk/at.h 39.Sh DESCRIPTION 40The 41.Tn AppleTalk 42Protocol Family provides presentation layer support for the AppleTalk 43Datagram Delivery Protocol (DDP), using the SOCK_DGRAM socket type. 44In addition, access to in-kernel AppleTalk routing tables and network 45interface configurations is provided. 46.Pp 47The AppleTalk Protocol Suite provides support for five kinds of 48physical media: LocalTalk (230kbps wire-or'd serial), Ethernet, 49FDDI, Token Ring, and asynchronous serial connections (using either 50AppleTalk Remote Access 51.Pq Tn ARA 52or 53.Tn PPP 54). 55Currently, 56.Nx Ns 's 57AppleTalk implementation supports Ethernet. 58.Pp 59AppleTalk packets are encapsulated on the Ethernet using the EtherTalk 60Link Access Protocol (ELAP). 61Local network address resolution is 62handled using the AppleTalk Address Resolution Protocol (AARP). 63Neither of these protocols is exposed to user-mode applications. 64.Sh ADDRESSING 65AppleTalk addresses are three byte quantities, stored in network 66byte order. 67The include file 68.In netatalk/at.h 69defines the AppleTalk address format. 70.Pp 71Sockets in the AppleTalk protocol family use the following address 72structure: 73.Bd -literal -offset indent 74struct sockaddr_at { 75 uint8_t sat_len; 76 sa_family_t sat_family; 77 uint8_t sat_port; 78 struct at_addr sat_addr; 79 union { 80 struct netrange r_netrange; 81 char r_zero[8]; 82 } sat_range; 83}; 84.Ed 85.Pp 86The port of a socket may be set with 87.Xr bind 2 . 88The node for 89.Xr bind 2 90must always be 91.Dv ATADDR_ANYNODE : 92.Dq this node . 93The net 94.\"may 95must 96be 97.Dv ATADDR_ANYNET . 98.\"or 99.\".Dv ATADDR_LATENET . 100.Dv ATADDR_ANYNET 101corresponds to the machine's 102.Dq primary 103address (the first configured). 104.\".Dv ATADDR_LATENET 105.\"causes the address in outgoing packets to be determined when a packet 106.\"is sent, i.e. determined late. 107.\".Dv ATADDR_LATENET 108.\"is equivalent to opening one socket for each network interface. 109The port of a socket and 110.\"either 111the primary address 112.\"or 113.\".Dv ATADDR_LATENET 114are returned with 115.Xr getsockname 2 . 116.Sh PROTOCOLS 117The AppleTalk protocol family comprises the 118.Tn DDP 119datagram delivery protocol, 120AppleTalk Data Stream Protocol 121.Pq Tn ADSP , 122AppleTalk Echo Protocol 123.Pq Tn AEP , 124AppleTalk Filing Protocol 125.Pq Tn AFP , 126AppleTalk Session Protocol 127.Pq Tn ASP , 128AppleTalk Transaction Protocol 129.Pq Tn ATP , 130Name Binding Protocol 131.Pq Tn NBP , 132Printer Access Protocol 133.Pq Tn PAP , 134and Zone Information Protocol 135.Pq Tn ZIP . 136.Pp 137.Tn DDP 138is implemented in the kernel as 139.Dv SOCK_DGRAM 140sockets in the 141.Dv AF_APPLETALK 142address family. 143.Nx 144implements all other 145.Tn AppleTalk 146protocols using the 147.Tn Netatalk 148package. 149.Tn Netatalk 150implements all functions except for 151.Tn ADSP 152and an 153.Tn AFP 154client. 155.Tn AEP , 156.Tn NBP , 157and 158.Tn ZIP 159services are provided by the 160.Tn atalkd 161daemon. 162.Tn ASP 163and 164.Tn ATP 165services are provided by a user library. 166.Tn PAP 167and 168.Tn AFP 169services are provided by user programs and daemons. 170.Sh SEE ALSO 171.\" .BR ddp (4P), 172.\" .BR atp (3N), 173.\" .BR asp (3N), 174.Xr bind 2 , 175.Xr getsockname 2 , 176.Xr options 4 177.\" .Xr atalkd 8 178.Rs 179.%B Inside AppleTalk, second edition 180.%A Gursharan S. Sidhu 181.%A Richard F. Andrews 182.%A Alan B. Oppenheimer 183.Re 184