atalk.4 revision 1.5 1
2 .\" $NetBSD: atalk.4,v 1.5 1999/09/21 22:39:14 matt 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 five kinds of
49 physical media: LocalTalk (230kbps wire-or'd serial), Ethernet,
50 FDDI, 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 implementataion supports Ethernet, FDDI, and Token Ring.
59 .Pp
60 AppleTalk packets are encapsulated on the ethernet using the EtherTalk
61 Link Access Protocol (ELAP).
62 Local network address resolution is
63 handled using the AppleTalk Address Resolution Protocol (AARP).
64 Neither of these protocols is exposed to user-mode applications.
65 .Pp
66 .Sh ADDRESSING
67 AppleTalk addresses are three byte quantities, stored in network
68 byte order.
69 The include file
70 .Aq Pa netatalk/at.h
71 defines the AppleTalk address format.
72
73 Sockets in the AppleTalk protocol family use the following address
74 structure:
75 .Bd -literal -offset indent
76 struct sockaddr_at {
77 u_int8_t sat_len;
78 u_int8_t sat_family;
79 u_int8_t sat_port;
80 struct at_addr sat_addr;
81 union {
82 struct netrange r_netrange;
83 char r_zero[8];
84 } sat_range;
85 };
86 .Ed
87 .Pp
88 The port of a socket may be set with
89 .Xr bind 2 .
90 The node for
91 .Xr bind 2
92 must always be
93 .Dv ATADDR_ANYNODE :
94 ``this node.'' The net
95 .\"may
96 must
97 be
98 .Dv ATADDR_ANYNET .
99 .\"or
100 .\".Dv ATADDR_LATENET .
101 .Dv ATADDR_ANYNET
102 coresponds to the machine's ``primary'' address (the first
103 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.
109 The port of a socket and
110 .\"either
111 the primary address
112 .\"or
113 .\".Dv ATADDR_LATENET
114 are returned with
115 .Xr getsockname 2 .
116 .Sh PROTOCOLS
117 The AppleTalk protocol family is comprised of the
118 .Tn DDP
119 datagram delivery protocol,
120 AppleTalk Data Stream Protocol
121 .Pq Tn ADSP ,
122 AppleTalk Echo Protocol
123 .Pq Tn AEP ,
124 AppleTalk Filing Protocol
125 .Pq Tn AFP ,
126 AppleTalk Session Protocol
127 .Pq Tn ASP ,
128 AppleTalk Transaction Protocol
129 .Pq Tn ATP ,
130 Name Binding Protocol
131 .Pq Tn NBP ,
132 Printer Access Protocol
133 .Pq Tn PAP ,
134 and Zone Information Protocol
135 .Pq Tn ZIP .
136 .Pp
137 .Tn DDP
138 is implemented in the kernel as
139 .Dv SOCK_DGRAM
140 sockets in the
141 .Dv AF_APPLETALK
142 address family.
143 .Nx
144 implements all other
145 .Tn AppleTalk
146 protocols using the
147 .Tn Netatalk
148 package.
149 .Tn Netatalk
150 implements all functions except for
151 .Tn ADSP
152 and an
153 .Tn AFP
154 client.
155 .Tn AEP ,
156 .Tn NBP ,
157 and
158 .Tn ZIP
159 services are provided by the
160 .Tn atalkd
161 daemon.
162 .Tn ASP
163 and
164 .Tn ATP
165 services are provided by a user library.
166 .Tn PAP
167 and
168 .Tn AFP
169 services are provided by user programs and daemons.
170 .Pp
171 .Sh SEE ALSO
172 .\" .BR ddp (4P),
173 .\" .BR atp (3N),
174 .\" .BR asp (3N),
175 .Xr bind 2 ,
176 .Xr getsockname 2 ,
177 .Xr options 4 ,
178 .Xr atalkd 8 .
179 .Rs
180 .%B Inside AppleTalk, second edition
181 .%A Gursharan S. Sidhu
182 .%A Richard F. Andrews
183 .%A Alan B. Oppenheimer
184 .Re
185