fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / linux / net.h
index d421f7d..a0a3952 100644 (file)
@@ -56,6 +56,7 @@ typedef enum {
 
 #ifdef __KERNEL__
 #include <linux/stringify.h>
+#include <linux/random.h>
 
 #define SOCK_ASYNC_NOSPACE     0
 #define SOCK_ASYNC_WAITDATA    1
@@ -170,11 +171,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;
 };
 
@@ -182,15 +178,14 @@ 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,
                                      struct socket **res);
 extern int          sock_create_lite(int family, int type, int proto,
                                      struct socket **res); 
-extern struct socket *sock_alloc(void);
 extern void         sock_release(struct socket *sock);
 extern int          sock_sendmsg(struct socket *sock, struct msghdr *msg,
                                  size_t len);
@@ -200,9 +195,9 @@ extern int       sock_map_fd(struct socket *sock);
 extern struct socket *sockfd_lookup(int fd, int *err);
 #define                     sockfd_put(sock) fput(sock->file)
 extern int          net_ratelimit(void);
-extern unsigned long net_random(void);
-extern void         net_srandom(unsigned long);
-extern void         net_random_init(void);
+
+#define net_random()           random32()
+#define net_srandom(seed)      srandom32((__force u32)seed)
 
 extern int          kernel_sendmsg(struct socket *sock, struct msghdr *msg,
                                    struct kvec *vec, size_t num, size_t len);
@@ -210,6 +205,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)