Manual merge of for-linus to upstream (fix conflicts in drivers/infiniband/core/ucm.c)
[linux-2.6] / include / net / arp.h
1 /* linux/net/inet/arp.h */
2 #ifndef _ARP_H
3 #define _ARP_H
4
5 #include <linux/if_arp.h>
6 #include <net/neighbour.h>
7
8 #define HAVE_ARP_CREATE
9
10 extern struct neigh_table arp_tbl;
11
12 extern void     arp_init(void);
13 extern int      arp_rcv(struct sk_buff *skb, struct net_device *dev,
14                         struct packet_type *pt, struct net_device *orig_dev);
15 extern int      arp_find(unsigned char *haddr, struct sk_buff *skb);
16 extern int      arp_ioctl(unsigned int cmd, void __user *arg);
17 extern void     arp_send(int type, int ptype, u32 dest_ip, 
18                          struct net_device *dev, u32 src_ip, 
19                          unsigned char *dest_hw, unsigned char *src_hw, unsigned char *th);
20 extern int      arp_bind_neighbour(struct dst_entry *dst);
21 extern int      arp_mc_map(u32 addr, u8 *haddr, struct net_device *dev, int dir);
22 extern void     arp_ifdown(struct net_device *dev);
23
24 extern struct sk_buff *arp_create(int type, int ptype, u32 dest_ip,
25                                   struct net_device *dev, u32 src_ip,
26                                   unsigned char *dest_hw, unsigned char *src_hw,
27                                   unsigned char *target_hw);
28 extern void arp_xmit(struct sk_buff *skb);
29
30 extern struct neigh_ops arp_broken_ops;
31
32 #endif  /* _ARP_H */