| /** @file | |
| Event Channel function declaration. | |
| Copyright (C) 2014, Citrix Ltd. | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #ifndef __XENBUS_EVENT_CHANNEL_H | |
| #define __XENBUS_EVENT_CHANNEL_H | |
| #include "XenBusDxe.h" | |
| #include <IndustryStandard/Xen/event_channel.h> | |
| /** | |
| Send an event to the remote end of the channel whose local endpoint is Port. | |
| @param Dev A pointer to XENBUS_DEVICE. | |
| @param Port The port to notify. | |
| @return Return 0 on success, or return the errno code from the hypercall. | |
| **/ | |
| UINT32 | |
| XenEventChannelNotify ( | |
| IN XENBUS_DEVICE *Dev, | |
| IN evtchn_port_t Port | |
| ); | |
| /* | |
| * XenBus protocol | |
| */ | |
| /** | |
| Allocate a port that can be bind from domain DomainId. | |
| @param This A pointer to the XENBUS_PROTOCOL. | |
| @param DomainId The domain ID that can bind the newly allocated port. | |
| @param Port A pointer to a evtchn_port_t that will contain the newly | |
| allocated port. | |
| @retval UINT32 The return value from the hypercall, 0 if success. | |
| **/ | |
| UINT32 | |
| EFIAPI | |
| XenBusEventChannelAllocate ( | |
| IN XENBUS_PROTOCOL *This, | |
| IN domid_t DomainId, | |
| OUT evtchn_port_t *Port | |
| ); | |
| /** | |
| Send an event to the remote end of the channel whose local endpoint is Port. | |
| @param This A pointer to the XENBUS_PROTOCOL. | |
| @param Port Local port to the event from. | |
| @retval UINT32 The return value from the hypercall, 0 if success. | |
| **/ | |
| UINT32 | |
| EFIAPI | |
| XenBusEventChannelNotify ( | |
| IN XENBUS_PROTOCOL *This, | |
| IN evtchn_port_t Port | |
| ); | |
| /** | |
| Close a local event channel Port. | |
| @param This A pointer to the XENBUS_PROTOCOL. | |
| @param Port The event channel to close. | |
| @retval UINT32 The return value from the hypercall, 0 if success. | |
| **/ | |
| UINT32 | |
| EFIAPI | |
| XenBusEventChannelClose ( | |
| IN XENBUS_PROTOCOL *This, | |
| IN evtchn_port_t Port | |
| ); | |
| #endif |