| /** @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 |