1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2ba4e58ecSGerrit Renker #ifndef _UDP4_IMPL_H 3ba4e58ecSGerrit Renker #define _UDP4_IMPL_H 4ba4e58ecSGerrit Renker #include <net/udp.h> 5ba4e58ecSGerrit Renker #include <net/udplite.h> 6ba4e58ecSGerrit Renker #include <net/protocol.h> 7ba4e58ecSGerrit Renker #include <net/inet_common.h> 8ba4e58ecSGerrit Renker 97e58487bSJoe Perches int __udp4_lib_rcv(struct sk_buff *, struct udp_table *, int); 10*32bbd879SStefano Brivio int __udp4_lib_err(struct sk_buff *, u32, struct udp_table *); 11ba4e58ecSGerrit Renker 127e58487bSJoe Perches int udp_v4_get_port(struct sock *sk, unsigned short snum); 13ba4e58ecSGerrit Renker 147e58487bSJoe Perches int udp_setsockopt(struct sock *sk, int level, int optname, 15b7058842SDavid S. Miller char __user *optval, unsigned int optlen); 167e58487bSJoe Perches int udp_getsockopt(struct sock *sk, int level, int optname, 17ba4e58ecSGerrit Renker char __user *optval, int __user *optlen); 18ba4e58ecSGerrit Renker 19ba4e58ecSGerrit Renker #ifdef CONFIG_COMPAT 207e58487bSJoe Perches int compat_udp_setsockopt(struct sock *sk, int level, int optname, 21b7058842SDavid S. Miller char __user *optval, unsigned int optlen); 227e58487bSJoe Perches int compat_udp_getsockopt(struct sock *sk, int level, int optname, 23ba4e58ecSGerrit Renker char __user *optval, int __user *optlen); 24ba4e58ecSGerrit Renker #endif 251b784140SYing Xue int udp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock, 261b784140SYing Xue int flags, int *addr_len); 277e58487bSJoe Perches int udp_sendpage(struct sock *sk, struct page *page, int offset, size_t size, 287e58487bSJoe Perches int flags); 297e58487bSJoe Perches void udp_destroy_sock(struct sock *sk); 30ba4e58ecSGerrit Renker 31ba4e58ecSGerrit Renker #ifdef CONFIG_PROC_FS 327e58487bSJoe Perches int udp4_seq_show(struct seq_file *seq, void *v); 33ba4e58ecSGerrit Renker #endif 34ba4e58ecSGerrit Renker #endif /* _UDP4_IMPL_H */ 35