mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-12-01 12:53:27 +01:00
192 lines
4.5 KiB
C
192 lines
4.5 KiB
C
|
/** @file
|
||
|
Definitions of Hii Expression.
|
||
|
|
||
|
Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
|
||
|
(C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
|
||
|
Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||
|
|
||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||
|
|
||
|
**/
|
||
|
|
||
|
#ifndef HII_EXPRESSION_H_
|
||
|
#define HII_EXPRESSION_H_
|
||
|
|
||
|
#include <Library/HiiUtilityLib.h>
|
||
|
|
||
|
/**
|
||
|
Get the expression list count.
|
||
|
|
||
|
@param[in] Level Which type this expression belong to. Form,
|
||
|
statement or option?
|
||
|
|
||
|
@retval >=0 The expression count
|
||
|
@retval -1 Input parameter error.
|
||
|
|
||
|
**/
|
||
|
INTN
|
||
|
GetConditionalExpressionCount (
|
||
|
IN EXPRESS_LEVEL Level
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Get the expression Buffer pointer.
|
||
|
|
||
|
@param[in] Level Which type this expression belong to. Form,
|
||
|
statement or option?
|
||
|
|
||
|
@retval The start pointer of the expression buffer or NULL.
|
||
|
|
||
|
**/
|
||
|
HII_EXPRESSION **
|
||
|
GetConditionalExpressionList (
|
||
|
IN EXPRESS_LEVEL Level
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Push the expression options onto the Stack.
|
||
|
|
||
|
@param[in] Pointer Pointer to the current expression.
|
||
|
@param[in] Level Which type this expression belong to. Form,
|
||
|
statement or option?
|
||
|
|
||
|
@retval EFI_SUCCESS The value was pushed onto the stack.
|
||
|
@retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
PushConditionalExpression (
|
||
|
IN HII_EXPRESSION *Pointer,
|
||
|
IN EXPRESS_LEVEL Level
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Pop the expression options from the Stack
|
||
|
|
||
|
@param[in] Level Which type this expression belong to. Form,
|
||
|
statement or option?
|
||
|
|
||
|
@retval EFI_SUCCESS The value was pushed onto the stack.
|
||
|
@retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
PopConditionalExpression (
|
||
|
IN EXPRESS_LEVEL Level
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Reset stack pointer to begin of the stack.
|
||
|
|
||
|
**/
|
||
|
VOID
|
||
|
ResetCurrentExpressionStack (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Push current expression onto the Stack
|
||
|
|
||
|
@param[in] Pointer Pointer to current expression.
|
||
|
|
||
|
@retval EFI_SUCCESS The value was pushed onto the stack.
|
||
|
@retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
PushCurrentExpression (
|
||
|
IN VOID *Pointer
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Pop current expression from the Stack
|
||
|
|
||
|
@param[in] Pointer Pointer to current expression to be pop.
|
||
|
|
||
|
@retval EFI_SUCCESS The value was pushed onto the stack.
|
||
|
@retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
PopCurrentExpression (
|
||
|
OUT VOID **Pointer
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Reset stack pointer to begin of the stack.
|
||
|
|
||
|
**/
|
||
|
VOID
|
||
|
ResetMapExpressionListStack (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Push the list of map expression onto the Stack
|
||
|
|
||
|
@param[in] Pointer Pointer to the list of map expression to be pushed.
|
||
|
|
||
|
@retval EFI_SUCCESS The value was pushed onto the stack.
|
||
|
@retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
PushMapExpressionList (
|
||
|
IN VOID *Pointer
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Pop the list of map expression from the Stack
|
||
|
|
||
|
@param[in] Pointer Pointer to the list of map expression to be pop.
|
||
|
|
||
|
@retval EFI_SUCCESS The value was pushed onto the stack.
|
||
|
@retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
PopMapExpressionList (
|
||
|
OUT VOID **Pointer
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Reset stack pointer to begin of the stack.
|
||
|
|
||
|
**/
|
||
|
VOID
|
||
|
ResetScopeStack (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Push an Operand onto the Stack
|
||
|
|
||
|
@param[in] Operand Operand to push.
|
||
|
|
||
|
@retval EFI_SUCCESS The value was pushed onto the stack.
|
||
|
@retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the
|
||
|
stack.
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
PushScope (
|
||
|
IN UINT8 Operand
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
Pop an Operand from the Stack
|
||
|
|
||
|
@param[out] Operand Operand to pop.
|
||
|
|
||
|
@retval EFI_SUCCESS The value was pushed onto the stack.
|
||
|
@retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the
|
||
|
stack.
|
||
|
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
PopScope (
|
||
|
OUT UINT8 *Operand
|
||
|
);
|
||
|
|
||
|
#endif
|