8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / uts / common / xen / sys / evtchn.h
blobb564aba874be10b04a28d697b1630c15492ae339
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:
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:
18 * The above copyright notice and this permission notice shall be included in
19 * all copies or substantial portions of the Software.
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.
31 * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
32 * Use is subject to license terms.
35 #ifndef _XEN_SYS_EVTCHN_H
36 #define _XEN_SYS_EVTCHN_H
38 #pragma ident "%Z%%M% %I% %E% SMI"
40 #define _IOC_NONE 0
41 #define _IOC(flag, letter, inum, size) ((letter) << 8 | (inum))
44 * Bind a fresh port to VIRQ @virq.
45 * Return allocated port.
47 #define IOCTL_EVTCHN_BIND_VIRQ \
48 _IOC(_IOC_NONE, 'E', 0, sizeof(struct ioctl_evtchn_bind_virq))
49 struct ioctl_evtchn_bind_virq {
50 unsigned int virq;
54 * Bind a fresh port to remote <@remote_domain, @remote_port>.
55 * Return allocated port.
57 #define IOCTL_EVTCHN_BIND_INTERDOMAIN \
58 _IOC(_IOC_NONE, 'E', 1, sizeof(struct ioctl_evtchn_bind_interdomain))
59 struct ioctl_evtchn_bind_interdomain {
60 unsigned int remote_domain, remote_port;
64 * Allocate a fresh port for binding to @remote_domain.
65 * Return allocated port.
67 #define IOCTL_EVTCHN_BIND_UNBOUND_PORT \
68 _IOC(_IOC_NONE, 'E', 2, sizeof(struct ioctl_evtchn_bind_unbound_port))
69 struct ioctl_evtchn_bind_unbound_port {
70 unsigned int remote_domain;
74 * Unbind previously allocated @port.
76 #define IOCTL_EVTCHN_UNBIND \
77 _IOC(_IOC_NONE, 'E', 3, sizeof(struct ioctl_evtchn_unbind))
78 struct ioctl_evtchn_unbind {
79 unsigned int port;
83 * Notify the given @port.
85 #define IOCTL_EVTCHN_NOTIFY \
86 _IOC(_IOC_NONE, 'E', 4, sizeof(struct ioctl_evtchn_notify))
87 struct ioctl_evtchn_notify {
88 unsigned int port;
91 #endif /* _XEN_SYS_EVTCHN_H */
94 * Local variables:
95 * c-file-style: "solaris"
96 * indent-tabs-mode: t
97 * c-indent-level: 8
98 * c-basic-offset: 8
99 * tab-width: 8
100 * End: