inet_common.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _INET_COMMON_H
  3. #define _INET_COMMON_H
  4. extern const struct proto_ops inet_stream_ops;
  5. extern const struct proto_ops inet_dgram_ops;
  6. /*
  7. * INET4 prototypes used by INET6
  8. */
  9. struct msghdr;
  10. struct sock;
  11. struct sockaddr;
  12. struct socket;
  13. int inet_release(struct socket *sock);
  14. int inet_stream_connect(struct socket *sock, struct sockaddr *uaddr,
  15. int addr_len, int flags);
  16. int __inet_stream_connect(struct socket *sock, struct sockaddr *uaddr,
  17. int addr_len, int flags, int is_sendmsg);
  18. int inet_dgram_connect(struct socket *sock, struct sockaddr *uaddr,
  19. int addr_len, int flags);
  20. int inet_accept(struct socket *sock, struct socket *newsock, int flags,
  21. bool kern);
  22. int inet_sendmsg(struct socket *sock, struct msghdr *msg, size_t size);
  23. ssize_t inet_sendpage(struct socket *sock, struct page *page, int offset,
  24. size_t size, int flags);
  25. int inet_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
  26. int flags);
  27. int inet_shutdown(struct socket *sock, int how);
  28. int inet_listen(struct socket *sock, int backlog);
  29. void inet_sock_destruct(struct sock *sk);
  30. int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len);
  31. int inet_getname(struct socket *sock, struct sockaddr *uaddr, int *uaddr_len,
  32. int peer);
  33. int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);
  34. int inet_ctl_sock_create(struct sock **sk, unsigned short family,
  35. unsigned short type, unsigned char protocol,
  36. struct net *net);
  37. int inet_recv_error(struct sock *sk, struct msghdr *msg, int len,
  38. int *addr_len);
  39. struct sk_buff *inet_gro_receive(struct list_head *head, struct sk_buff *skb);
  40. int inet_gro_complete(struct sk_buff *skb, int nhoff);
  41. struct sk_buff *inet_gso_segment(struct sk_buff *skb,
  42. netdev_features_t features);
  43. static inline void inet_ctl_sock_destroy(struct sock *sk)
  44. {
  45. if (sk)
  46. sock_release(sk->sk_socket);
  47. }
  48. #endif