2020-07-13 07:41:31 +02:00
|
|
|
/** @file
|
|
|
|
bhyve firmware configuration access
|
|
|
|
|
|
|
|
Copyright (c) 2020, Rebecca Cran <rebecca@bsdio.com>
|
|
|
|
Copyright (c) 2015 Nahanni Systems
|
|
|
|
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
|
|
|
|
**/
|
|
|
|
|
2020-11-30 06:34:11 +01:00
|
|
|
#ifndef _BHYVE_FW_CTL_LIB_
|
|
|
|
#define _BHYVE_FW_CTL_LIB_
|
2020-07-13 07:41:31 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
Sysctl-like interface to read host information via a dot-separated
|
|
|
|
ASCII OID.
|
|
|
|
|
|
|
|
The information is copied into the buffer specified by Item. The
|
|
|
|
size of the buffer is given by the location specified by Size
|
|
|
|
before the call, and that location gives the amount of data copied
|
|
|
|
after a successfull call, and after a call that returns a truncated
|
|
|
|
value with an error return of RETURN_BUFFER_TOO_SMALL.
|
|
|
|
|
|
|
|
The size of the available data can be determined by passing a NULL
|
|
|
|
argument for Item. The size will be returned in the location pointed
|
|
|
|
to by Size.
|
|
|
|
|
|
|
|
@param[] Name - ASCII OID name
|
|
|
|
@param[] Data - return buffer pointer
|
|
|
|
@param[] Size - pointer to length
|
|
|
|
|
2020-11-30 06:34:11 +01:00
|
|
|
@return RETURN_SUCCESS Valid data/len returned.
|
|
|
|
RETURN_UNSUPPORTED f/w interface not present.
|
|
|
|
RETURN_NOT_FOUND OID not found.
|
|
|
|
RETURN_BUFFER_TOO_SMALL Return message truncated.
|
|
|
|
RETURN_INVALID_PARAMETER Buffer too large.
|
|
|
|
RETURN_PROTOCOL_ERROR Unknown error from host.
|
2020-07-13 07:41:31 +02:00
|
|
|
**/
|
|
|
|
RETURN_STATUS
|
|
|
|
EFIAPI
|
|
|
|
BhyveFwCtlGet (
|
2020-11-30 06:34:11 +01:00
|
|
|
IN CONST CHAR8 *Name,
|
|
|
|
OUT VOID *Item,
|
|
|
|
IN OUT UINTN *Size
|
2020-07-13 07:41:31 +02:00
|
|
|
);
|
|
|
|
|
2020-11-30 06:34:11 +01:00
|
|
|
#endif /* _BHYVE_FW_CTL_LIB_ */
|