atalk.4 revision 1.1.2.2 1
2 .\" $NetBSD: atalk.4,v 1.1.2.2 1997/11/15 00:08:17 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 (a] 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
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 ). Currently, NetBSD's AppleTalk implimentataion supports only
56 Ethernet.
57 .\" and Token Ring?
58 .\" If NetBSD supported it....
59 .Pp
60 AppleTalk packets are encapsulated on the ethernet using the EtherTalk
61 Link Access Protocol (ELAP). Local network address resolution is
62 handled using the AppleTalk Address Resolution Protocol (AARP).
63 Neither of these protocols is exposed to user-mode applications.
64 .Pp
65 .Sh ADDRESSING
66 AppleTalk addresses are three byte quantities, stored in network
67 byte order. The include file
68 .Aq Pa netatalk/at.h
69 defines the AppleTalk address format.
70
71 Sockets in the AppleTalk protocol family use the following address
72 structure:
73 .Bd -literal -offset indent
74 struct 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
86 The port of a socket may be set with
87 .Xr bind 2 .
88 The node for
89 .Xr bind
90 must always be
91 .Dv ATADDR_ANYNODE :
92 ``this node.'' The net
93 .\"may
94 must
95 be
96 .Dv ATADDR_ANYNET .
97 .\"or
98 .\".Dv ATADDR_LATENET .
99 .Dv ATADDR_ANYNET
100 coresponds to the machine's ``primary'' address (the first
101 configured).
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.
107 The port of a socket and
108 .\"either
109 the primary address
110 .\"or
111 .\".Dv ATADDR_LATENET
112 are returned with
113 .Xr getsockname 2 .
114 .Sh PROTOCOLS
115 The AppleTalk protocol family is comprised of the
116 .Tn DDP
117 datagram delivery protocol,
118 AppleTalk Data Stream Protocol
119 .Pq Tn ADSP ,
120 AppleTalk Echo Protocol
121 .Pq Tn AEP ,
122 AppleTalk Filing Protocol
123 .Pq Tn AFP ,
124 AppleTalk Session Protocol
125 .Pq Tn ASP ,
126 AppleTalk Transaction Protocol
127 .Pq Tn ATP ,
128 Name Binding Protocol
129 .Pq Tn NBP ,
130 Printer Access Protocol
131 .Pq Tn PAP ,
132 and Zone Information Protocol
133 .Pq Tn ZIP .
134 .Pp
135 .Tn DDP
136 is implemented in the kernel as
137 .Dv SOCK_DGRAM
138 sockets in the
139 .Dv AF_APPLETALK
140 address family.
141 .Nx
142 implements all other
143 .Tn AppleTalk
144 protocols using the
145 .Tn Netatalk
146 package.
147 .Tn Netatalk
148 implements all functions except for
149 .Tn ADSP
150 and an
151 .Tn AFP
152 client.
153 .Tn AEP ,
154 .Tn NBP ,
155 and
156 .Tn ZIP
157 services are provided by the
158 .Tn atalkd
159 daemon.
160 .Tn ASP
161 and
162 .Tn ATP
163 services are provided by a user library.
164 .Tn PAP
165 and
166 .Tn AFP
167 services 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