]>
Commit | Line | Data |
---|---|---|
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 | |
26a76fbc | 5 | Copyright (c) 2008 - 2010, Intel Corporation\r |
59336178 | 6 | All rights reserved. This program and the accompanying materials\r |
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 |
23 | VOID\r | |
24 | ResetScopeStack (\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 | |
38 | EFI_STATUS\r | |
39 | PushScope (\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 | |
54 | EFI_STATUS\r | |
55 | PopScope (\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 | |
67 | VOID\r | |
68 | ExtendValueToU64 (\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 | |
85 | INTN\r | |
86 | CompareHiiValue (\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 |