2005-04-17 02:20:36 +04:00
# ifndef _INET_COMMON_H
# define _INET_COMMON_H
2010-07-11 00:41:06 +04:00
extern const struct proto_ops inet_stream_ops ;
extern const struct proto_ops inet_dgram_ops ;
2005-04-17 02:20:36 +04:00
/*
* INET4 prototypes used by INET6
*/
2005-08-10 07:00:51 +04:00
struct msghdr ;
struct sock ;
struct sockaddr ;
struct socket ;
2013-09-21 21:22:41 +04:00
int inet_release ( struct socket * sock ) ;
int inet_stream_connect ( struct socket * sock , struct sockaddr * uaddr ,
int addr_len , int flags ) ;
int __inet_stream_connect ( struct socket * sock , struct sockaddr * uaddr ,
2017-01-25 16:42:46 +03:00
int addr_len , int flags , int is_sendmsg ) ;
2013-09-21 21:22:41 +04:00
int inet_dgram_connect ( struct socket * sock , struct sockaddr * uaddr ,
int addr_len , int flags ) ;
2017-03-09 11:09:05 +03:00
int inet_accept ( struct socket * sock , struct socket * newsock , int flags ,
bool kern ) ;
2015-03-02 10:37:48 +03:00
int inet_sendmsg ( struct socket * sock , struct msghdr * msg , size_t size ) ;
2013-09-21 21:22:41 +04:00
ssize_t inet_sendpage ( struct socket * sock , struct page * page , int offset ,
size_t size , int flags ) ;
2015-03-02 10:37:48 +03:00
int inet_recvmsg ( struct socket * sock , struct msghdr * msg , size_t size ,
int flags ) ;
2013-09-21 21:22:41 +04:00
int inet_shutdown ( struct socket * sock , int how ) ;
int inet_listen ( struct socket * sock , int backlog ) ;
void inet_sock_destruct ( struct sock * sk ) ;
int inet_bind ( struct socket * sock , struct sockaddr * uaddr , int addr_len ) ;
int inet_getname ( struct socket * sock , struct sockaddr * uaddr , int * uaddr_len ,
int peer ) ;
int inet_ioctl ( struct socket * sock , unsigned int cmd , unsigned long arg ) ;
int inet_ctl_sock_create ( struct sock * * sk , unsigned short family ,
unsigned short type , unsigned char protocol ,
struct net * net ) ;
2014-11-26 22:53:02 +03:00
int inet_recv_error ( struct sock * sk , struct msghdr * msg , int len ,
int * addr_len ) ;
2008-04-04 01:28:30 +04:00
2016-05-18 19:06:23 +03:00
struct sk_buff * * inet_gro_receive ( struct sk_buff * * head , struct sk_buff * skb ) ;
int inet_gro_complete ( struct sk_buff * skb , int nhoff ) ;
struct sk_buff * inet_gso_segment ( struct sk_buff * skb ,
netdev_features_t features ) ;
2008-04-04 01:28:30 +04:00
static inline void inet_ctl_sock_destroy ( struct sock * sk )
{
2015-11-02 18:50:07 +03:00
if ( sk )
sock_release ( sk - > sk_socket ) ;
2008-04-04 01:28:30 +04:00
}
2008-04-04 01:22:32 +04:00
2005-04-17 02:20:36 +04:00
# endif