atalk.4 revision 1.4 1
2 .\" $NetBSD: atalk.4,v 1.4 1999/03/16 01:19:15 garbled 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 (a] umich.edu
30 .\"
31 .Dd November 14, 1997
32 .Dt ATALK 4
33 .Os
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
41 The
42 .Tn AppleTalk
43 Protocol Family provides presentation layer support for the AppleTalk
44 Datagram Delivery Protocol (DDP), using the SOCK_DGRAM socket type.
45 In addition, access to in-kernel AppleTalk routing tables and network
46 interface configurations is provided.
47 .Pp
48 The AppleTalk Protocol Suite provides support for four kinds of
49 physical media: LocalTalk (230kbps wire-or'd serial), Ethernet,
50 Token Ring, and asynchronous serial connections (using either
51 AppleTalk Remote Access
52 .Pq Tn ARA
53 or
54 .Tn PPP
55 ).
56 Currently,
57 .Nx Ns 's
58 AppleTalk implimentataion supports only Ethernet.
59 .\" and Token Ring?
60 .\" If NetBSD supported it....
61 .Pp
62 AppleTalk packets are encapsulated on the ethernet using the EtherTalk
63 Link Access Protocol (ELAP).
64 Local network address resolution is
65 handled using the AppleTalk Address Resolution Protocol (AARP).
66 Neither of these protocols is exposed to user-mode applications.
67 .Pp
68 .Sh ADDRESSING
69 AppleTalk addresses are three byte quantities, stored in network
70 byte order.
71 The include file
72 .Aq Pa netatalk/at.h
73 defines the AppleTalk address format.
74
75 Sockets in the AppleTalk protocol family use the following address
76 structure:
77 .Bd -literal -offset indent
78 struct sockaddr_at {
79 u_int8_t sat_len;
80 u_int8_t sat_family;
81 u_int8_t sat_port;
82 struct at_addr sat_addr;
83 union {
84 struct netrange r_netrange;
85 char r_zero[8];
86 } sat_range;
87 };
88 .Ed
89 .Pp
90 The port of a socket may be set with
91 .Xr bind 2 .
92 The node for
93 .Xr bind 2
94 must always be
95 .Dv ATADDR_ANYNODE :
96 ``this node.'' The net
97 .\"may
98 must
99 be
100 .Dv ATADDR_ANYNET .
101 .\"or
102 .\".Dv ATADDR_LATENET .
103 .Dv ATADDR_ANYNET
104 coresponds to the machine's ``primary'' address (the first
105 configured).
106 .\".Dv ATADDR_LATENET
107 .\"causes the address in outgoing packets to be determined when a packet
108 .\"is sent, i.e. determined late.
109 .\".Dv ATADDR_LATENET
110 .\"is equivalent to opening one socket for each network interface.
111 The port of a socket and
112 .\"either
113 the primary address
114 .\"or
115 .\".Dv ATADDR_LATENET
116 are returned with
117 .Xr getsockname 2 .
118 .Sh PROTOCOLS
119 The AppleTalk protocol family is comprised of the
120 .Tn DDP
121 datagram delivery protocol,
122 AppleTalk Data Stream Protocol
123 .Pq Tn ADSP ,
124 AppleTalk Echo Protocol
125 .Pq Tn AEP ,
126 AppleTalk Filing Protocol
127 .Pq Tn AFP ,
128 AppleTalk Session Protocol
129 .Pq Tn ASP ,
130 AppleTalk Transaction Protocol
131 .Pq Tn ATP ,
132 Name Binding Protocol
133 .Pq Tn NBP ,
134 Printer Access Protocol
135 .Pq Tn PAP ,
136 and Zone Information Protocol
137 .Pq Tn ZIP .
138 .Pp
139 .Tn DDP
140 is implemented in the kernel as
141 .Dv SOCK_DGRAM
142 sockets in the
143 .Dv AF_APPLETALK
144 address family.
145 .Nx
146 implements all other
147 .Tn AppleTalk
148 protocols using the
149 .Tn Netatalk
150 package.
151 .Tn Netatalk
152 implements all functions except for
153 .Tn ADSP
154 and an
155 .Tn AFP
156 client.
157 .Tn AEP ,
158 .Tn NBP ,
159 and
160 .Tn ZIP
161 services are provided by the
162 .Tn atalkd
163 daemon.
164 .Tn ASP
165 and
166 .Tn ATP
167 services are provided by a user library.
168 .Tn PAP
169 and
170 .Tn AFP
171 services are provided by user programs and daemons.
172 .Pp
173 .Sh SEE ALSO
174 .\" .BR ddp (4P),
175 .\" .BR atp (3N),
176 .\" .BR asp (3N),
177 .Xr bind 2 ,
178 .Xr getsockname 2 ,
179 .Xr options 4 ,
180 .Xr atalkd 8 .
181 .Rs
182 .%B Inside AppleTalk, second edition
183 .%A Gursharan S. Sidhu
184 .%A Richard F. Andrews
185 .%A Alan B. Oppenheimer
186 .Re
187