1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef _UDP4_IMPL_H 3*4882a593Smuzhiyun #define _UDP4_IMPL_H 4*4882a593Smuzhiyun #include <net/udp.h> 5*4882a593Smuzhiyun #include <net/udplite.h> 6*4882a593Smuzhiyun #include <net/protocol.h> 7*4882a593Smuzhiyun #include <net/inet_common.h> 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun int __udp4_lib_rcv(struct sk_buff *, struct udp_table *, int); 10*4882a593Smuzhiyun int __udp4_lib_err(struct sk_buff *, u32, struct udp_table *); 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun int udp_v4_get_port(struct sock *sk, unsigned short snum); 13*4882a593Smuzhiyun void udp_v4_rehash(struct sock *sk); 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun int udp_setsockopt(struct sock *sk, int level, int optname, sockptr_t optval, 16*4882a593Smuzhiyun unsigned int optlen); 17*4882a593Smuzhiyun int udp_getsockopt(struct sock *sk, int level, int optname, 18*4882a593Smuzhiyun char __user *optval, int __user *optlen); 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun int udp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock, 21*4882a593Smuzhiyun int flags, int *addr_len); 22*4882a593Smuzhiyun int udp_sendpage(struct sock *sk, struct page *page, int offset, size_t size, 23*4882a593Smuzhiyun int flags); 24*4882a593Smuzhiyun void udp_destroy_sock(struct sock *sk); 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun #ifdef CONFIG_PROC_FS 27*4882a593Smuzhiyun int udp4_seq_show(struct seq_file *seq, void *v); 28*4882a593Smuzhiyun #endif 29*4882a593Smuzhiyun #endif /* _UDP4_IMPL_H */ 30