if_arp.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013: <waltje@uWalt.NL.Mugnet.ORG>
014:
015: <layes@loran.com>
016: <acme@conectiva.com.br>
017:
018:
019:
020:
021:
022:
023: #ifndef _LINUX_IF_ARP_H
024: #define _LINUX_IF_ARP_H
025:
026: #include <linux/netdevice.h>
027:
028:
029: #define ARPHRD_NETROM 0
030: #define ARPHRD_ETHER 1
031: #define ARPHRD_EETHER 2
032: #define ARPHRD_AX25 3
033: #define ARPHRD_PRONET 4
034: #define ARPHRD_CHAOS 5
035: #define ARPHRD_IEEE802 6
036: #define ARPHRD_ARCNET 7
037: #define ARPHRD_APPLETLK 8
038: #define ARPHRD_DLCI 15
039: #define ARPHRD_ATM 19
040: #define ARPHRD_METRICOM 23
041: #define ARPHRD_IEEE1394 24
042: #define ARPHRD_EUI64 27
043: #define ARPHRD_INFINIBAND 32
044:
045:
046: #define ARPHRD_SLIP 256
047: #define ARPHRD_CSLIP 257
048: #define ARPHRD_SLIP6 258
049: #define ARPHRD_CSLIP6 259
050: #define ARPHRD_RSRVD 260
051: #define ARPHRD_ADAPT 264
052: #define ARPHRD_ROSE 270
053: #define ARPHRD_X25 271
054: #define ARPHRD_HWX25 272
055: #define ARPHRD_CAN 280
056: #define ARPHRD_PPP 512
057: #define ARPHRD_CISCO 513
058: #define ARPHRD_HDLC ARPHRD_CISCO
059: #define ARPHRD_LAPB 516
060: #define ARPHRD_DDCMP 517
061: #define ARPHRD_RAWHDLC 518
062:
063: #define ARPHRD_TUNNEL 768
064: #define ARPHRD_TUNNEL6 769
065: #define ARPHRD_FRAD 770
066: #define ARPHRD_SKIP 771
067: #define ARPHRD_LOOPBACK 772
068: #define ARPHRD_LOCALTLK 773
069: #define ARPHRD_FDDI 774
070: #define ARPHRD_BIF 775
071: #define ARPHRD_SIT 776
072: #define ARPHRD_IPDDP 777
073: #define ARPHRD_IPGRE 778
074: #define ARPHRD_PIMREG 779
075: #define ARPHRD_HIPPI 780
076: #define ARPHRD_ASH 781
077: #define ARPHRD_ECONET 782
078: #define ARPHRD_IRDA 783
079:
080: #define ARPHRD_FCPP 784
081: #define ARPHRD_FCAL 785
082: #define ARPHRD_FCPL 786
083: #define ARPHRD_FCFABRIC 787
084:
085: #define ARPHRD_IEEE802_TR 800
086: #define ARPHRD_IEEE80211 801
087: #define ARPHRD_IEEE80211_PRISM 802
088: #define ARPHRD_IEEE80211_RADIOTAP 803
089: #define ARPHRD_IEEE802154 804
090:
091: #define ARPHRD_PHONET 820
092: #define ARPHRD_PHONET_PIPE 821
093: #define ARPHRD_CAIF 822
094:
095: #define ARPHRD_VOID 0xFFFF
096: #define ARPHRD_NONE 0xFFFE
097:
098:
099: #define ARPOP_REQUEST 1
100: #define ARPOP_REPLY 2
101: #define ARPOP_RREQUEST 3
102: #define ARPOP_RREPLY 4
103: #define ARPOP_InREQUEST 8
104: #define ARPOP_InREPLY 9
105: #define ARPOP_NAK 10
106:
107:
108:
109: struct arpreq {
110: struct sockaddr arp_pa;
111: struct sockaddr arp_ha;
112: int arp_flags;
113: struct sockaddr arp_netmask;
114: char arp_dev[16];
115: };
116:
117: struct arpreq_old {
118: struct sockaddr arp_pa;
119: struct sockaddr arp_ha;
120: int arp_flags;
121: struct sockaddr arp_netmask;
122: };
123:
124:
125: #define ATF_COM 0x02
126: #define ATF_PERM 0x04
127: #define ATF_PUBL 0x08
128: #define ATF_USETRAILERS 0x10
129: #define ATF_NETMASK 0x20
130:
131: #define ATF_DONTPUB 0x40
132:
133:
134:
135:
136:
137: struct arphdr {
138: __be16 ar_hrd;
139: __be16 ar_pro;
140: unsigned char ar_hln;
141: unsigned char ar_pln;
142: __be16 ar_op;
143:
144: #if 0
145:
146:
147:
148: unsigned char ar_sha[ETH_ALEN];
149: unsigned char ar_sip[4];
150: unsigned char ar_tha[ETH_ALEN];
151: unsigned char ar_tip[4];
152: #endif
153:
154: };
155:
156:
157: #endif
158:
© Andrew Scott 2006 -
2025,
All Rights Reserved