/** @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 | |
**/ | |
#ifndef _BHYVE_FW_CTL_LIB_ | |
#define _BHYVE_FW_CTL_LIB_ | |
/** | |
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 | |
@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. | |
**/ | |
RETURN_STATUS | |
EFIAPI | |
BhyveFwCtlGet ( | |
IN CONST CHAR8 *Name, | |
OUT VOID *Item, | |
IN OUT UINTN *Size | |
); | |
#endif /* _BHYVE_FW_CTL_LIB_ */ |