]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - include/net/raw.h
[RAW]: Consolidate proto->hash callback
[net-next-2.6.git] / include / net / raw.h
index e4af59781949f12b0a097fafd06abea7ee841fde..43f1e3c07380295f177d9b7bcf06f0c5f8410bf9 100644 (file)
 
 extern struct proto raw_prot;
 
-extern void    raw_err(struct sock *, struct sk_buff *, u32 info);
-extern int     raw_rcv(struct sock *, struct sk_buff *);
-
-/* Note: v4 ICMP wants to get at this stuff, if you change the
- *       hashing mechanism, make sure you update icmp.c as well.
- */
-#define RAWV4_HTABLE_SIZE      MAX_INET_PROTOS
-extern struct hlist_head raw_v4_htable[RAWV4_HTABLE_SIZE];
-
-extern rwlock_t raw_v4_lock;
+void raw_icmp_error(struct sk_buff *, int, u32);
+int raw_local_deliver(struct sk_buff *, int);
 
+extern int     raw_rcv(struct sock *, struct sk_buff *);
 
-extern struct sock *__raw_v4_lookup(struct sock *sk, unsigned short num,
-                                   __be32 raddr, __be32 laddr,
-                                   int dif);
+#define RAW_HTABLE_SIZE        MAX_INET_PROTOS
 
-extern int raw_v4_input(struct sk_buff *skb, struct iphdr *iph, int hash);
+struct raw_hashinfo {
+       rwlock_t lock;
+       struct hlist_head ht[RAW_HTABLE_SIZE];
+};
 
 #ifdef CONFIG_PROC_FS
 extern int  raw_proc_init(void);
 extern void raw_proc_exit(void);
 #endif
 
+void raw_hash_sk(struct sock *sk, struct raw_hashinfo *h);
+
 #endif /* _RAW_H */