aarp.h revision 55205
1/* 2 * Copyright (c) 1990,1991 Regents of The University of Michigan. 3 * All Rights Reserved. 4 * 5 * $FreeBSD: head/sys/netatalk/aarp.h 55205 1999-12-29 04:46:21Z peter $ 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 */ 16union 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 25struct 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 44struct 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 59struct aarptab *aarptnew(struct at_addr *); 60#endif 61 62#endif /* _NETATALK_AARP_H_ */ 63