diff options
Diffstat (limited to 'tools/libxc/xc_solaris.c')
-rw-r--r-- | tools/libxc/xc_solaris.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/tools/libxc/xc_solaris.c b/tools/libxc/xc_solaris.c index ea786e79ee..beec2872d4 100644 --- a/tools/libxc/xc_solaris.c +++ b/tools/libxc/xc_solaris.c @@ -262,20 +262,22 @@ static int solaris_evtchn_unbind(xc_evtchn *xce, xc_osdep_handle h, evtchn_port_ return ioctl(fd, IOCTL_EVTCHN_UNBIND, &unbind); } -evtchn_port_or_error_t -xc_evtchn_pending(xc_evtchn *xce) +static evtchn_port_or_error_t +solaris_evtchn_pending(xc_evtchn *xce, xc_osdep_handle h) { + int fd = (int)h; evtchn_port_t port; - if ( read_exact(xce->fd, (char *)&port, sizeof(port)) == -1 ) + if ( read_exact(fd, (char *)&port, sizeof(port)) == -1 ) return -1; return port; } -int xc_evtchn_unmask(xc_evtchn *xce, evtchn_port_t port) +static int solaris_evtchn_unmask(xc_evtchn *xce, xc_osdep_handle h,evtchn_port_t port) { - return write_exact(xce->fd, (char *)&port, sizeof(port)); + int fd = (int)h; + return write_exact(fd, (char *)&port, sizeof(port)); } static struct xc_osdep_ops solaris_evtchn_ops = { @@ -289,6 +291,8 @@ static struct xc_osdep_ops solaris_evtchn_ops = { .bind_interdomain = &solaris_evtchn_bind_interdomain, .bind_virq = &solaris_evtchn_bind_virq, .unbind = &solaris_evtchn_unbind, + .pending = &solaris_evtchn_pending, + .unmask = &solaris_evtchn_unmask, }, }; |