]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/net.h
[PATCH] knfsd: split svc_serv into pools
[linux-2.6-omap-h63xx.git] / include / linux / net.h
index 84a490e5f0a1234e68b0f83caf0e01b5f8d8812a..c257f716e00f0b1698fb4154d67f6792e3b6fd50 100644 (file)
@@ -18,9 +18,7 @@
 #ifndef _LINUX_NET_H
 #define _LINUX_NET_H
 
-#include <linux/config.h>
 #include <linux/wait.h>
-#include <linux/stringify.h>
 #include <asm/socket.h>
 
 struct poll_table_struct;
@@ -57,11 +55,13 @@ typedef enum {
 #define __SO_ACCEPTCON (1 << 16)       /* performed a listen           */
 
 #ifdef __KERNEL__
+#include <linux/stringify.h>
 
 #define SOCK_ASYNC_NOSPACE     0
 #define SOCK_ASYNC_WAITDATA    1
 #define SOCK_NOSPACE           2
 #define SOCK_PASSCRED          3
+#define SOCK_PASSSEC           4
 
 #ifndef ARCH_HAS_SOCKET_TYPES
 /**
@@ -169,11 +169,6 @@ struct proto_ops {
 struct net_proto_family {
        int             family;
        int             (*create)(struct socket *sock, int protocol);
-       /* These are counters for the number of different methods of
-          each we support */
-       short           authentication;
-       short           encryption;
-       short           encrypt_net;
        struct module   *owner;
 };
 
@@ -181,8 +176,8 @@ struct iovec;
 struct kvec;
 
 extern int          sock_wake_async(struct socket *sk, int how, int band);
-extern int          sock_register(struct net_proto_family *fam);
-extern int          sock_unregister(int family);
+extern int          sock_register(const struct net_proto_family *fam);
+extern void         sock_unregister(int family);
 extern int          sock_create(int family, int type, int proto,
                                 struct socket **res);
 extern int          sock_create_kern(int family, int type, int proto,
@@ -208,6 +203,25 @@ extern int              kernel_recvmsg(struct socket *sock, struct msghdr *msg,
                                    struct kvec *vec, size_t num,
                                    size_t len, int flags);
 
+extern int kernel_bind(struct socket *sock, struct sockaddr *addr,
+                      int addrlen);
+extern int kernel_listen(struct socket *sock, int backlog);
+extern int kernel_accept(struct socket *sock, struct socket **newsock,
+                        int flags);
+extern int kernel_connect(struct socket *sock, struct sockaddr *addr,
+                         int addrlen, int flags);
+extern int kernel_getsockname(struct socket *sock, struct sockaddr *addr,
+                             int *addrlen);
+extern int kernel_getpeername(struct socket *sock, struct sockaddr *addr,
+                             int *addrlen);
+extern int kernel_getsockopt(struct socket *sock, int level, int optname,
+                            char *optval, int *optlen);
+extern int kernel_setsockopt(struct socket *sock, int level, int optname,
+                            char *optval, int optlen);
+extern int kernel_sendpage(struct socket *sock, struct page *page, int offset,
+                          size_t size, int flags);
+extern int kernel_sock_ioctl(struct socket *sock, int cmd, unsigned long arg);
+
 #ifndef CONFIG_SMP
 #define SOCKOPS_WRAPPED(name) name
 #define SOCKOPS_WRAP(name, fam)