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