summaryrefslogtreecommitdiff
path: root/drivers/xen/pvcalls-front.h
diff options
context:
space:
mode:
authorStefano Stabellini <sstabellini@kernel.org>2017-10-31 01:41:00 +0300
committerBoris Ostrovsky <boris.ostrovsky@oracle.com>2017-10-31 16:05:53 +0300
commitae0d04052e077ccb71772bf5c7cb1049f4d587d2 (patch)
tree899cad4c8057bb02218757c7f87a76ee41696c39 /drivers/xen/pvcalls-front.h
parent45ddce214a797de65c0418bebf90c1b564c3ee3d (diff)
downloadlinux-ae0d04052e077ccb71772bf5c7cb1049f4d587d2.tar.xz
xen/pvcalls: implement recvmsg
Implement recvmsg by copying data from the "in" ring. If not enough data is available and the recvmsg call is blocking, then wait on the inflight_conn_req waitqueue. Take the active socket in_mutex so that only one function can access the ring at any given time. Signed-off-by: Stefano Stabellini <stefano@aporeto.com> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> CC: boris.ostrovsky@oracle.com CC: jgross@suse.com Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Diffstat (limited to 'drivers/xen/pvcalls-front.h')
-rw-r--r--drivers/xen/pvcalls-front.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/xen/pvcalls-front.h b/drivers/xen/pvcalls-front.h
index d937c24c90c3..de24041e9a86 100644
--- a/drivers/xen/pvcalls-front.h
+++ b/drivers/xen/pvcalls-front.h
@@ -16,5 +16,9 @@ int pvcalls_front_accept(struct socket *sock,
int pvcalls_front_sendmsg(struct socket *sock,
struct msghdr *msg,
size_t len);
+int pvcalls_front_recvmsg(struct socket *sock,
+ struct msghdr *msg,
+ size_t len,
+ int flags);
#endif