Gerrit Renker | ba4e58e | 2006-11-27 11:10:57 -0800 | [diff] [blame] | 1 | #ifndef _UDP6_IMPL_H |
| 2 | #define _UDP6_IMPL_H |
| 3 | #include <net/udp.h> |
| 4 | #include <net/udplite.h> |
| 5 | #include <net/protocol.h> |
| 6 | #include <net/addrconf.h> |
| 7 | #include <net/inet_common.h> |
YOSHIFUJI Hideaki | 5e8b9df | 2008-01-22 17:25:46 +0900 | [diff] [blame] | 8 | #include <net/transp_v6.h> |
Gerrit Renker | ba4e58e | 2006-11-27 11:10:57 -0800 | [diff] [blame] | 9 | |
Herbert Xu | e5bbef2 | 2007-10-15 12:50:28 -0700 | [diff] [blame] | 10 | extern int __udp6_lib_rcv(struct sk_buff *, struct hlist_head [], int ); |
Gerrit Renker | ba4e58e | 2006-11-27 11:10:57 -0800 | [diff] [blame] | 11 | extern void __udp6_lib_err(struct sk_buff *, struct inet6_skb_parm *, |
| 12 | int , int , int , __be32 , struct hlist_head []); |
| 13 | |
Pavel Emelyanov | 6ba5a3c | 2008-03-22 16:51:21 -0700 | [diff] [blame] | 14 | extern int udp_v6_get_port(struct sock *sk, unsigned short snum); |
| 15 | |
Gerrit Renker | ba4e58e | 2006-11-27 11:10:57 -0800 | [diff] [blame] | 16 | extern int udpv6_getsockopt(struct sock *sk, int level, int optname, |
YOSHIFUJI Hideaki | 1ab1457 | 2007-02-09 23:24:49 +0900 | [diff] [blame] | 17 | char __user *optval, int __user *optlen); |
Gerrit Renker | ba4e58e | 2006-11-27 11:10:57 -0800 | [diff] [blame] | 18 | extern int udpv6_setsockopt(struct sock *sk, int level, int optname, |
YOSHIFUJI Hideaki | 1ab1457 | 2007-02-09 23:24:49 +0900 | [diff] [blame] | 19 | char __user *optval, int optlen); |
Gerrit Renker | ba4e58e | 2006-11-27 11:10:57 -0800 | [diff] [blame] | 20 | #ifdef CONFIG_COMPAT |
| 21 | extern int compat_udpv6_setsockopt(struct sock *sk, int level, int optname, |
| 22 | char __user *optval, int optlen); |
| 23 | extern int compat_udpv6_getsockopt(struct sock *sk, int level, int optname, |
| 24 | char __user *optval, int __user *optlen); |
| 25 | #endif |
| 26 | extern int udpv6_sendmsg(struct kiocb *iocb, struct sock *sk, |
| 27 | struct msghdr *msg, size_t len); |
| 28 | extern int udpv6_recvmsg(struct kiocb *iocb, struct sock *sk, |
| 29 | struct msghdr *msg, size_t len, |
YOSHIFUJI Hideaki | 1ab1457 | 2007-02-09 23:24:49 +0900 | [diff] [blame] | 30 | int noblock, int flags, int *addr_len); |
Gerrit Renker | ba4e58e | 2006-11-27 11:10:57 -0800 | [diff] [blame] | 31 | extern int udpv6_queue_rcv_skb(struct sock * sk, struct sk_buff *skb); |
| 32 | extern int udpv6_destroy_sock(struct sock *sk); |
| 33 | |
| 34 | #ifdef CONFIG_PROC_FS |
| 35 | extern int udp6_seq_show(struct seq_file *seq, void *v); |
| 36 | #endif |
| 37 | #endif /* _UDP6_IMPL_H */ |