uefi.base

Based on Base.h file, original notice:

Root include file for Mde Package Base type modules

This is the include file for any module of type base. Base modules only use types defined via this include file and can be ported easily to any environment. There are a set of base libraries in the Mde Package that can be used to implement base modules.

Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Public Imports

uefi.bind
public import uefi.bind;
Undocumented in source.

Members

Aliases

BASE_LIST
alias BASE_LIST = UINTN*

Pointer to the start of a variable argument list stored in a memory buffer. Same as UINT8 *.

PHYSICAL_ADDRESS
alias PHYSICAL_ADDRESS = UINT64

8-bytes unsigned value that represents a physical system address.

RETURN_STATUS
alias RETURN_STATUS = UINTN

Status codes common to all execution phases

VA_LIST
alias VA_LIST = ubyte*

Variable used to traverse the list of arguments. This type can vary by implementation and could be an array or structure.

Enums

BIT0
anonymousenum BIT0
BIT32
anonymousenum BIT32
RETURN_SUCCESS
anonymousenum RETURN_SUCCESS

Return status codes

Functions

ABS
auto ABS(T A)

Return the absolute value of a signed operand.

ALIGN_POINTER
T* ALIGN_POINTER(T* Pointer, INTN Alignment)

Adjust a pointer by adding the minimum offset required for it to be aligned on a specified alignment boundary.

ALIGN_VALUE
auto ALIGN_VALUE(T Value, T Alignment)

Rounds a value up to the next boundary using a specified alignment.

ALIGN_VARIABLE
auto ALIGN_VARIABLE(T Value)

Rounds a value up to the next natural boundary for the current CPU. This is 4-bytes for 32-bit CPUs and 8-bytes for 64-bit CPUs.

MAX
auto MAX(T A, U B)

Return the maximum of two operands.

MIN
auto MIN(T A, U B)

Return the minimum of two operands.

RETURN_ERROR
bool RETURN_ERROR(T StatusCode)

Returns true if a specified RETURN_STATUS code is an error code.

SIGNATURE_16
auto SIGNATURE_16(T A, T B)

Returns a 16-bit signature built from 2 ASCII characters.

SIGNATURE_32
auto SIGNATURE_32(T A, T B, T C, T D)

Returns a 32-bit signature built from 2 ASCII characters.

SIGNATURE_64
auto SIGNATURE_64(T A, T B, T C, T D, T E, T F, T G, T H)

Returns a 64-bit signature built from 8 ASCII characters.

Structs

GUID
struct GUID

128 bit buffer containing a unique identifier value. Unless otherwise specified, aligned on a 64 bit boundary.

LIST_ENTRY
struct LIST_ENTRY

LIST_ENTRY structure definition.

Templates

ENCODE_ERROR
template ENCODE_ERROR(UINTN StatusCode)

Produces a RETURN_STATUS code with the highest bit set.

ENCODE_WARNING
template ENCODE_WARNING(UINTN StatusCode)

Produces a RETURN_STATUS code with the highest bit clear.

bitfields
template bitfields(T...)

Placeholder bitfields implementation, to be fixed

Variables

FALSE
enum BOOLEAN FALSE;

Boolean false value.

TRUE
enum BOOLEAN TRUE;

Boolean true value.

Meta