net: Add read_sock proto_op
authorTom Herbert <tom@herbertland.com>
Sun, 28 Aug 2016 21:43:17 +0000 (14:43 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 29 Aug 2016 03:32:41 +0000 (23:32 -0400)
Add new function in proto_ops structure. This includes moving the
typedef got sk_read_actor into net.h and removing the definition from
tcp.h.

Signed-off-by: Tom Herbert <tom@herbertland.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/net.h
include/net/tcp.h

index b9f0ff4d489c22cc851170c610f6f56dec7f292f..cd0c8bd0a1dec0d2047509177ee8d33de1f185d4 100644 (file)
@@ -25,6 +25,7 @@
 #include <linux/kmemcheck.h>
 #include <linux/rcupdate.h>
 #include <linux/once.h>
+#include <linux/fs.h>
 
 #include <uapi/linux/net.h>
 
@@ -128,6 +129,9 @@ struct page;
 struct sockaddr;
 struct msghdr;
 struct module;
+struct sk_buff;
+typedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *,
+                              unsigned int, size_t);
 
 struct proto_ops {
        int             family;
@@ -186,6 +190,8 @@ struct proto_ops {
                                       struct pipe_inode_info *pipe, size_t len, unsigned int flags);
        int             (*set_peek_off)(struct sock *sk, int val);
        int             (*peek_len)(struct socket *sock);
+       int             (*read_sock)(struct sock *sk, read_descriptor_t *desc,
+                                    sk_read_actor_t recv_actor);
 };
 
 #define DECLARE_SOCKADDR(type, dst, src)       \
index 25d64f6de69e1f639ed1531bf2d2df3f00fd76a2..d56666ad92496066a8b7412f1334b7ee001a34a9 100644 (file)
@@ -603,8 +603,6 @@ static inline int tcp_bound_to_half_wnd(struct tcp_sock *tp, int pktsize)
 void tcp_get_info(struct sock *, struct tcp_info *);
 
 /* Read 'sendfile()'-style from a TCP socket */
-typedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *,
-                               unsigned int, size_t);
 int tcp_read_sock(struct sock *sk, read_descriptor_t *desc,
                  sk_read_actor_t recv_actor);