Gerrit Renker | ba4e58e | 2006-11-27 11:10:57 -0800 | [diff] [blame] | 1 | #ifndef _UDP4_IMPL_H |
| 2 | #define _UDP4_IMPL_H |
| 3 | #include <net/udp.h> |
| 4 | #include <net/udplite.h> |
| 5 | #include <net/protocol.h> |
| 6 | #include <net/inet_common.h> |
| 7 | |
| 8 | extern int __udp4_lib_rcv(struct sk_buff *, struct hlist_head [], int ); |
| 9 | extern void __udp4_lib_err(struct sk_buff *, u32, struct hlist_head []); |
| 10 | |
| 11 | extern int __udp_lib_get_port(struct sock *sk, unsigned short snum, |
Stephen Hemminger | 32c1da7 | 2007-08-24 23:09:41 -0700 | [diff] [blame] | 12 | struct hlist_head udptable[], |
David S. Miller | df2bc45 | 2007-06-05 15:18:43 -0700 | [diff] [blame] | 13 | int (*)(const struct sock*,const struct sock*)); |
| 14 | extern int ipv4_rcv_saddr_equal(const struct sock *, const struct sock *); |
| 15 | |
Gerrit Renker | ba4e58e | 2006-11-27 11:10:57 -0800 | [diff] [blame] | 16 | |
| 17 | extern int udp_setsockopt(struct sock *sk, int level, int optname, |
| 18 | char __user *optval, int optlen); |
| 19 | extern int udp_getsockopt(struct sock *sk, int level, int optname, |
| 20 | char __user *optval, int __user *optlen); |
| 21 | |
| 22 | #ifdef CONFIG_COMPAT |
| 23 | extern int compat_udp_setsockopt(struct sock *sk, int level, int optname, |
| 24 | char __user *optval, int optlen); |
| 25 | extern int compat_udp_getsockopt(struct sock *sk, int level, int optname, |
| 26 | char __user *optval, int __user *optlen); |
| 27 | #endif |
| 28 | extern int udp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, |
| 29 | size_t len, int noblock, int flags, int *addr_len); |
| 30 | extern int udp_sendpage(struct sock *sk, struct page *page, int offset, |
| 31 | size_t size, int flags); |
| 32 | extern int udp_queue_rcv_skb(struct sock * sk, struct sk_buff *skb); |
| 33 | extern int udp_destroy_sock(struct sock *sk); |
| 34 | |
| 35 | #ifdef CONFIG_PROC_FS |
| 36 | extern int udp4_seq_show(struct seq_file *seq, void *v); |
| 37 | #endif |
| 38 | #endif /* _UDP4_IMPL_H */ |