1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef _UDP6_IMPL_H 3*4882a593Smuzhiyun #define _UDP6_IMPL_H 4*4882a593Smuzhiyun #include <net/udp.h> 5*4882a593Smuzhiyun #include <net/udplite.h> 6*4882a593Smuzhiyun #include <net/protocol.h> 7*4882a593Smuzhiyun #include <net/addrconf.h> 8*4882a593Smuzhiyun #include <net/inet_common.h> 9*4882a593Smuzhiyun #include <net/transp_v6.h> 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun int __udp6_lib_rcv(struct sk_buff *, struct udp_table *, int); 12*4882a593Smuzhiyun int __udp6_lib_err(struct sk_buff *, struct inet6_skb_parm *, u8, u8, int, 13*4882a593Smuzhiyun __be32, struct udp_table *); 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun int udp_v6_get_port(struct sock *sk, unsigned short snum); 16*4882a593Smuzhiyun void udp_v6_rehash(struct sock *sk); 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun int udpv6_getsockopt(struct sock *sk, int level, int optname, 19*4882a593Smuzhiyun char __user *optval, int __user *optlen); 20*4882a593Smuzhiyun int udpv6_setsockopt(struct sock *sk, int level, int optname, sockptr_t optval, 21*4882a593Smuzhiyun unsigned int optlen); 22*4882a593Smuzhiyun int udpv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len); 23*4882a593Smuzhiyun int udpv6_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock, 24*4882a593Smuzhiyun int flags, int *addr_len); 25*4882a593Smuzhiyun void udpv6_destroy_sock(struct sock *sk); 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun #ifdef CONFIG_PROC_FS 28*4882a593Smuzhiyun int udp6_seq_show(struct seq_file *seq, void *v); 29*4882a593Smuzhiyun #endif 30*4882a593Smuzhiyun #endif /* _UDP6_IMPL_H */ 31