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