VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / include / linux / net.h
index 3d2cd0c..22daf78 100644 (file)
@@ -60,6 +60,8 @@ typedef enum {
 #define SOCK_ASYNC_NOSPACE     0
 #define SOCK_ASYNC_WAITDATA    1
 #define SOCK_NOSPACE           2
+#define SOCK_PASS_CRED         16
+#define SOCK_USER_SOCKET       17
 
 /**
  *  struct socket - general BSD socket
@@ -82,7 +84,6 @@ struct socket {
        struct sock             *sk;
        wait_queue_head_t       wait;
        short                   type;
-       unsigned char           passcred;
 };
 
 struct vm_area_struct;
@@ -142,6 +143,7 @@ struct net_proto_family {
 };
 
 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);
@@ -169,6 +171,12 @@ extern int      net_ratelimit(void);
 extern unsigned long net_random(void);
 extern void         net_srandom(unsigned long);
 
+extern int          kernel_sendmsg(struct socket *sock, struct msghdr *msg,
+                                   struct kvec *vec, size_t num, size_t len);
+extern int          kernel_recvmsg(struct socket *sock, struct msghdr *msg,
+                                   struct kvec *vec, size_t num,
+                                   size_t len, int flags);
+
 #ifndef CONFIG_SMP
 #define SOCKOPS_WRAPPED(name) name
 #define SOCKOPS_WRAP(name, fam)
@@ -217,9 +225,9 @@ SOCKCALL_WRAP(name, ioctl, (struct socket *sock, unsigned int cmd, \
 SOCKCALL_WRAP(name, listen, (struct socket *sock, int len), (sock, len)) \
 SOCKCALL_WRAP(name, shutdown, (struct socket *sock, int flags), (sock, flags)) \
 SOCKCALL_WRAP(name, setsockopt, (struct socket *sock, int level, int optname, \
-                        char *optval, int optlen), (sock, level, optname, optval, optlen)) \
+                        char __user *optval, int optlen), (sock, level, optname, optval, optlen)) \
 SOCKCALL_WRAP(name, getsockopt, (struct socket *sock, int level, int optname, \
-                        char *optval, int *optlen), (sock, level, optname, optval, optlen)) \
+                        char __user *optval, int __user *optlen), (sock, level, optname, optval, optlen)) \
 SOCKCALL_WRAP(name, sendmsg, (struct kiocb *iocb, struct socket *sock, struct msghdr *m, size_t len), \
              (iocb, sock, m, len)) \
 SOCKCALL_WRAP(name, recvmsg, (struct kiocb *iocb, struct socket *sock, struct msghdr *m, size_t len, int flags), \