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