summaryrefslogtreecommitdiff
path: root/OvmfPkg/XenBusDxe/XenStore.h
diff options
context:
space:
mode:
Diffstat (limited to 'OvmfPkg/XenBusDxe/XenStore.h')
-rw-r--r--OvmfPkg/XenBusDxe/XenStore.h379
1 files changed, 0 insertions, 379 deletions
diff --git a/OvmfPkg/XenBusDxe/XenStore.h b/OvmfPkg/XenBusDxe/XenStore.h
deleted file mode 100644
index de5690119e..0000000000
--- a/OvmfPkg/XenBusDxe/XenStore.h
+++ /dev/null
@@ -1,379 +0,0 @@
-/** @file
- Method declarations and structures for accessing the XenStore
-
- Copyright (C) 2005 Rusty Russell, IBM Corporation
- Copyright (C) 2005 XenSource Ltd.
- Copyright (C) 2009,2010 Spectra Logic Corporation
- Copyright (C) 2014, Citrix Ltd.
-
- This file may be distributed separately from the Linux kernel, or
- incorporated into other software packages, subject to the following license:
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this source file (the "Software"), to deal in the Software without
- restriction, including without limitation the rights to use, copy, modify,
- merge, publish, distribute, sublicense, and/or sell copies of the Software,
- and to permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- IN THE SOFTWARE.
-**/
-
-#ifndef _XEN_XENSTORE_XENSTOREVAR_H
-#define _XEN_XENSTORE_XENSTOREVAR_H
-
-#include "XenBusDxe.h"
-
-#include <IndustryStandard/Xen/io/xs_wire.h>
-
-typedef struct _XENSTORE_WATCH XENSTORE_WATCH;
-
-/**
- Fetch the contents of a directory in the XenStore.
-
- @param Transaction The XenStore transaction covering this request.
- @param DirectoryPath The dirname of the path to read.
- @param Node The basename of the path to read.
- @param DirectoryCountPtr The returned number of directory entries.
- @param DirectoryListPtr An array of directory entry strings.
-
- @return On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value
- indicating the type of failure.
-
- @note The results buffer is alloced and should be free'd by the
- caller.
-**/
-XENSTORE_STATUS
-XenStoreListDirectory (
- IN CONST XENSTORE_TRANSACTION *Transaction,
- IN CONST CHAR8 *DirectoryPath,
- IN CONST CHAR8 *Node,
- OUT UINT32 *DirectoryCountPtr,
- OUT CONST CHAR8 ***DirectoryListPtr
- );
-
-/**
- Determine if a path exists in the XenStore.
-
- @param Transaction The XenStore transaction covering this request.
- @param Directory The dirname of the path to read.
- @param Node The basename of the path to read.
-
- @retval TRUE The path exists.
- @retval FALSE The path does not exist or an error occurred attempting
- to make that determination.
-**/
-BOOLEAN
-XenStorePathExists (
- IN CONST XENSTORE_TRANSACTION *Transaction,
- IN CONST CHAR8 *Directory,
- IN CONST CHAR8 *Node
- );
-
-/**
- Get the contents of a single "file". Returns the contents in *Result which
- should be freed after use. The length of the value in bytes is returned in
- *LenPtr.
-
- @param Transaction The XenStore transaction covering this request.
- @param DirectoryPath The dirname of the file to read.
- @param Node The basename of the file to read.
- @param LenPtr The amount of data read.
- @param Result The returned contents from this file.
-
- @return On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value
- indicating the type of failure.
-
- @note The results buffer is malloced and should be free'd by the
- caller.
-**/
-XENSTORE_STATUS
-XenStoreRead (
- IN CONST XENSTORE_TRANSACTION *Transaction,
- IN CONST CHAR8 *DirectoryPath,
- IN CONST CHAR8 *Node,
- OUT UINT32 *LenPtr OPTIONAL,
- OUT VOID **Result
- );
-
-/**
- Write to a single file.
-
- @param Transaction The XenStore transaction covering this request.
- @param DirectoryPath The dirname of the file to write.
- @param Node The basename of the file to write.
- @param Str The NUL terminated string of data to write.
-
- @return On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value
- indicating the type of failure.
-**/
-XENSTORE_STATUS
-XenStoreWrite (
- IN CONST XENSTORE_TRANSACTION *Transaction,
- IN CONST CHAR8 *DirectoryPath,
- IN CONST CHAR8 *Node,
- IN CONST CHAR8 *Str
- );
-
-/**
- Remove a file or directory (directories must be empty).
-
- @param Transaction The XenStore transaction covering this request.
- @param DirectoryPath The dirname of the directory to remove.
- @param Node The basename of the directory to remove.
-
- @return On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value
- indicating the type of failure.
-**/
-XENSTORE_STATUS
-XenStoreRemove (
- IN CONST XENSTORE_TRANSACTION *Transaction,
- IN CONST CHAR8 *DirectoryPath,
- IN CONST CHAR8 *Node
- );
-
-/**
- Start a transaction.
-
- Changes by others will not be seen during the lifetime of this
- transaction, and changes will not be visible to others until it
- is committed (XenStoreTransactionEnd).
-
- @param Transaction The returned transaction.
-
- @return On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value
- indicating the type of failure.
-**/
-XENSTORE_STATUS
-XenStoreTransactionStart (
- OUT XENSTORE_TRANSACTION *Transaction
- );
-
-/**
- End a transaction.
-
- @param Transaction The transaction to end/commit.
- @param Abort If TRUE, the transaction is discarded
- instead of committed.
-
- @return On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value
- indicating the type of failure.
-**/
-XENSTORE_STATUS
-XenStoreTransactionEnd (
- IN CONST XENSTORE_TRANSACTION *Transaction,
- IN BOOLEAN Abort
- );
-
-/**
- Printf formatted write to a XenStore file.
-
- @param Transaction The XenStore transaction covering this request.
- @param DirectoryPath The dirname of the path to read.
- @param Node The basename of the path to read.
- @param FormatString AsciiSPrint format string followed by a variable number
- of arguments.
-
- @return On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value
- indicating the type of write failure.
-**/
-XENSTORE_STATUS
-EFIAPI
-XenStoreSPrint (
- IN CONST XENSTORE_TRANSACTION *Transaction,
- IN CONST CHAR8 *DirectoryPath,
- IN CONST CHAR8 *Node,
- IN CONST CHAR8 *FormatString,
- ...
- );
-
-/**
- VA_LIST version of XenStoreSPrint().
-
- @param Transaction The XenStore transaction covering this request.
- @param DirectoryPath The dirname of the path to read.
- @param Node The basename of the path to read.
- @param FormatString Printf format string.
- @param Marker VA_LIST of printf arguments.
-
- @return On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value
- indicating the type of write failure.
-**/
-XENSTORE_STATUS
-XenStoreVSPrint (
- IN CONST XENSTORE_TRANSACTION *Transaction,
- IN CONST CHAR8 *DirectoryPath,
- IN CONST CHAR8 *Node,
- IN CONST CHAR8 *FormatString,
- IN VA_LIST Marker
- );
-
-/**
- Register a XenStore watch.
-
- XenStore watches allow a client to be notified via a callback (embedded
- within the watch object) of changes to an object in the XenStore.
-
- @param DirectoryPath The dirname of the path to watch.
- @param Node The basename of the path to watch.
- @param WatchPtr A returned XENSTORE_WATCH pointer.
-
- @return On success, XENSTORE_STATUS_SUCCESS. Otherwise an errno value
- indicating the type of write failure. EEXIST errors from the
- XenStore are supressed, allowing multiple, physically different,
- xenbus_watch objects, to watch the same path in the XenStore.
-**/
-XENSTORE_STATUS
-XenStoreRegisterWatch (
- IN CONST CHAR8 *DirectoryPath,
- IN CONST CHAR8 *Node,
- OUT XENSTORE_WATCH **WatchPtr
- );
-
-/**
- Unregister a XenStore watch.
-
- @param Watch An XENSTORE_WATCH object previously returned by a successful
- call to XenStoreRegisterWatch ().
-**/
-VOID
-XenStoreUnregisterWatch (
- IN XENSTORE_WATCH *Watch
- );
-
-/**
- Allocate and return the XenStore path string <DirectoryPath>/<Node>. If name
- is the NUL string, the returned value contains the path string
- <DirectoryPath>.
-
- @param DirectoryPath The NUL terminated directory prefix for new path.
- @param Node The NUL terminated basename for the new path.
-
- @return A buffer containing the joined path.
- */
-CHAR8 *
-XenStoreJoin (
- IN CONST CHAR8 *DirectoryPath,
- IN CONST CHAR8 *Node
- );
-
-
-/**
- Initialize the XenStore states and rings.
-
- @param Dev A pointer to a XENBUS_DEVICE instance.
-
- @return EFI_SUCCESS if everything went smoothly.
-**/
-EFI_STATUS
-XenStoreInit (
- XENBUS_DEVICE *Dev
- );
-
-/**
- Deinitialize the XenStore states and rings.
-
- @param Dev A pointer to a XENBUS_DEVICE instance.
-**/
-VOID
-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 CONST XENSTORE_TRANSACTION *Transaction,
- IN CONST CHAR8 *Node,
- OUT VOID **Value
- );
-
-XENSTORE_STATUS
-EFIAPI
-XenBusXenStoreBackendRead (
- IN XENBUS_PROTOCOL *This,
- IN CONST XENSTORE_TRANSACTION *Transaction,
- IN CONST CHAR8 *Node,
- OUT VOID **Value
- );
-
-XENSTORE_STATUS
-EFIAPI
-XenBusXenStoreRemove (
- IN XENBUS_PROTOCOL *This,
- IN CONST 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 CONST XENSTORE_TRANSACTION *Transaction,
- IN BOOLEAN Abort
- );
-
-XENSTORE_STATUS
-EFIAPI
-XenBusXenStoreSPrint (
- IN XENBUS_PROTOCOL *This,
- IN CONST 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 */