we do not want to shift by the block size, which is much larger than
[dragonfly.git] / sys / netproto / atalk / aarp.h
blob7de7cfd6789e59a04fbc5e494c9bbf17313b7384
1 /*
2 * Copyright (c) 1990,1991 Regents of The University of Michigan.
3 * All Rights Reserved.
5 * $FreeBSD: src/sys/netatalk/aarp.h,v 1.3 1999/12/29 04:45:57 peter Exp $
6 * $DragonFly: src/sys/netproto/atalk/aarp.h,v 1.2 2003/06/17 04:28:48 dillon Exp $
7 */
9 #ifndef _NETATALK_AARP_H_
11 * This structure is used for both phase 1 and 2. Under phase 1
12 * the net is not filled in. It is in phase 2. In both cases, the
13 * hardware address length is (for some unknown reason) 4. If
14 * anyone at Apple could program their way out of paper bag, it
15 * would be 1 and 3 respectively for phase 1 and 2.
17 union aapa {
18 u_char ap_pa[4];
19 struct ap_node {
20 u_char an_zero;
21 u_char an_net[2];
22 u_char an_node;
23 } ap_node;
26 struct ether_aarp {
27 struct arphdr eaa_hdr;
28 u_char aarp_sha[6];
29 union aapa aarp_spu;
30 u_char aarp_tha[6];
31 union aapa aarp_tpu;
33 #define aarp_hrd eaa_hdr.ar_hrd
34 #define aarp_pro eaa_hdr.ar_pro
35 #define aarp_hln eaa_hdr.ar_hln
36 #define aarp_pln eaa_hdr.ar_pln
37 #define aarp_op eaa_hdr.ar_op
38 #define aarp_spa aarp_spu.ap_node.an_node
39 #define aarp_tpa aarp_tpu.ap_node.an_node
40 #define aarp_spnet aarp_spu.ap_node.an_net
41 #define aarp_tpnet aarp_tpu.ap_node.an_net
42 #define aarp_spnode aarp_spu.ap_node.an_node
43 #define aarp_tpnode aarp_tpu.ap_node.an_node
45 struct aarptab {
46 struct at_addr aat_ataddr;
47 u_char aat_enaddr[ 6 ];
48 u_char aat_timer;
49 u_char aat_flags;
50 struct mbuf *aat_hold;
53 #define AARPHRD_ETHER 0x0001
55 #define AARPOP_REQUEST 0x01
56 #define AARPOP_RESPONSE 0x02
57 #define AARPOP_PROBE 0x03
59 #ifdef _KERNEL
60 struct aarptab *aarptnew(struct at_addr *);
61 #endif
63 #endif /* _NETATALK_AARP_H_ */