TianoCore EDK2 master
|
#include "HiiInternal.h"
Go to the source code of this file.
The implementation of HII expression.
Copyright (c) 2019, Intel Corporation. All rights reserved.
(C) Copyright 2021 Hewlett Packard Enterprise Development LP
Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file HiiExpression.c.
EXPRESS_RESULT EvaluateExpressionList | ( | IN HII_EXPRESSION_LIST * | ExpList, |
IN BOOLEAN | Evaluate, | ||
IN HII_FORMSET *FormSet | OPTIONAL, | ||
IN HII_FORM *Form | OPTIONAL | ||
) |
Return the result of the expression list. Check the expression list and return the highest priority express result. Priority: DisableIf > SuppressIf > GrayOutIf > FALSE
[in] | ExpList | The input expression list. |
[in] | Evaluate | Whether need to evaluate the expression first. |
[in] | FormSet | FormSet associated with this expression. |
[in] | Form | Form associated with this expression. |
EXPRESS_RESULT | Return the higher priority express result. DisableIf > SuppressIf > GrayOutIf > FALSE |
Definition at line 1380 of file HiiExpression.c.
Get the expression list count.
Level | Which type this expression belong to. Form, statement or option? |
>=0 | The expression count |
-1 | Input parameter error. |
Definition at line 432 of file HiiExpression.c.
HII_EXPRESSION ** GetConditionalExpressionList | ( | IN EXPRESS_LEVEL | Level | ) |
Get the expression Buffer pointer.
Level | Which type this expression belong to. Form, statement or option? |
The | start pointer of the expression buffer or NULL. |
Definition at line 459 of file HiiExpression.c.
EFI_STATUS GetHiiExpressionDependency | ( | IN OUT HII_EXPRESSION * | Expression | ) |
Retrieve dependencies within an expression. These dependencies can express how this expression will be evaluated.
[in,out] | Expression | Expression to retrieve dependencies. |
EFI_SUCCESS | The dependencies were successfully retrieved. |
EFI_OUT_OF_RESOURCES | There is not enough system memory. |
Definition at line 882 of file HiiExpression.c.
EFI_STATUS GrowConditionalStack | ( | IN OUT HII_EXPRESSION *** | Stack, |
IN OUT HII_EXPRESSION *** | StackPtr, | ||
IN OUT HII_EXPRESSION *** | StackEnd, | ||
IN UINTN | MemberSize | ||
) |
Grow size of the stack.
This is an internal function.
Stack | On input: old stack; On output: new stack |
StackPtr | On input: old stack pointer; On output: new stack pointer |
StackEnd | On input: old stack end; On output: new stack end |
MemberSize | The stack member size. |
EFI_SUCCESS | Grow stack success. |
EFI_OUT_OF_RESOURCES | No enough memory for stack space. |
Definition at line 298 of file HiiExpression.c.
EFI_STATUS GrowDependencyStack | ( | IN OUT HII_DEPENDENCY_EXPRESSION *** | Stack, |
IN OUT HII_DEPENDENCY_EXPRESSION *** | StackPtr, | ||
IN OUT HII_DEPENDENCY_EXPRESSION *** | StackEnd | ||
) |
Grow size of the stack for Expression Dependencies.
This is an internal function.
Stack | On input: old stack; On output: new stack |
StackPtr | On input: old stack pointer; On output: new stack pointer |
StackEnd | On input: old stack end; On output: new stack end |
EFI_SUCCESS | Grow Dependency stack success. |
EFI_OUT_OF_RESOURCES | No enough memory for stack space. |
Definition at line 705 of file HiiExpression.c.
EFI_STATUS GrowStack | ( | IN OUT EFI_HII_VALUE ** | Stack, |
IN OUT EFI_HII_VALUE ** | StackPtr, | ||
IN OUT EFI_HII_VALUE ** | StackEnd | ||
) |
Grow size of the stack.
This is an internal function.
Stack | On input: old stack; On output: new stack |
StackPtr | On input: old stack pointer; On output: new stack pointer |
StackEnd | On input: old stack end; On output: new stack end |
EFI_SUCCESS | Grow stack success. |
EFI_OUT_OF_RESOURCES | No enough memory for stack space. |
Definition at line 71 of file HiiExpression.c.
EFI_STATUS PopConditionalExpression | ( | IN EXPRESS_LEVEL | Level | ) |
Pop the expression options from the Stack
Level | Which type this expression belong to. Form, statement or option? |
EFI_SUCCESS | The value was pushed onto the stack. |
EFI_OUT_OF_RESOURCES | There is not enough system memory to grow the stack. |
Definition at line 532 of file HiiExpression.c.
EFI_STATUS PopConditionalStack | ( | IN HII_EXPRESSION ** | Stack, |
IN OUT HII_EXPRESSION *** | StackPtr, | ||
OUT HII_EXPRESSION ** | Data | ||
) |
Pop an element from the stack.
Stack | On input: old stack |
StackPtr | On input: old stack pointer; On output: new stack pointer |
Data | Data to pop. |
EFI_SUCCESS | The value was popped onto the stack. |
EFI_ACCESS_DENIED | The pop operation underflowed the stack |
Definition at line 400 of file HiiExpression.c.
EFI_STATUS PopCurrentExpression | ( | OUT VOID ** | Pointer | ) |
Pop current expression from the Stack
Pointer | Pointer to current expression to be pop. |
EFI_SUCCESS | The value was pushed onto the stack. |
EFI_OUT_OF_RESOURCES | There is not enough system memory to grow the stack. |
Definition at line 252 of file HiiExpression.c.
EFI_STATUS PopDependencyExpDes | ( | OUT HII_DEPENDENCY_EXPRESSION ** | Pointer | ) |
Pop the list of Expression Dependencies from the Stack
Pointer | Pointer to the list of map expression to be pop. |
EFI_SUCCESS | The value was pushed onto the stack. |
EFI_OUT_OF_RESOURCES | There is not enough system memory to grow the stack. |
Definition at line 860 of file HiiExpression.c.
EFI_STATUS PopDependencyStack | ( | IN HII_DEPENDENCY_EXPRESSION ** | Stack, |
IN OUT HII_DEPENDENCY_EXPRESSION *** | StackPtr, | ||
OUT HII_DEPENDENCY_EXPRESSION ** | Data | ||
) |
Pop the Expression Dependency options from the Stack
Stack | On input: old stack; On output: new stack |
StackPtr | On input: old stack pointer; On output: new stack pointer |
Data | Data to push. |
EFI_SUCCESS | The value was pushed onto the stack. |
EFI_OUT_OF_RESOURCES | There is not enough system memory to grow the stack. |
Definition at line 807 of file HiiExpression.c.
EFI_STATUS PopMapExpressionList | ( | OUT VOID ** | Pointer | ) |
Pop the list of map expression from the Stack
Pointer | Pointer to the list of map expression to be pop. |
EFI_SUCCESS | The value was pushed onto the stack. |
EFI_OUT_OF_RESOURCES | There is not enough system memory to grow the stack. |
Definition at line 603 of file HiiExpression.c.
EFI_STATUS PopScope | ( | OUT UINT8 * | Operand | ) |
Pop an Operand from the Stack
Operand | Operand to pop. |
EFI_SUCCESS | The value was pushed onto the stack. |
EFI_OUT_OF_RESOURCES | There is not enough system memory to grow the stack. |
Definition at line 672 of file HiiExpression.c.
EFI_STATUS PopStack | ( | IN EFI_HII_VALUE * | Stack, |
IN OUT EFI_HII_VALUE ** | StackPtr, | ||
OUT EFI_HII_VALUE * | Data | ||
) |
Pop an element from the stack.
Stack | On input: old stack |
StackPtr | On input: old stack pointer; On output: new stack pointer |
Data | Data to pop. |
EFI_SUCCESS | The value was popped onto the stack. |
EFI_ACCESS_DENIED | The pop operation underflowed the stack |
Definition at line 179 of file HiiExpression.c.
EFI_STATUS PushConditionalExpression | ( | IN HII_EXPRESSION * | Pointer, |
IN EXPRESS_LEVEL | Level | ||
) |
Push the expression options onto the Stack.
Pointer | Pointer to the current expression. |
Level | Which type this expression belong to. Form, statement or option? |
EFI_SUCCESS | The value was pushed onto the stack. |
EFI_OUT_OF_RESOURCES | There is not enough system memory to grow the stack. |
Definition at line 488 of file HiiExpression.c.
EFI_STATUS PushConditionalStack | ( | IN OUT HII_EXPRESSION *** | Stack, |
IN OUT HII_EXPRESSION *** | StackPtr, | ||
IN OUT HII_EXPRESSION *** | StackEnd, | ||
IN HII_EXPRESSION ** | Data | ||
) |
Push an element onto the Stack.
Stack | On input: old stack; On output: new stack |
StackPtr | On input: old stack pointer; On output: new stack pointer |
StackEnd | On input: old stack end; On output: new stack end |
Data | Data to push. |
EFI_SUCCESS | Push stack success. |
Definition at line 357 of file HiiExpression.c.
EFI_STATUS PushCurrentExpression | ( | IN VOID * | Pointer | ) |
Push current expression onto the Stack
Pointer | Pointer to current expression. |
EFI_SUCCESS | The value was pushed onto the stack. |
EFI_OUT_OF_RESOURCES | There is not enough system memory to grow the stack. |
Definition at line 225 of file HiiExpression.c.
EFI_STATUS PushDependencyExpDes | ( | IN HII_DEPENDENCY_EXPRESSION ** | Pointer | ) |
Push the list of Expression Dependencies onto the Stack
Pointer | Pointer to the list of map expression to be pushed. |
EFI_SUCCESS | The value was pushed onto the stack. |
EFI_OUT_OF_RESOURCES | There is not enough system memory to grow the stack. |
Definition at line 838 of file HiiExpression.c.
EFI_STATUS PushDependencyStack | ( | IN OUT HII_DEPENDENCY_EXPRESSION *** | Stack, |
IN OUT HII_DEPENDENCY_EXPRESSION *** | StackPtr, | ||
IN OUT HII_DEPENDENCY_EXPRESSION *** | StackEnd, | ||
IN HII_DEPENDENCY_EXPRESSION ** | Data | ||
) |
Push an element onto the Stack for Expression Dependencies.
Stack | On input: old stack; On output: new stack |
StackPtr | On input: old stack pointer; On output: new stack pointer |
StackEnd | On input: old stack end; On output: new stack end |
Data | Data to push. |
EFI_SUCCESS | Push stack success. |
Definition at line 763 of file HiiExpression.c.
EFI_STATUS PushMapExpressionList | ( | IN VOID * | Pointer | ) |
Push the list of map expression onto the Stack
Pointer | Pointer to the list of map expression to be pushed. |
EFI_SUCCESS | The value was pushed onto the stack. |
EFI_OUT_OF_RESOURCES | There is not enough system memory to grow the stack. |
Definition at line 576 of file HiiExpression.c.
EFI_STATUS PushScope | ( | IN UINT8 | Operand | ) |
Push an Operand onto the Stack
Operand | Operand to push. |
EFI_SUCCESS | The value was pushed onto the stack. |
EFI_OUT_OF_RESOURCES | There is not enough system memory to grow the stack. |
Definition at line 644 of file HiiExpression.c.
EFI_STATUS PushStack | ( | IN OUT EFI_HII_VALUE ** | Stack, |
IN OUT EFI_HII_VALUE ** | StackPtr, | ||
IN OUT EFI_HII_VALUE ** | StackEnd, | ||
IN EFI_HII_VALUE * | Data | ||
) |
Push an element onto the Boolean Stack.
Stack | On input: old stack; On output: new stack |
StackPtr | On input: old stack pointer; On output: new stack pointer |
StackEnd | On input: old stack end; On output: new stack end |
Data | Data to push. |
EFI_SUCCESS | Push stack success. |
Definition at line 129 of file HiiExpression.c.
VOID ResetCurrentExpressionStack | ( | VOID | ) |
Reset stack pointer to begin of the stack.
Definition at line 205 of file HiiExpression.c.
VOID ResetMapExpressionListStack | ( | VOID | ) |
Reset stack pointer to begin of the stack.
Definition at line 275 of file HiiExpression.c.
VOID ResetScopeStack | ( | VOID | ) |
Reset stack pointer to begin of the stack.
Definition at line 626 of file HiiExpression.c.
EFI_HII_VALUE* mCurrentExpressionEnd = NULL |
Definition at line 39 of file HiiExpression.c.
EFI_HII_VALUE* mCurrentExpressionPointer = NULL |
Definition at line 40 of file HiiExpression.c.
EFI_HII_VALUE* mCurrentExpressionStack = NULL |
Definition at line 38 of file HiiExpression.c.
HII_DEPENDENCY_EXPRESSION** mExpressionDependencyEnd = NULL |
Definition at line 53 of file HiiExpression.c.
HII_DEPENDENCY_EXPRESSION** mExpressionDependencyPointer = NULL |
Definition at line 54 of file HiiExpression.c.
HII_DEPENDENCY_EXPRESSION** mExpressionDependencyStack = NULL |
Definition at line 52 of file HiiExpression.c.
HII_EXPRESSION** mFormExpressionEnd = NULL |
Definition at line 24 of file HiiExpression.c.
HII_EXPRESSION** mFormExpressionPointer = NULL |
Definition at line 25 of file HiiExpression.c.
HII_EXPRESSION** mFormExpressionStack = NULL |
Definition at line 23 of file HiiExpression.c.
EFI_HII_VALUE* mMapExpressionListEnd = NULL |
Definition at line 46 of file HiiExpression.c.
EFI_HII_VALUE* mMapExpressionListPointer = NULL |
Definition at line 47 of file HiiExpression.c.
EFI_HII_VALUE* mMapExpressionListStack = NULL |
Definition at line 45 of file HiiExpression.c.
EFI_HII_VALUE* mOpCodeScopeStack = NULL |
Definition at line 16 of file HiiExpression.c.
EFI_HII_VALUE* mOpCodeScopeStackEnd = NULL |
Definition at line 17 of file HiiExpression.c.
EFI_HII_VALUE* mOpCodeScopeStackPointer = NULL |
Definition at line 18 of file HiiExpression.c.
HII_EXPRESSION** mOptionExpressionEnd = NULL |
Definition at line 32 of file HiiExpression.c.
HII_EXPRESSION** mOptionExpressionPointer = NULL |
Definition at line 33 of file HiiExpression.c.
HII_EXPRESSION** mOptionExpressionStack = NULL |
Definition at line 31 of file HiiExpression.c.
HII_EXPRESSION** mStatementExpressionEnd = NULL |
Definition at line 28 of file HiiExpression.c.
HII_EXPRESSION** mStatementExpressionPointer = NULL |
Definition at line 29 of file HiiExpression.c.
HII_EXPRESSION** mStatementExpressionStack = NULL |
Definition at line 27 of file HiiExpression.c.