mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
libxc: NetBSD: implement xc_evtchn_bind_unbound_port.
Doesn't actually appear to be used anywhere but is defined for other OSes. The NetBSD evtchn.h contains comments "Return allocated port" for several ioctls which currently return the allocated port as a member of the argument structure and not as the ioctl return value (I think this is a cut and paste error). Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Christoph Egger <Christoph.Egger@amd.com> committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
This commit is contained in:
1 parent
df402317ce
commit
77fcd869a7
2 files changed
+15
-3
No files matched your search
@@ -33,7 +33,6 @@
|
||||
|
||||
/*
|
||||
* Bind a fresh port to VIRQ @virq.
|
||||
* Return allocated port.
|
||||
*/
|
||||
#define IOCTL_EVTCHN_BIND_VIRQ \
|
||||
_IOWR('E', 4, struct ioctl_evtchn_bind_virq)
|
||||
@@ -44,7 +43,6 @@ struct ioctl_evtchn_bind_virq {
|
||||
|
||||
/*
|
||||
* Bind a fresh port to remote <@remote_domain, @remote_port>.
|
||||
* Return allocated port.
|
||||
*/
|
||||
#define IOCTL_EVTCHN_BIND_INTERDOMAIN \
|
||||
_IOWR('E', 5, struct ioctl_evtchn_bind_interdomain)
|
||||
@@ -55,7 +53,6 @@ struct ioctl_evtchn_bind_interdomain {
|
||||
|
||||
/*
|
||||
* Allocate a fresh port for binding to @remote_domain.
|
||||
* Return allocated port.
|
||||
*/
|
||||
#define IOCTL_EVTCHN_BIND_UNBOUND_PORT \
|
||||
_IOWR('E', 6, struct ioctl_evtchn_bind_unbound_port)
|
||||
|
||||
@@ -205,6 +205,21 @@ int xc_evtchn_notify(int xce_handle, evtchn_port_t port)
|
||||
return ioctl(xce_handle, IOCTL_EVTCHN_NOTIFY, ¬ify);
|
||||
}
|
||||
|
||||
evtchn_port_or_error_t
|
||||
xc_evtchn_bind_unbound_port(int xce_handle, int domid)
|
||||
{
|
||||
struct ioctl_evtchn_bind_unbound_port bind;
|
||||
int ret;
|
||||
|
||||
bind.remote_domain = domid;
|
||||
|
||||
ret = ioctl(xce_handle, IOCTL_EVTCHN_BIND_UNBOUND_PORT, &bind);
|
||||
if (ret == 0)
|
||||
return bind.port;
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
|
||||
evtchn_port_or_error_t
|
||||
xc_evtchn_bind_interdomain(int xce_handle, int domid,
|
||||
evtchn_port_t remote_port)
|
||||
|
||||