]>
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 | |
5 | Copyright (c) 2008, Intel Corporation\r | |
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 | |
22 | None.\r | |
23 | \r | |
24 | @return None.\r | |
25 | \r | |
26 | **/\r | |
27 | VOID\r | |
28 | ResetScopeStack (\r | |
29 | VOID\r | |
e00e1d46 | 30 | );\r |
59336178 | 31 | \r |
32 | /**\r | |
33 | Push an Operand onto the Stack\r | |
34 | \r | |
35 | @param Operand Operand to push.\r | |
36 | \r | |
37 | @retval EFI_SUCCESS The value was pushed onto the stack.\r | |
38 | @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the\r | |
39 | stack.\r | |
40 | \r | |
41 | **/\r | |
42 | EFI_STATUS\r | |
43 | PushScope (\r | |
44 | IN UINT8 Operand\r | |
e00e1d46 | 45 | );\r |
59336178 | 46 | \r |
47 | \r | |
48 | /**\r | |
49 | Pop an Operand from the Stack\r | |
50 | \r | |
51 | @param Operand Operand to pop.\r | |
52 | \r | |
53 | @retval EFI_SUCCESS The value was pushed onto the stack.\r | |
54 | @retval EFI_OUT_OF_RESOURCES There is not enough system memory to grow the\r | |
55 | stack.\r | |
56 | \r | |
57 | **/\r | |
58 | EFI_STATUS\r | |
59 | PopScope (\r | |
60 | OUT UINT8 *Operand\r | |
e00e1d46 | 61 | );\r |
59336178 | 62 | \r |
63 | /**\r | |
64 | Zero extend integer/boolean/date/time to UINT64 for comparing.\r | |
65 | \r | |
66 | @param Value HII Value to be converted.\r | |
67 | \r | |
68 | @return None.\r | |
69 | \r | |
70 | **/\r | |
71 | VOID\r | |
72 | ExtendValueToU64 (\r | |
73 | IN EFI_HII_VALUE *Value\r | |
e00e1d46 | 74 | );\r |
59336178 | 75 | \r |
76 | /**\r | |
77 | Compare two Hii value.\r | |
78 | \r | |
79 | @param Value1 Expression value to compare on left-hand\r | |
80 | @param Value2 Expression value to compare on right-hand\r | |
81 | @param HiiHandle Only required for string compare\r | |
82 | \r | |
83 | @retval EFI_INVALID_PARAMETER Could not perform comparation on two values\r | |
84 | @retval 0 Two operators equeal\r | |
85 | @retval 0 Value1 is greater than Value2\r | |
86 | @retval 0 Value1 is less than Value2\r | |
87 | \r | |
88 | **/\r | |
89 | INTN\r | |
90 | CompareHiiValue (\r | |
91 | IN EFI_HII_VALUE *Value1,\r | |
92 | IN EFI_HII_VALUE *Value2,\r | |
93 | IN EFI_HII_HANDLE HiiHandle OPTIONAL\r | |
e00e1d46 | 94 | );\r |
59336178 | 95 | \r |
96 | #endif\r |