]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/XenBusDxe/EventChannel.h
OvmfPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / OvmfPkg / XenBusDxe / EventChannel.h
CommitLineData
f1259bba
AP
1/** @file\r
2 Event Channel function declaration.\r
3\r
4 Copyright (C) 2014, Citrix Ltd.\r
5\r
b26f0cf9 6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
f1259bba
AP
7\r
8**/\r
9#ifndef __XENBUS_EVENT_CHANNEL_H\r
10#define __XENBUS_EVENT_CHANNEL_H\r
11\r
12#include "XenBusDxe.h"\r
13\r
14#include <IndustryStandard/Xen/event_channel.h>\r
15\r
16/**\r
17 Send an event to the remote end of the channel whose local endpoint is Port.\r
18\r
19 @param Dev A pointer to XENBUS_DEVICE.\r
20 @param Port The port to notify.\r
21\r
22 @return Return 0 on success, or return the errno code from the hypercall.\r
23**/\r
24UINT32\r
25XenEventChannelNotify (\r
26 IN XENBUS_DEVICE *Dev,\r
27 IN evtchn_port_t Port\r
28 );\r
29\r
e86895d9
AP
30/*\r
31 * XenBus protocol\r
32 */\r
33\r
34/**\r
35 Allocate a port that can be bind from domain DomainId.\r
36\r
37 @param This A pointer to the XENBUS_PROTOCOL.\r
38 @param DomainId The domain ID that can bind the newly allocated port.\r
39 @param Port A pointer to a evtchn_port_t that will contain the newly\r
40 allocated port.\r
41\r
42 @retval UINT32 The return value from the hypercall, 0 if success.\r
43**/\r
44UINT32\r
45EFIAPI\r
46XenBusEventChannelAllocate (\r
47 IN XENBUS_PROTOCOL *This,\r
48 IN domid_t DomainId,\r
49 OUT evtchn_port_t *Port\r
50 );\r
51\r
52/**\r
53 Send an event to the remote end of the channel whose local endpoint is Port.\r
54\r
55 @param This A pointer to the XENBUS_PROTOCOL.\r
56 @param Port Local port to the the event from.\r
57\r
58 @retval UINT32 The return value from the hypercall, 0 if success.\r
59**/\r
60UINT32\r
61EFIAPI\r
62XenBusEventChannelNotify (\r
63 IN XENBUS_PROTOCOL *This,\r
64 IN evtchn_port_t Port\r
65 );\r
66\r
67/**\r
68 Close a local event channel Port.\r
69\r
70 @param This A pointer to the XENBUS_PROTOCOL.\r
71 @param Port The event channel to close.\r
72\r
73 @retval UINT32 The return value from the hypercall, 0 if success.\r
74**/\r
75UINT32\r
76EFIAPI\r
77XenBusEventChannelClose (\r
78 IN XENBUS_PROTOCOL *This,\r
79 IN evtchn_port_t Port\r
80 );\r
81\r
f1259bba 82#endif\r