xref: /netbsd-src/share/man/man4/atalk.4 (revision 46aa89cc62b7b163507f5650cf0b2ecf33b001f7)
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