blob: 140c1ec9f8a27cd1b1820899cde4dd433851e157 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _INET_COMMON_H
2#define _INET_COMMON_H
3
Changli Gao53d31762010-07-10 20:41:06 +00004extern const struct proto_ops inet_stream_ops;
5extern const struct proto_ops inet_dgram_ops;
Linus Torvalds1da177e2005-04-16 15:20:36 -07006
7/*
8 * INET4 prototypes used by INET6
9 */
10
Arnaldo Carvalho de Melo77d8bf92005-08-09 20:00:51 -070011struct msghdr;
12struct sock;
13struct sockaddr;
14struct socket;
15
Changli Gao53d31762010-07-10 20:41:06 +000016extern int inet_release(struct socket *sock);
17extern int inet_stream_connect(struct socket *sock, struct sockaddr * uaddr,
18 int addr_len, int flags);
19extern int inet_dgram_connect(struct socket *sock, struct sockaddr * uaddr,
20 int addr_len, int flags);
21extern int inet_accept(struct socket *sock, struct socket *newsock, int flags);
22extern int inet_sendmsg(struct kiocb *iocb, struct socket *sock,
23 struct msghdr *msg, size_t size);
24extern int inet_shutdown(struct socket *sock, int how);
25extern int inet_listen(struct socket *sock, int backlog);
26extern void inet_sock_destruct(struct sock *sk);
27extern int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len);
28extern int inet_getname(struct socket *sock, struct sockaddr *uaddr,
29 int *uaddr_len, int peer);
30extern int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);
31extern int inet_ctl_sock_create(struct sock **sk, unsigned short family,
32 unsigned short type, unsigned char protocol,
33 struct net *net);
Denis V. Lunev56772422008-04-03 14:28:30 -070034
35static inline void inet_ctl_sock_destroy(struct sock *sk)
36{
37 sk_release_kernel(sk);
38}
Denis V. Lunev3d58b5f2008-04-03 14:22:32 -070039
Linus Torvalds1da177e2005-04-16 15:20:36 -070040#endif