]> xenbits.xensource.com Git - people/jgross/xen.git/commitdiff
libs/evtchn: fix build on NetBSD
authorFrom: Manuel Bouyer <bouyer@netbsd.org>
Mon, 18 Jan 2021 18:38:41 +0000 (18:38 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 18 Jan 2021 18:58:20 +0000 (18:58 +0000)
Use xenio3.h for ioctl definitions

read_exact/write_exact seems to not be available here, which cause a gcc
error.  Use plain read/write, the xenevtchn interface won't do partial
read/write on NetBSD anyway so it should be safe.  This is in line with the
rest of the OS specific helpers.

Fixes: b7f76a699dc ('tools: Refactor /dev/xen/evtchn wrappers into libxenevtchn')
Signed-off-by: Manuel Bouyer <bouyer@netbsd.org>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
tools/libs/evtchn/netbsd.c

index 60a92359788c83c229b044c1461d78767ad75242..1cebc21ffce016a02f3f7807d3fda99f26cabf0c 100644 (file)
 
 #include <sys/ioctl.h>
 
-#include <xen/sys/evtchn.h>
-
 #include "private.h"
 
+#include <xen/xenio3.h>
+
 #define EVTCHN_DEV_NAME  "/dev/xenevt"
 
 int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags)
@@ -138,7 +138,7 @@ xenevtchn_port_or_error_t xenevtchn_pending(xenevtchn_handle *xce)
     int fd = xce->fd;
     evtchn_port_t port;
 
-    if ( read_exact(fd, (char *)&port, sizeof(port)) == -1 )
+    if ( read(fd, (char *)&port, sizeof(port)) == -1 )
         return -1;
 
     return port;
@@ -148,7 +148,7 @@ int xenevtchn_unmask(xenevtchn_handle *xce, evtchn_port_t port)
 {
     int fd = xce->fd;
 
-    return write_exact(fd, (char *)&port, sizeof(port));
+    return write(fd, (char *)&port, sizeof(port));
 }
 
 /*