diff options
Diffstat (limited to 'gpxe/src/include/gpxe/if_arp.h')
-rw-r--r-- | gpxe/src/include/gpxe/if_arp.h | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/gpxe/src/include/gpxe/if_arp.h b/gpxe/src/include/gpxe/if_arp.h deleted file mode 100644 index 932bb3b2..00000000 --- a/gpxe/src/include/gpxe/if_arp.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef _GPXE_IF_ARP_H -#define _GPXE_IF_ARP_H - -/** @file - * - * Address Resolution Protocol constants and types - * - */ - -FILE_LICENCE ( GPL2_OR_LATER ); - -#include <stdint.h> - -/* ARP protocol HARDWARE identifiers. */ -#define ARPHRD_NETROM 0 /**< from KA9Q: NET/ROM pseudo */ -#define ARPHRD_ETHER 1 /**< Ethernet 10Mbps */ -#define ARPHRD_EETHER 2 /**< Experimental Ethernet */ -#define ARPHRD_AX25 3 /**< AX.25 Level 2 */ -#define ARPHRD_PRONET 4 /**< PROnet token ring */ -#define ARPHRD_CHAOS 5 /**< Chaosnet */ -#define ARPHRD_IEEE802 6 /**< IEEE 802.2 Ethernet/TR/TB */ -#define ARPHRD_ARCNET 7 /**< ARCnet */ -#define ARPHRD_APPLETLK 8 /**< APPLEtalk */ -#define ARPHRD_DLCI 15 /**< Frame Relay DLCI */ -#define ARPHRD_ATM 19 /**< ATM */ -#define ARPHRD_METRICOM 23 /**< Metricom STRIP (new IANA id) */ -#define ARPHRD_IEEE1394 24 /**< IEEE 1394 IPv4 - RFC 2734 */ -#define ARPHRD_EUI64 27 /**< EUI-64 */ -#define ARPHRD_INFINIBAND 32 /**< InfiniBand */ - -/* ARP protocol opcodes. */ -#define ARPOP_REQUEST 1 /**< ARP request */ -#define ARPOP_REPLY 2 /**< ARP reply */ -#define ARPOP_RREQUEST 3 /**< RARP request */ -#define ARPOP_RREPLY 4 /**< RARP reply */ -#define ARPOP_InREQUEST 8 /**< InARP request */ -#define ARPOP_InREPLY 9 /**< InARP reply */ -#define ARPOP_NAK 10 /**< (ATM)ARP NAK */ - -/** - * An ARP header - * - * This contains only the fixed-size portions of an ARP header; for - * other fields use the arp_{sender,target}_{ha,pa} family of - * functions. - */ -struct arphdr { - /** Link-layer protocol - * - * This is an ARPHRD_XXX constant - */ - uint16_t ar_hrd; - /** Network-layer protocol - * - * This is, for Ethernet, an ETH_P_XXX constant. - */ - uint16_t ar_pro; - /** Link-layer address length */ - uint8_t ar_hln; - /** Network-layer address length */ - uint8_t ar_pln; - /** ARP opcode */ - uint16_t ar_op; -} __attribute__ (( packed )); - -/** ARP packet sender hardware address - * - * @v arphdr ARP header - * @ret ar_sha Sender hardware address - */ -static inline void * arp_sender_ha ( struct arphdr *arphdr ) { - return ( ( ( void * ) arphdr ) + sizeof ( *arphdr ) ); -} - -/** ARP packet sender protocol address - * - * @v arphdr ARP header - * @ret ar_spa Sender protocol address - */ -static inline void * arp_sender_pa ( struct arphdr *arphdr ) { - return ( arp_sender_ha ( arphdr ) + arphdr->ar_hln ); -} - -/** ARP packet target hardware address - * - * @v arphdr ARP header - * @ret ar_tha Target hardware address - */ -static inline void * arp_target_ha ( struct arphdr *arphdr ) { - return ( arp_sender_pa ( arphdr ) + arphdr->ar_pln ); -} - -/** ARP packet target protocol address - * - * @v arphdr ARP header - * @ret ar_tpa Target protocol address - */ -static inline void * arp_target_pa ( struct arphdr *arphdr ) { - return ( arp_target_ha ( arphdr ) + arphdr->ar_hln ); -} - -#endif /* _GPXE_IF_ARP_H */ |