|
typedef struct _XENBUS_PROTOCOL | XENBUS_PROTOCOL |
|
typedef enum xenbus_state | XenBusState |
|
typedef XENSTORE_STATUS(EFIAPI * | XENBUS_XS_READ )(IN XENBUS_PROTOCOL *This, IN CONST XENSTORE_TRANSACTION *Transaction, IN CONST CHAR8 *Node, OUT VOID **Result) |
|
typedef XENSTORE_STATUS(EFIAPI * | XENBUS_XS_BACKEND_READ )(IN XENBUS_PROTOCOL *This, IN CONST XENSTORE_TRANSACTION *Transaction, IN CONST CHAR8 *Node, OUT VOID **Result) |
|
typedef IN CONST
XENSTORE_TRANSACTION * | Transaction |
|
typedef IN CONST
XENSTORE_TRANSACTION IN CONST
CHAR8 * | Directory |
|
typedef IN CONST
XENSTORE_TRANSACTION IN CONST
CHAR8 IN CONST CHAR8 * | Node |
|
typedef IN CONST
XENSTORE_TRANSACTION IN CONST
CHAR8 IN CONST CHAR8 IN CONST
CHAR8 * | Format |
|
typedef IN CONST
XENSTORE_TRANSACTION IN CONST
CHAR8 IN CONST CHAR8 IN CONST
CHAR8 typedef | XENSTORE_STATUS (EFIAPI *XENBUS_XS_REMOVE)(IN XENBUS_PROTOCOL *This |
|
typedef XENSTORE_STATUS(EFIAPI * | XENBUS_XS_TRANSACTION_START )(IN XENBUS_PROTOCOL *This, OUT XENSTORE_TRANSACTION *Transaction) |
|
typedef IN CONST
XENSTORE_TRANSACTION IN
BOOLEAN | Abort |
|
typedef XENSTORE_STATUS(EFIAPI * | XENBUS_SET_STATE )(IN XENBUS_PROTOCOL *This, IN CONST XENSTORE_TRANSACTION *Transaction, IN XenBusState State) |
|
typedef EFI_STATUS(EFIAPI * | XENBUS_GRANT_ACCESS )(IN XENBUS_PROTOCOL *This, IN domid_t DomainId, IN UINTN Frame, IN BOOLEAN ReadOnly, OUT grant_ref_t *refp) |
|
typedef EFI_STATUS(EFIAPI * | XENBUS_GRANT_END_ACCESS )(IN XENBUS_PROTOCOL *This, IN grant_ref_t Ref) |
|
typedef IN domid_t | DomainId |
|
typedef IN domid_t OUT
evtchn_port_t * | Port |
|
typedef IN CONST CHAR8 OUT VOID ** | Token |
|
XenBus protocol to be used between the XenBus bus driver and Xen PV devices.
DISCLAIMER: the XENBUS_PROTOCOL introduced here is a work in progress, and should not be used outside of the EDK II tree.
This protocol provide the necessary for a Xen PV driver frontend to communicate with the bus driver, and perform several task to initialize/shutdown a PV device and perform IO with a PV backend.
Copyright (C) 2014, Citrix Ltd.
SPDX-License-Identifier: BSD-2-Clause-Patent
Remove a node or directory (directories must be empty) of the PV driver's subdirectory.
- Parameters
-
This | A pointer to XENBUS_PROTOCOL instance. |
Transaction | The XenStore transaction covering this request. |
Node | The basename of the node to remove. |
- Returns
- On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value indicating the type of failure.
End a transaction.
- Parameters
-
This | A pointer to XENBUS_PROTOCOL instance. |
Transaction | The transaction to end/commit. |
Abort | If TRUE, the transaction is discarded instead of committed. |
- Returns
- On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value indicating the type of failure.
Register a XenStore watch.
XenStore watches allow a client to wait for changes to an object in the XenStore.
- Parameters
-
This | A pointer to the XENBUS_PROTOCOL. |
Node | The basename of the path to watch. |
Token | A token. |
- Returns
- On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value indicating the type of write failure. EEXIST errors from the XenStore are suppressed, allowing multiple, physically different, xenbus_watch objects, to watch the same path in the XenStore.
Register a XenStore watch on a backend's node.
XenStore watches allow a client to wait for changes to an object in the XenStore.
- Parameters
-
This | A pointer to the XENBUS_PROTOCOL. |
Node | The basename of the path to watch. |
Token | A token. |
- Returns
- On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value indicating the type of write failure. EEXIST errors from the XenStore are suppressed, allowing multiple, physically different, xenbus_watch objects, to watch the same path in the XenStore.
Block until the node watch by Token change.
- Parameters
-
This | A pointer to the XENBUS_PROTOCOL. |
Token | An token previously returned by a successful call to RegisterWatch or RegisterWatchBackend. |
- Returns
- On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value indicating the type of failure.
Print formatted write to a XenStore node.
- Parameters
-
This | A pointer to XENBUS_PROTOCOL instance. |
Transaction | The XenStore transaction covering this request. |
Directory | The dirname of the path to read. |
Node | The basename of the path to read. |
Format | AsciiSPrint format string followed by a variable number of arguments. |
- Returns
- On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value indicating the type of write failure.
End a transaction.
- Parameters
-
This | A pointer to XENBUS_PROTOCOL instance. |
Transaction | The transaction to end/commit. |
Abort | If TRUE, the transaction is discarded instead of committed. |
- Returns
- On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value indicating the type of failure.
Register a XenStore watch.
XenStore watches allow a client to wait for changes to an object in the XenStore.
- Parameters
-
This | A pointer to the XENBUS_PROTOCOL. |
Node | The basename of the path to watch. |
Token | A token. |
- Returns
- On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value indicating the type of write failure. EEXIST errors from the XenStore are suppressed, allowing multiple, physically different, xenbus_watch objects, to watch the same path in the XenStore.
Register a XenStore watch on a backend's node.
XenStore watches allow a client to wait for changes to an object in the XenStore.
- Parameters
-
This | A pointer to the XENBUS_PROTOCOL. |
Node | The basename of the path to watch. |
Token | A token. |
- Returns
- On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value indicating the type of write failure. EEXIST errors from the XenStore are suppressed, allowing multiple, physically different, xenbus_watch objects, to watch the same path in the XenStore.
Block until the node watch by Token change.
- Parameters
-
This | A pointer to the XENBUS_PROTOCOL. |
Token | An token previously returned by a successful call to RegisterWatch or RegisterWatchBackend. |
- Returns
- On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value indicating the type of failure.