|
@@ -25,6 +25,7 @@
|
|
#include <linux/kmemcheck.h>
|
|
#include <linux/kmemcheck.h>
|
|
#include <linux/rcupdate.h>
|
|
#include <linux/rcupdate.h>
|
|
#include <linux/once.h>
|
|
#include <linux/once.h>
|
|
|
|
+#include <linux/fs.h>
|
|
|
|
|
|
#include <uapi/linux/net.h>
|
|
#include <uapi/linux/net.h>
|
|
|
|
|
|
@@ -128,6 +129,9 @@ struct page;
|
|
struct sockaddr;
|
|
struct sockaddr;
|
|
struct msghdr;
|
|
struct msghdr;
|
|
struct module;
|
|
struct module;
|
|
|
|
+struct sk_buff;
|
|
|
|
+typedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *,
|
|
|
|
+ unsigned int, size_t);
|
|
|
|
|
|
struct proto_ops {
|
|
struct proto_ops {
|
|
int family;
|
|
int family;
|
|
@@ -186,6 +190,8 @@ struct proto_ops {
|
|
struct pipe_inode_info *pipe, size_t len, unsigned int flags);
|
|
struct pipe_inode_info *pipe, size_t len, unsigned int flags);
|
|
int (*set_peek_off)(struct sock *sk, int val);
|
|
int (*set_peek_off)(struct sock *sk, int val);
|
|
int (*peek_len)(struct socket *sock);
|
|
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) \
|
|
#define DECLARE_SOCKADDR(type, dst, src) \
|