~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/xen/evtchn.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/uapi/xen/evtchn.h (Version linux-6.12-rc7) and /include/uapi/xen/evtchn.h (Version linux-5.11.22)


  1 /* SPDX-License-Identifier: ((GPL-2.0 WITH Lin      1 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR MIT) */
  2 /*********************************************      2 /******************************************************************************
  3  * evtchn.h                                         3  * evtchn.h
  4  *                                                  4  *
  5  * Interface to /dev/xen/evtchn.                    5  * Interface to /dev/xen/evtchn.
  6  *                                                  6  *
  7  * Copyright (c) 2003-2005, K A Fraser              7  * Copyright (c) 2003-2005, K A Fraser
  8  *                                                  8  *
  9  * This program is free software; you can redi      9  * This program is free software; you can redistribute it and/or
 10  * modify it under the terms of the GNU Genera     10  * modify it under the terms of the GNU General Public License version 2
 11  * as published by the Free Software Foundatio     11  * as published by the Free Software Foundation; or, when distributed
 12  * separately from the Linux kernel or incorpo     12  * separately from the Linux kernel or incorporated into other
 13  * software packages, subject to the following     13  * software packages, subject to the following license:
 14  *                                                 14  *
 15  * Permission is hereby granted, free of charg     15  * Permission is hereby granted, free of charge, to any person obtaining a copy
 16  * of this source file (the "Software"), to de     16  * of this source file (the "Software"), to deal in the Software without
 17  * restriction, including without limitation t     17  * restriction, including without limitation the rights to use, copy, modify,
 18  * merge, publish, distribute, sublicense, and     18  * merge, publish, distribute, sublicense, and/or sell copies of the Software,
 19  * and to permit persons to whom the Software      19  * and to permit persons to whom the Software is furnished to do so, subject to
 20  * the following conditions:                       20  * the following conditions:
 21  *                                                 21  *
 22  * The above copyright notice and this permiss     22  * The above copyright notice and this permission notice shall be included in
 23  * all copies or substantial portions of the S     23  * all copies or substantial portions of the Software.
 24  *                                                 24  *
 25  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT W     25  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 26  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE W     26  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 27  * FITNESS FOR A PARTICULAR PURPOSE AND NONINF     27  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 28  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR      28  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 29  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT     29  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 30  * FROM, OUT OF OR IN CONNECTION WITH THE SOFT     30  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 31  * IN THE SOFTWARE.                                31  * IN THE SOFTWARE.
 32  */                                                32  */
 33                                                    33 
 34 #ifndef __LINUX_PUBLIC_EVTCHN_H__                  34 #ifndef __LINUX_PUBLIC_EVTCHN_H__
 35 #define __LINUX_PUBLIC_EVTCHN_H__                  35 #define __LINUX_PUBLIC_EVTCHN_H__
 36                                                    36 
 37 /*                                                 37 /*
 38  * Bind a fresh port to VIRQ @virq.                38  * Bind a fresh port to VIRQ @virq.
 39  * Return allocated port.                          39  * Return allocated port.
 40  */                                                40  */
 41 #define IOCTL_EVTCHN_BIND_VIRQ                     41 #define IOCTL_EVTCHN_BIND_VIRQ                          \
 42         _IOC(_IOC_NONE, 'E', 0, sizeof(struct      42         _IOC(_IOC_NONE, 'E', 0, sizeof(struct ioctl_evtchn_bind_virq))
 43 struct ioctl_evtchn_bind_virq {                    43 struct ioctl_evtchn_bind_virq {
 44         unsigned int virq;                         44         unsigned int virq;
 45 };                                                 45 };
 46                                                    46 
 47 /*                                                 47 /*
 48  * Bind a fresh port to remote <@remote_domain     48  * Bind a fresh port to remote <@remote_domain, @remote_port>.
 49  * Return allocated port.                          49  * Return allocated port.
 50  */                                                50  */
 51 #define IOCTL_EVTCHN_BIND_INTERDOMAIN              51 #define IOCTL_EVTCHN_BIND_INTERDOMAIN                   \
 52         _IOC(_IOC_NONE, 'E', 1, sizeof(struct      52         _IOC(_IOC_NONE, 'E', 1, sizeof(struct ioctl_evtchn_bind_interdomain))
 53 struct ioctl_evtchn_bind_interdomain {             53 struct ioctl_evtchn_bind_interdomain {
 54         unsigned int remote_domain, remote_por     54         unsigned int remote_domain, remote_port;
 55 };                                                 55 };
 56                                                    56 
 57 /*                                                 57 /*
 58  * Allocate a fresh port for binding to @remot     58  * Allocate a fresh port for binding to @remote_domain.
 59  * Return allocated port.                          59  * Return allocated port.
 60  */                                                60  */
 61 #define IOCTL_EVTCHN_BIND_UNBOUND_PORT             61 #define IOCTL_EVTCHN_BIND_UNBOUND_PORT                  \
 62         _IOC(_IOC_NONE, 'E', 2, sizeof(struct      62         _IOC(_IOC_NONE, 'E', 2, sizeof(struct ioctl_evtchn_bind_unbound_port))
 63 struct ioctl_evtchn_bind_unbound_port {            63 struct ioctl_evtchn_bind_unbound_port {
 64         unsigned int remote_domain;                64         unsigned int remote_domain;
 65 };                                                 65 };
 66                                                    66 
 67 /*                                                 67 /*
 68  * Unbind previously allocated @port.              68  * Unbind previously allocated @port.
 69  */                                                69  */
 70 #define IOCTL_EVTCHN_UNBIND                        70 #define IOCTL_EVTCHN_UNBIND                             \
 71         _IOC(_IOC_NONE, 'E', 3, sizeof(struct      71         _IOC(_IOC_NONE, 'E', 3, sizeof(struct ioctl_evtchn_unbind))
 72 struct ioctl_evtchn_unbind {                       72 struct ioctl_evtchn_unbind {
 73         unsigned int port;                         73         unsigned int port;
 74 };                                                 74 };
 75                                                    75 
 76 /*                                                 76 /*
 77  * Unbind previously allocated @port.              77  * Unbind previously allocated @port.
 78  */                                                78  */
 79 #define IOCTL_EVTCHN_NOTIFY                        79 #define IOCTL_EVTCHN_NOTIFY                             \
 80         _IOC(_IOC_NONE, 'E', 4, sizeof(struct      80         _IOC(_IOC_NONE, 'E', 4, sizeof(struct ioctl_evtchn_notify))
 81 struct ioctl_evtchn_notify {                       81 struct ioctl_evtchn_notify {
 82         unsigned int port;                         82         unsigned int port;
 83 };                                                 83 };
 84                                                    84 
 85 /* Clear and reinitialise the event buffer. Cl     85 /* Clear and reinitialise the event buffer. Clear error condition. */
 86 #define IOCTL_EVTCHN_RESET                         86 #define IOCTL_EVTCHN_RESET                              \
 87         _IOC(_IOC_NONE, 'E', 5, 0)                 87         _IOC(_IOC_NONE, 'E', 5, 0)
 88                                                    88 
 89 /*                                                 89 /*
 90  * Restrict this file descriptor so that it ca     90  * Restrict this file descriptor so that it can only be used to bind
 91  * new interdomain events from one domain.         91  * new interdomain events from one domain.
 92  *                                                 92  *
 93  * Once a file descriptor has been restricted      93  * Once a file descriptor has been restricted it cannot be
 94  * de-restricted, and must be closed and re-op     94  * de-restricted, and must be closed and re-opened.  Event channels
 95  * which were bound before restricting remain      95  * which were bound before restricting remain bound afterwards, and
 96  * can be notified as usual.                       96  * can be notified as usual.
 97  */                                                97  */
 98 #define IOCTL_EVTCHN_RESTRICT_DOMID                98 #define IOCTL_EVTCHN_RESTRICT_DOMID                     \
 99         _IOC(_IOC_NONE, 'E', 6, sizeof(struct      99         _IOC(_IOC_NONE, 'E', 6, sizeof(struct ioctl_evtchn_restrict_domid))
100 struct ioctl_evtchn_restrict_domid {              100 struct ioctl_evtchn_restrict_domid {
101         domid_t domid;                            101         domid_t domid;
102 };                                                102 };
103                                                   103 
104 /*                                             << 
105  * Bind statically allocated @port.            << 
106  */                                            << 
107 #define IOCTL_EVTCHN_BIND_STATIC               << 
108         _IOC(_IOC_NONE, 'E', 7, sizeof(struct  << 
109 struct ioctl_evtchn_bind {                     << 
110         unsigned int port;                     << 
111 };                                             << 
112                                                << 
113 #endif /* __LINUX_PUBLIC_EVTCHN_H__ */            104 #endif /* __LINUX_PUBLIC_EVTCHN_H__ */
114                                                   105 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php