net: pass kern to net_proto_family create function
[firefly-linux-kernel-4.4.55.git] / include / linux / net.h
index 529a0931711da5875cc70e88953dbe9621afd5d3..70ee3c310f15711bf291c42e182db2483ffcddae 100644 (file)
@@ -41,6 +41,7 @@
 #define SYS_SENDMSG    16              /* sys_sendmsg(2)               */
 #define SYS_RECVMSG    17              /* sys_recvmsg(2)               */
 #define SYS_ACCEPT4    18              /* sys_accept4(2)               */
+#define SYS_RECVMMSG   19              /* sys_recvmmsg(2)              */
 
 typedef enum {
        SS_FREE = 0,                    /* not allocated                */
@@ -198,9 +199,13 @@ struct proto_ops {
                                       struct pipe_inode_info *pipe, size_t len, unsigned int flags);
 };
 
+#define DECLARE_SOCKADDR(type, dst, src)       \
+       type dst = ({ __sockaddr_check_size(sizeof(*dst)); (type) src; })
+
 struct net_proto_family {
        int             family;
-       int             (*create)(struct net *net, struct socket *sock, int protocol);
+       int             (*create)(struct net *net, struct socket *sock,
+                                 int protocol, int kern);
        struct module   *owner;
 };