aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/net.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/net.h')
-rw-r--r--include/linux/net.h29
1 files changed, 22 insertions, 7 deletions
diff --git a/include/linux/net.h b/include/linux/net.h
index 385e68f5bd93..c257f716e00f 100644
--- a/include/linux/net.h
+++ b/include/linux/net.h
@@ -61,6 +61,7 @@ typedef enum {
61#define SOCK_ASYNC_WAITDATA 1 61#define SOCK_ASYNC_WAITDATA 1
62#define SOCK_NOSPACE 2 62#define SOCK_NOSPACE 2
63#define SOCK_PASSCRED 3 63#define SOCK_PASSCRED 3
64#define SOCK_PASSSEC 4
64 65
65#ifndef ARCH_HAS_SOCKET_TYPES 66#ifndef ARCH_HAS_SOCKET_TYPES
66/** 67/**
@@ -168,11 +169,6 @@ struct proto_ops {
168struct net_proto_family { 169struct net_proto_family {
169 int family; 170 int family;
170 int (*create)(struct socket *sock, int protocol); 171 int (*create)(struct socket *sock, int protocol);
171 /* These are counters for the number of different methods of
172 each we support */
173 short authentication;
174 short encryption;
175 short encrypt_net;
176 struct module *owner; 172 struct module *owner;
177}; 173};
178 174
@@ -180,8 +176,8 @@ struct iovec;
180struct kvec; 176struct kvec;
181 177
182extern int sock_wake_async(struct socket *sk, int how, int band); 178extern int sock_wake_async(struct socket *sk, int how, int band);
183extern int sock_register(struct net_proto_family *fam); 179extern int sock_register(const struct net_proto_family *fam);
184extern int sock_unregister(int family); 180extern void sock_unregister(int family);
185extern int sock_create(int family, int type, int proto, 181extern int sock_create(int family, int type, int proto,
186 struct socket **res); 182 struct socket **res);
187extern int sock_create_kern(int family, int type, int proto, 183extern int sock_create_kern(int family, int type, int proto,
@@ -207,6 +203,25 @@ extern int kernel_recvmsg(struct socket *sock, struct msghdr *msg,
207 struct kvec *vec, size_t num, 203 struct kvec *vec, size_t num,
208 size_t len, int flags); 204 size_t len, int flags);
209 205
206extern int kernel_bind(struct socket *sock, struct sockaddr *addr,
207 int addrlen);
208extern int kernel_listen(struct socket *sock, int backlog);
209extern int kernel_accept(struct socket *sock, struct socket **newsock,
210 int flags);
211extern int kernel_connect(struct socket *sock, struct sockaddr *addr,
212 int addrlen, int flags);
213extern int kernel_getsockname(struct socket *sock, struct sockaddr *addr,
214 int *addrlen);
215extern int kernel_getpeername(struct socket *sock, struct sockaddr *addr,
216 int *addrlen);
217extern int kernel_getsockopt(struct socket *sock, int level, int optname,
218 char *optval, int *optlen);
219extern int kernel_setsockopt(struct socket *sock, int level, int optname,
220 char *optval, int optlen);
221extern int kernel_sendpage(struct socket *sock, struct page *page, int offset,
222 size_t size, int flags);
223extern int kernel_sock_ioctl(struct socket *sock, int cmd, unsigned long arg);
224
210#ifndef CONFIG_SMP 225#ifndef CONFIG_SMP
211#define SOCKOPS_WRAPPED(name) name 226#define SOCKOPS_WRAPPED(name) name
212#define SOCKOPS_WRAP(name, fam) 227#define SOCKOPS_WRAP(name, fam)