WvStreams
|
00001 /* 00002 * INET An implementation of the TCP/IP protocol suite for the LINUX 00003 * operating system. INET is implemented using the BSD Socket 00004 * interface as the means of communication with the user level. 00005 * 00006 * Global definitions for the ARP (RFC 826) protocol. 00007 * 00008 * Authors: Original taken from Berkeley UNIX 4.3, (c) UCB 1986-1988 00009 * Portions taken from the KA9Q/NOS (v2.00m PA0GRI) source. 00010 * Based on a version 1.0.1 04/16/93 taken from Linux 00011 * Ross Biro, <bir7@leland.Stanford.Edu> 00012 * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> 00013 * Florian La Roche, 00014 * Jonathan Layes <layes@loran.com> 00015 * Arnaldo Carvalho de Melo <acme@conectiva.com.br> ARPHRD_HWX25 00016 * Stripped down by Net Integration Technologies, 2004 00017 * Simon Law <sfllaw@nit.ca> 00018 * Adrian Dewhurst <sailor-h@sailorfrag.net> 00019 * 00020 * This is just an interface, so it's public domain information. 00021 */ 00022 00023 #ifndef _WV_IF_ARP_H 00024 #define _WV_IF_ARP_H 00025 00026 /* ARP protocol HARDWARE identifiers. */ 00027 #define ARPHRD_NETROM 0 /* from KA9Q: NET/ROM pseudo */ 00028 #define ARPHRD_ETHER 1 /* Ethernet 10Mbps */ 00029 #define ARPHRD_EETHER 2 /* Experimental Ethernet */ 00030 #define ARPHRD_AX25 3 /* AX.25 Level 2 */ 00031 #define ARPHRD_PRONET 4 /* PROnet token ring */ 00032 #define ARPHRD_CHAOS 5 /* Chaosnet */ 00033 #define ARPHRD_IEEE802 6 /* IEEE 802.2 Ethernet/TR/TB */ 00034 #define ARPHRD_ARCNET 7 /* ARCnet */ 00035 #define ARPHRD_APPLETLK 8 /* APPLEtalk */ 00036 #define ARPHRD_DLCI 15 /* Frame Relay DLCI */ 00037 #define ARPHRD_ATM 19 /* ATM */ 00038 #define ARPHRD_METRICOM 23 /* Metricom STRIP (new IANA id) */ 00039 #define ARPHRD_IEEE1394 24 /* IEEE 1394 IPv4 - RFC 2734 */ 00040 #define ARPHRD_EUI64 27 /* EUI-64 */ 00041 #define ARPHRD_IPSEC 31 /* IPSec tunnel */ 00042 00043 /* Dummy types for non ARP hardware */ 00044 #define ARPHRD_SLIP 256 00045 #define ARPHRD_CSLIP 257 00046 #define ARPHRD_SLIP6 258 00047 #define ARPHRD_CSLIP6 259 00048 #define ARPHRD_RSRVD 260 /* Notional KISS type */ 00049 #define ARPHRD_ADAPT 264 00050 #define ARPHRD_ROSE 270 00051 #define ARPHRD_X25 271 /* CCITT X.25 */ 00052 #define ARPHRD_HWX25 272 /* Boards with X.25 in firmware */ 00053 #define ARPHRD_PPP 512 00054 #define ARPHRD_CISCO 513 /* Cisco HDLC */ 00055 #define ARPHRD_HDLC ARPHRD_CISCO 00056 #define ARPHRD_LAPB 516 /* LAPB */ 00057 #define ARPHRD_DDCMP 517 /* Digital's DDCMP protocol */ 00058 #define ARPHRD_RAWHDLC 518 /* Raw HDLC */ 00059 00060 #define ARPHRD_TUNNEL 768 /* IPIP tunnel */ 00061 #define ARPHRD_TUNNEL6 769 /* IPIP6 tunnel */ 00062 #define ARPHRD_FRAD 770 /* Frame Relay Access Device */ 00063 #define ARPHRD_SKIP 771 /* SKIP vif */ 00064 #define ARPHRD_LOOPBACK 772 /* Loopback device */ 00065 #define ARPHRD_LOCALTLK 773 /* Localtalk device */ 00066 #define ARPHRD_FDDI 774 /* Fiber Distributed Data Interface */ 00067 #define ARPHRD_BIF 775 /* AP1000 BIF */ 00068 #define ARPHRD_SIT 776 /* sit0 device - IPv6-in-IPv4 */ 00069 #define ARPHRD_IPDDP 777 /* IP over DDP tunneller */ 00070 #define ARPHRD_IPGRE 778 /* GRE over IP */ 00071 #define ARPHRD_PIMREG 779 /* PIMSM register interface */ 00072 #define ARPHRD_HIPPI 780 /* High Performance Parallel Interface */ 00073 #define ARPHRD_ASH 781 /* Nexus 64Mbps Ash */ 00074 #define ARPHRD_ECONET 782 /* Acorn Econet */ 00075 #define ARPHRD_IRDA 783 /* Linux-IrDA */ 00076 /* ARP works differently on different FC media .. so */ 00077 #define ARPHRD_FCPP 784 /* Point to point fibrechannel */ 00078 #define ARPHRD_FCAL 785 /* Fibrechannel arbitrated loop */ 00079 #define ARPHRD_FCPL 786 /* Fibrechannel public loop */ 00080 #define ARPHRD_FCFABRIC 787 /* Fibrechannel fabric */ 00081 /* 787->799 reserved for fibrechannel media types */ 00082 #define ARPHRD_IEEE802_TR 800 /* Magic type ident for TR */ 00083 #define ARPHRD_IEEE80211 801 /* IEEE 802.11 */ 00084 #define ARPHRD_IEEE80211_PRISM 802 /* IEEE 802.11 + Prism2 header */ 00085 00086 #define ARPHRD_VOID 0xFFFF /* Void type, nothing is known */ 00087 00088 /* ARP protocol opcodes. */ 00089 #define ARPOP_REQUEST 1 /* ARP request */ 00090 #define ARPOP_REPLY 2 /* ARP reply */ 00091 #define ARPOP_RREQUEST 3 /* RARP request */ 00092 #define ARPOP_RREPLY 4 /* RARP reply */ 00093 #define ARPOP_InREQUEST 8 /* InARP request */ 00094 #define ARPOP_InREPLY 9 /* InARP reply */ 00095 #define ARPOP_NAK 10 /* (ATM)ARP NAK */ 00096 00097 /* ARP Flag values. */ 00098 #define ATF_COM 0x02 /* completed entry (ha valid) */ 00099 #define ATF_PERM 0x04 /* permanent entry */ 00100 #define ATF_PUBL 0x08 /* publish entry */ 00101 #define ATF_USETRAILERS 0x10 /* has requested trailers */ 00102 #define ATF_NETMASK 0x20 /* want to use a netmask (only 00103 for proxy entries) */ 00104 #define ATF_DONTPUB 0x40 /* don't answer this addresses */ 00105 00106 #endif /* _WV_IF_ARP_H */