+++ /dev/null
-/** @file\r
-Private structure, MACRO and function definitions for User Interface related functionalities.\r
-\r
-Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-**/\r
-\r
-#ifndef _EXPRESSION_H_\r
-#define _EXPRESSION_H_\r
-\r
-/**\r
- Get the expression list count.\r
- \r
- @param Level Which type this expression belong to. Form, \r
- statement or option?\r
-\r
- @retval >=0 The expression count\r
- @retval -1 Input parameter error.\r
-\r
-**/\r
-INTN \r
-GetConditionalExpressionCount (\r
- IN EXPRESS_LEVEL Level\r
- );\r
-\r
-/**\r
- Reset stack pointer to begin of the stack.\r
-\r
-**/\r
-VOID\r
-ResetCurrentExpressionStack (\r
- VOID\r
- );\r
-\r
-/**\r
- Reset stack pointer to begin of the stack.\r
-\r
-**/\r
-VOID\r
-ResetMapExpressionListStack (\r
- VOID\r
- );\r
-\r
-/**\r
- Reset stack pointer to begin of the stack.\r
-\r
-**/\r
-VOID\r
-ResetScopeStack (\r
- VOID\r
- );\r
-\r
-/**\r
- Push an Operand onto the Stack\r
-\r
- @param Operand Operand to push.\r
-\r
- @retval EFI_SUCCESS The value was pushed onto the stack.\r
- @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the\r
- stack.\r
-\r
-**/\r
-EFI_STATUS\r
-PushScope (\r
- IN UINT8 Operand\r
- );\r
-\r
-/**\r
- Get the expression Buffer pointer.\r
- \r
- @param Level Which type this expression belong to. Form, \r
- statement or option?\r
-\r
- @retval The start pointer of the expression buffer or NULL.\r
-\r
-**/\r
-FORM_EXPRESSION **\r
-GetConditionalExpressionList (\r
- IN EXPRESS_LEVEL Level\r
- );\r
-\r
-/**\r
- Pop an Operand from the Stack\r
-\r
- @param Operand Operand to pop.\r
-\r
- @retval EFI_SUCCESS The value was pushed onto the stack.\r
- @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the\r
- stack.\r
-\r
-**/\r
-EFI_STATUS\r
-PopScope (\r
- OUT UINT8 *Operand\r
- );\r
-\r
-/**\r
- Push the list of map expression onto the Stack\r
-\r
- @param Pointer Pointer to the list of map expression to be pushed.\r
-\r
- @retval EFI_SUCCESS The value was pushed onto the stack.\r
- @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.\r
-\r
-**/\r
-EFI_STATUS\r
-PushMapExpressionList (\r
- IN VOID *Pointer\r
- );\r
-\r
-/**\r
- Push current expression onto the Stack\r
-\r
- @param Pointer Pointer to current expression.\r
-\r
- @retval EFI_SUCCESS The value was pushed onto the stack.\r
- @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.\r
-\r
-**/\r
-EFI_STATUS\r
-PushCurrentExpression (\r
- IN VOID *Pointer\r
- );\r
-\r
-/**\r
- Zero extend integer/boolean/date/time to UINT64 for comparing.\r
-\r
- @param Value HII Value to be converted.\r
-\r
-**/\r
-VOID\r
-ExtendValueToU64 (\r
- IN EFI_HII_VALUE *Value\r
- );\r
-\r
-/**\r
- Push the expression options onto the Stack.\r
-\r
- @param Pointer Pointer to the current expression.\r
- @param Level Which type this expression belong to. Form, \r
- statement or option?\r
-\r
- @retval EFI_SUCCESS The value was pushed onto the stack.\r
- @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.\r
-\r
-**/\r
-EFI_STATUS\r
-PushConditionalExpression (\r
- IN FORM_EXPRESSION *Pointer,\r
- IN EXPRESS_LEVEL Level\r
- );\r
-\r
-/**\r
- Pop the expression options from the Stack\r
-\r
- @param Level Which type this expression belong to. Form, \r
- statement or option?\r
-\r
- @retval EFI_SUCCESS The value was pushed onto the stack.\r
- @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.\r
-\r
-**/\r
-EFI_STATUS\r
-PopConditionalExpression (\r
- IN EXPRESS_LEVEL Level\r
- );\r
-\r
-/**\r
- Pop the list of map expression from the Stack\r
-\r
- @param Pointer Pointer to the list of map expression to be pop.\r
-\r
- @retval EFI_SUCCESS The value was pushed onto the stack.\r
- @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.\r
-\r
-**/\r
-EFI_STATUS\r
-PopMapExpressionList (\r
- OUT VOID **Pointer\r
- );\r
-\r
-/**\r
- Pop current expression from the Stack\r
-\r
- @param Pointer Pointer to current expression to be pop.\r
-\r
- @retval EFI_SUCCESS The value was pushed onto the stack.\r
- @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the stack.\r
-\r
-**/\r
-EFI_STATUS\r
-PopCurrentExpression (\r
- OUT VOID **Pointer\r
- );\r
-\r
-/**\r
- Evaluate the result of a HII expression.\r
-\r
- If Expression is NULL, then ASSERT.\r
-\r
- @param FormSet FormSet associated with this expression.\r
- @param Form Form associated with this expression.\r
- @param Expression Expression to be evaluated.\r
-\r
- @retval EFI_SUCCESS The expression evaluated successfuly\r
- @retval EFI_NOT_FOUND The Question which referenced by a QuestionId\r
- could not be found.\r
- @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the\r
- stack.\r
- @retval EFI_ACCESS_DENIED The pop operation underflowed the stack\r
- @retval EFI_INVALID_PARAMETER Syntax error with the Expression\r
-\r
-**/\r
-EFI_STATUS\r
-EvaluateExpression (\r
- IN FORM_BROWSER_FORMSET *FormSet,\r
- IN FORM_BROWSER_FORM *Form,\r
- IN OUT FORM_EXPRESSION *Expression\r
- );\r
-/**\r
- Return the result of the expression list. Check the expression list and \r
- return the highest priority express result. \r
- Priority: DisableIf > SuppressIf > GrayOutIf > FALSE\r
-\r
- @param ExpList The input expression list.\r
- @param Evaluate Whether need to evaluate the expression first.\r
- @param FormSet FormSet associated with this expression.\r
- @param Form Form associated with this expression. \r
-\r
- @retval EXPRESS_RESULT Return the higher priority express result. \r
- DisableIf > SuppressIf > GrayOutIf > FALSE\r
-\r
-**/\r
-EXPRESS_RESULT \r
-EvaluateExpressionList (\r
- IN FORM_EXPRESSION_LIST *ExpList,\r
- IN BOOLEAN Evaluate,\r
- IN FORM_BROWSER_FORMSET *FormSet, OPTIONAL\r
- IN FORM_BROWSER_FORM *Form OPTIONAL\r
- );\r
-\r
-/**\r
- Get Form given its FormId.\r
-\r
- @param FormSet The formset which contains this form.\r
- @param FormId Id of this form.\r
-\r
- @retval Pointer The form.\r
- @retval NULL Specified Form is not found in the formset.\r
-\r
-**/\r
-FORM_BROWSER_FORM *\r
-IdToForm (\r
- IN FORM_BROWSER_FORMSET *FormSet,\r
- IN UINT16 FormId\r
- );\r
-\r
-#endif // _EXPRESSION_H\r