FreeBSD/Linux Kernel Cross Reference
sys/netatalk/aarp.h
1 /*
2 * Copyright (c) 1990,1991 Regents of The University of Michigan.
3 * All Rights Reserved.
4 *
5 * $FreeBSD: releng/5.3/sys/netatalk/aarp.h 136588 2004-10-16 08:43:07Z cvs2svn $
6 */
7
8 #ifndef _NETATALK_AARP_H_
9 /*
10 * This structure is used for both phase 1 and 2. Under phase 1
11 * the net is not filled in. It is in phase 2. In both cases, the
12 * hardware address length is (for some unknown reason) 4. If
13 * anyone at Apple could program their way out of paper bag, it
14 * would be 1 and 3 respectively for phase 1 and 2.
15 */
16 union aapa {
17 u_char ap_pa[4];
18 struct ap_node {
19 u_char an_zero;
20 u_char an_net[2];
21 u_char an_node;
22 } ap_node;
23 };
24
25 struct ether_aarp {
26 struct arphdr eaa_hdr;
27 u_char aarp_sha[6];
28 union aapa aarp_spu;
29 u_char aarp_tha[6];
30 union aapa aarp_tpu;
31 };
32 #define aarp_hrd eaa_hdr.ar_hrd
33 #define aarp_pro eaa_hdr.ar_pro
34 #define aarp_hln eaa_hdr.ar_hln
35 #define aarp_pln eaa_hdr.ar_pln
36 #define aarp_op eaa_hdr.ar_op
37 #define aarp_spa aarp_spu.ap_node.an_node
38 #define aarp_tpa aarp_tpu.ap_node.an_node
39 #define aarp_spnet aarp_spu.ap_node.an_net
40 #define aarp_tpnet aarp_tpu.ap_node.an_net
41 #define aarp_spnode aarp_spu.ap_node.an_node
42 #define aarp_tpnode aarp_tpu.ap_node.an_node
43
44 struct aarptab {
45 struct at_addr aat_ataddr;
46 u_char aat_enaddr[ 6 ];
47 u_char aat_timer;
48 u_char aat_flags;
49 struct mbuf *aat_hold;
50 };
51
52 #define AARPHRD_ETHER 0x0001
53
54 #define AARPOP_REQUEST 0x01
55 #define AARPOP_RESPONSE 0x02
56 #define AARPOP_PROBE 0x03
57
58 #ifdef _KERNEL
59 struct aarptab *aarptnew(struct at_addr *);
60 #endif
61
62 #endif /* _NETATALK_AARP_H_ */
Cache object: 6bae326d6ba339edd2da4120182aa5ac
|