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