netatalk
4.4.0dev
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
at.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 1990,1991 Regents of The University of Michigan.
3
*
4
* All Rights Reserved. See COPYRIGHT.
5
*/
6
7
#ifndef __AT_HEADER__
8
#define __AT_HEADER__
9
10
#ifdef HAVE_CONFIG_H
11
#include "config.h"
12
#endif
/* HAVE_CONFIG_H */
13
14
#ifndef NO_DDP
15
16
#if defined(__linux__)
/* pull in the linux header */
17
#include <sys/socket.h>
18
#include <asm/types.h>
19
#include <linux/atalk.h>
20
21
#ifdef HAVE_ATALK_ADDR
22
#define at_addr atalk_addr
23
#define netrange atalk_netrange
24
#endif
/* HAVE_ATALK_ADDR */
25
26
#else
/* __linux__ */
27
28
#include <sys/types.h>
29
#include <netinet/in.h>
/* so that we can deal with sun's s_net #define */
30
31
/*
32
* Supported protocols
33
*/
34
#ifdef ATPROTO_DDP
35
#undef ATPROTO_DDP
36
#endif
/* ATPROTO_DDP */
37
#define ATPROTO_DDP 0
38
#define ATPROTO_AARP 254
39
40
/*
41
* Ethernet types, for DIX.
42
* These should really be in some global header file, but we can't
43
* count on them being there, and it's annoying to patch system files.
44
*/
45
#ifndef ETHERTYPE_AT
46
#define ETHERTYPE_AT 0x809B
/* AppleTalk protocol */
47
#endif
48
#ifndef ETHERTYPE_AARP
49
#define ETHERTYPE_AARP 0x80F3
/* AppleTalk ARP */
50
#endif
51
52
#define DDP_MAXSZ 587
53
54
/*
55
* If ATPORT_FIRST <= Port < ATPORT_RESERVED,
56
* Port was created by a privileged process.
57
* If ATPORT_RESERVED <= Port < ATPORT_LAST,
58
* Port was not necessarily created by a
59
* privileged process.
60
*/
61
#define ATPORT_FIRST 1
62
#define ATPORT_RESERVED 128
63
#define ATPORT_LAST 254
/* 254 is reserved on ether/tokentalk networks */
64
65
/*
66
* AppleTalk address.
67
*/
68
struct
at_addr
{
69
#ifdef s_net
70
#undef s_net
71
#endif
/* s_net */
72
unsigned
short
s_net
;
73
unsigned
char
s_node
;
74
};
75
76
#define ATADDR_ANYNET (unsigned short)0x0000
77
#define ATADDR_ANYNODE (unsigned char)0x00
78
#define ATADDR_ANYPORT (unsigned char)0x00
79
#define ATADDR_BCAST (unsigned char)0xff
/* There is no BCAST for NET */
80
81
/*
82
* Socket address, AppleTalk style. We keep magic information in the
83
* zero bytes. There are three types, NONE, CONFIG which has the phase
84
* and a net range, and IFACE which has the network address of an
85
* interface. IFACE may be filled in by the client, and is filled in
86
* by the kernel.
87
*/
88
struct
sockaddr_at
{
89
#ifdef BSD4_4
90
unsigned
char
sat_len;
91
unsigned
char
sat_family
;
92
#else
/* BSD4_4 */
93
short
sat_family
;
94
#endif
/* BSD4_4 */
95
unsigned
char
sat_port
;
96
struct
at_addr
sat_addr
;
97
#ifdef notdef
98
struct
{
99
unsigned
char
sh_type;
100
# define SATHINT_NONE 0
101
# define SATHINT_CONFIG 1
102
# define SATHINT_IFACE 2
103
union
{
104
/* XXX check size */
105
char
su_zero[7];
106
struct
{
107
unsigned
char
sr_phase;
108
unsigned
short
sr_firstnet, sr_lastnet;
109
} su_range;
110
unsigned
short
su_interface;
111
} sh_un;
112
} sat_hints;
113
#else
/* notdef */
114
char
sat_zero
[8];
115
#endif
/* notdef */
116
};
117
118
struct
netrange
{
119
unsigned
char
nr_phase
;
120
unsigned
short
nr_firstnet
;
121
unsigned
short
nr_lastnet
;
122
};
123
124
#ifdef KERNEL
125
extern
struct
domain
atalkdomain
;
126
extern
struct
protosw
atalksw
[];
127
#endif
/* KERNEL */
128
129
#endif
/* __linux__ */
130
#endif
/* NO_DDP */
131
#endif
/* __AT_HEADER__ */
132
atalksw
struct protosw atalksw[]
Definition
at_proto.c:23
atalkdomain
struct domain atalkdomain
Definition
at_proto.c:43
at_addr
Definition
at.h:68
at_addr::s_net
unsigned short s_net
Definition
at.h:72
at_addr::s_node
unsigned char s_node
Definition
at.h:73
netrange
Definition
at.h:118
netrange::nr_lastnet
unsigned short nr_lastnet
Definition
at.h:121
netrange::nr_phase
unsigned char nr_phase
Definition
at.h:119
netrange::nr_firstnet
unsigned short nr_firstnet
Definition
at.h:120
sockaddr_at
Definition
at.h:88
sockaddr_at::sat_family
short sat_family
Definition
at.h:93
sockaddr_at::sat_port
unsigned char sat_port
Definition
at.h:95
sockaddr_at::sat_zero
char sat_zero[8]
Definition
at.h:114
sockaddr_at::sat_addr
struct at_addr sat_addr
Definition
at.h:96
sys
netatalk
at.h
Generated by
1.14.0