Intel Extensible Firmware Interface User Manual
Page 680

Extensible Firmware Interface Specification
15-74
12/01/02
Version 1.10
//*******************************************************
// EFI_BIS_VERSION predefined values
//
Use these values to initialize EFI_BIS_VERSION.Major
//
and to interpret results of Initialize.
//*******************************************************
#define BIS_CURRENT_VERSION_MAJOR
BIS_VERSION_1
#define BIS_VERSION_1
1
These C preprocessor macros supply values for the major version number of an
EFI_BIS_VERSION
. At the time of initialization, a caller supplies a value to request a BIS
interface version. On return, the (IN OUT) parameter is over-written with the actual version of the
interface.
//*******************************************************
// EFI_BIS_DATA
//
// EFI_BIS_DATA instances obtained from BIS must be freed by
// calling Free().
//*******************************************************
typedef struct _EFI_BIS_DATA {
UINT32
Length;
UINT8
*Data;
} EFI_BIS_DATA;
Length
The length of the data buffer in bytes.
Data
A pointer to the raw data buffer.
This type defines a structure that describes a buffer. BIS uses this type to pass back and forth most
large objects such as digital certificates, strings, etc.. Several of the BIS functions allocate a
EFI_BIS_DATA*
and return it as an “out” parameter. The caller must eventually free any
allocated
EFI_BIS_DATA*
using the
function.
Description
This function must be the first BIS function invoked by an application. It passes back a
value that must be used in subsequent BIS functions. The handle
must be eventually destroyed by a call to the
function, thus ending that handle’s
lifetime. After the handle is destroyed, BIS functions may no longer be called with that handle
value. Thus all other BIS functions may only be called between a pair of
and
Shutdown()
functions.
There is no penalty for calling
Initialize()
multiple times. Each call passes back a distinct
handle value. Each distinct handle must be destroyed by a distinct call to
Shutdown()
. T he
lifetimes of handles created and destroyed with these functions may be overlapped in any way.