OvmfPkg/XenBusDxe: Add XenStore function into the XenBus protocol

Change in V3:
- Have XenStoreWaitWatch/XenBusWaitForWatch return a XENSTORE_STATUS
  instead of VOID.
- Add description of the introducted member of the protocol.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16269 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Anthony PERARD
2014-10-29 06:51:04 +00:00
committed by jljusten
parent 02a6bcff71
commit c23c037fb3
3 changed files with 474 additions and 0 deletions

View File

@@ -289,4 +289,91 @@ XenStoreDeinit (
IN XENBUS_DEVICE *Dev
);
//
// XENBUS protocol
//
XENSTORE_STATUS
EFIAPI
XenBusWaitForWatch (
IN XENBUS_PROTOCOL *This,
IN VOID *Token
);
XENSTORE_STATUS
EFIAPI
XenBusXenStoreRead (
IN XENBUS_PROTOCOL *This,
IN XENSTORE_TRANSACTION Transaction,
IN CONST CHAR8 *Node,
OUT VOID **Value
);
XENSTORE_STATUS
EFIAPI
XenBusXenStoreBackendRead (
IN XENBUS_PROTOCOL *This,
IN XENSTORE_TRANSACTION Transaction,
IN CONST CHAR8 *Node,
OUT VOID **Value
);
XENSTORE_STATUS
EFIAPI
XenBusXenStoreRemove (
IN XENBUS_PROTOCOL *This,
IN XENSTORE_TRANSACTION Transaction,
IN CONST CHAR8 *Node
);
XENSTORE_STATUS
EFIAPI
XenBusXenStoreTransactionStart (
IN XENBUS_PROTOCOL *This,
OUT XENSTORE_TRANSACTION *Transaction
);
XENSTORE_STATUS
EFIAPI
XenBusXenStoreTransactionEnd (
IN XENBUS_PROTOCOL *This,
IN XENSTORE_TRANSACTION Transaction,
IN BOOLEAN Abort
);
XENSTORE_STATUS
EFIAPI
XenBusXenStoreSPrint (
IN XENBUS_PROTOCOL *This,
IN XENSTORE_TRANSACTION Transaction,
IN CONST CHAR8 *DirectoryPath,
IN CONST CHAR8 *Node,
IN CONST CHAR8 *FormatString,
...
);
XENSTORE_STATUS
EFIAPI
XenBusRegisterWatch (
IN XENBUS_PROTOCOL *This,
IN CONST CHAR8 *Node,
OUT VOID **Token
);
XENSTORE_STATUS
EFIAPI
XenBusRegisterWatchBackend (
IN XENBUS_PROTOCOL *This,
IN CONST CHAR8 *Node,
OUT VOID **Token
);
VOID
EFIAPI
XenBusUnregisterWatch (
IN XENBUS_PROTOCOL *This,
IN VOID *Token
);
#endif /* _XEN_XENSTORE_XENSTOREVAR_H */