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