]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/UefiIfrParserExpression.h
Add new interface GetVariable2 and GetEfiGlobalVariable2 to return more info. Also...
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / FrameworkHiiOnUefiHiiThunk / UefiIfrParserExpression.h
CommitLineData
59336178 1/** @file\r
2 Internal Function and Macro defintions for IFR Expression evaluation used in Ifr Parsing. This header file should only\r
3 be included by UefiIfrParserExpression.c and UefiIfrParser.c\r
4\r
584d5652
HT
5 Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>\r
6 This program and the accompanying materials\r
59336178 7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13\r
14**/\r
15\r
16#ifndef _HII_THUNK_UEFI_IFR_PARSER_EXPRESSION_\r
17#define _HII_THUNK_UEFI_IFR_PARSER_EXPRESSION_\r
18\r
19/**\r
20 Reset stack pointer to begin of the stack.\r
21\r
59336178 22**/\r
23VOID\r
24ResetScopeStack (\r
25 VOID\r
e00e1d46 26 );\r
59336178 27\r
28/**\r
29 Push an Operand onto the Stack\r
30\r
31 @param Operand Operand to push.\r
32\r
33 @retval EFI_SUCCESS The value was pushed onto the stack.\r
34 @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the\r
35 stack.\r
36\r
37**/\r
38EFI_STATUS\r
39PushScope (\r
40 IN UINT8 Operand\r
e00e1d46 41 );\r
59336178 42\r
43\r
44/**\r
45 Pop an Operand from the Stack\r
46\r
47 @param Operand Operand to pop.\r
48\r
49 @retval EFI_SUCCESS The value was pushed onto the stack.\r
50 @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the\r
51 stack.\r
52\r
53**/\r
54EFI_STATUS\r
55PopScope (\r
56 OUT UINT8 *Operand\r
e00e1d46 57 );\r
59336178 58\r
59/**\r
60 Zero extend integer/boolean/date/time to UINT64 for comparing.\r
61\r
62 @param Value HII Value to be converted.\r
63\r
64 @return None.\r
65\r
66**/\r
67VOID\r
68ExtendValueToU64 (\r
69 IN EFI_HII_VALUE *Value\r
e00e1d46 70 );\r
59336178 71\r
72/**\r
73 Compare two Hii value.\r
74\r
75 @param Value1 Expression value to compare on left-hand\r
76 @param Value2 Expression value to compare on right-hand\r
77 @param HiiHandle Only required for string compare\r
78\r
79 @retval EFI_INVALID_PARAMETER Could not perform comparation on two values\r
80 @retval 0 Two operators equeal\r
81 @retval 0 Value1 is greater than Value2\r
82 @retval 0 Value1 is less than Value2\r
83\r
84**/\r
85INTN\r
86CompareHiiValue (\r
87 IN EFI_HII_VALUE *Value1,\r
88 IN EFI_HII_VALUE *Value2,\r
89 IN EFI_HII_HANDLE HiiHandle OPTIONAL\r
e00e1d46 90 );\r
59336178 91\r
92#endif\r