FreeBSD xen subsystem code
evtchn.h
1
/******************************************************************************
2
* evtchn.h
3
*
4
* Interface to /dev/xen/evtchn.
5
*
6
* Copyright (c) 2003-2005, K A Fraser
7
*
8
* This file may be distributed separately from the Linux kernel, or
9
* incorporated into other software packages, subject to the following license:
10
*
11
* Permission is hereby granted, free of charge, to any person obtaining a copy
12
* of this source file (the "Software"), to deal in the Software without
13
* restriction, including without limitation the rights to use, copy, modify,
14
* merge, publish, distribute, sublicense, and/or sell copies of the Software,
15
* and to permit persons to whom the Software is furnished to do so, subject to
16
* the following conditions:
17
*
18
* The above copyright notice and this permission notice shall be included in
19
* all copies or substantial portions of the Software.
20
*
21
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
27
* IN THE SOFTWARE.
28
*
29
* $FreeBSD$
30
*/
31
32
#ifndef __XEN_EVTCHN_H__
33
#define __XEN_EVTCHN_H__
34
35
/*
36
* Bind a fresh port to VIRQ @virq.
37
*/
38
#define IOCTL_EVTCHN_BIND_VIRQ \
39
_IOWR('E', 4, struct ioctl_evtchn_bind_virq)
40
struct
ioctl_evtchn_bind_virq
{
41
unsigned
int
virq;
42
unsigned
int
port;
43
};
44
45
/*
46
* Bind a fresh port to remote <@remote_domain, @remote_port>.
47
*/
48
#define IOCTL_EVTCHN_BIND_INTERDOMAIN \
49
_IOWR('E', 5, struct ioctl_evtchn_bind_interdomain)
50
struct
ioctl_evtchn_bind_interdomain
{
51
unsigned
int
remote_domain, remote_port;
52
unsigned
int
port;
53
};
54
55
/*
56
* Allocate a fresh port for binding to @remote_domain.
57
*/
58
#define IOCTL_EVTCHN_BIND_UNBOUND_PORT \
59
_IOWR('E', 6, struct ioctl_evtchn_bind_unbound_port)
60
struct
ioctl_evtchn_bind_unbound_port
{
61
unsigned
int
remote_domain;
62
unsigned
int
port;
63
};
64
65
/*
66
* Unbind previously allocated @port.
67
*/
68
#define IOCTL_EVTCHN_UNBIND \
69
_IOW('E', 7, struct ioctl_evtchn_unbind)
70
struct
ioctl_evtchn_unbind
{
71
unsigned
int
port;
72
};
73
74
/*
75
* Send event to previously allocated @port.
76
*/
77
#define IOCTL_EVTCHN_NOTIFY \
78
_IOW('E', 8, struct ioctl_evtchn_notify)
79
struct
ioctl_evtchn_notify
{
80
unsigned
int
port;
81
};
82
83
/* Clear and reinitialise the event buffer. Clear error condition. */
84
#define IOCTL_EVTCHN_RESET \
85
_IO('E', 9)
86
87
#endif
/* __XEN_EVTCHN_H__ */
ioctl_evtchn_bind_interdomain
Definition:
evtchn.h:50
ioctl_evtchn_bind_unbound_port
Definition:
evtchn.h:60
ioctl_evtchn_bind_virq
Definition:
evtchn.h:40
ioctl_evtchn_notify
Definition:
evtchn.h:79
ioctl_evtchn_unbind
Definition:
evtchn.h:70
xen
evtchn.h
Generated by
1.9.3