]>
Commit | Line | Data |
---|---|---|
2ef2b01e | 1 | /** @file |
7ca9e5a4 | 2 | Include file for basic command line parser for EBL (Embedded Boot Loader) |
2ef2b01e | 3 | |
60274cca HT |
4 | Copyright (c) 2007, Intel Corporation. All rights reserved.<BR> |
5 | Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> | |
2ef2b01e | 6 | |
60274cca | 7 | This program and the accompanying materials |
2ef2b01e A |
8 | are licensed and made available under the terms and conditions of the BSD License |
9 | which accompanies this distribution. The full text of the license may be found at | |
10 | http://opensource.org/licenses/bsd-license.php | |
11 | ||
12 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
13 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
14 | ||
15 | **/ | |
16 | ||
17 | #ifndef __EBL_ADD_EXTERNAL_COMMAND_LIB_H__ | |
18 | #define __EBL_ADD_EXTERNAL_COMMAND_LIB_H__ | |
19 | ||
20 | #include <PiDxe.h> | |
21 | #include <Protocol/EblAddCommand.h> | |
22 | ||
23 | ||
24 | EFI_STATUS | |
25 | EFIAPI | |
26 | EblAddExternalCommands ( | |
27 | IN const EBL_COMMAND_TABLE *EntryArray, | |
28 | IN UINTN ArrayCount | |
29 | ); | |
30 | ||
31 | /** | |
32 | ||
33 | Return a keypress or optionally timeout if a timeout value was passed in. | |
34 | ||
7ca9e5a4 | 35 | An optional callback function is called every second when waiting for a |
2ef2b01e A |
36 | |
37 | timeout. | |
38 | ||
39 | ||
40 | ||
41 | @param Key EFI Key information returned | |
42 | ||
43 | @param TimeoutInSec Number of seconds to wait to timeout | |
44 | ||
45 | @param CallBack Callback called every second during the timeout wait | |
46 | ||
47 | ||
48 | ||
49 | @return EFI_SUCCESS Key was returned | |
50 | ||
51 | @return EFI_TIMEOUT If the TimoutInSec expired | |
52 | ||
53 | ||
54 | ||
55 | **/ | |
56 | ||
57 | EFI_STATUS | |
58 | ||
59 | EFIAPI | |
60 | ||
61 | EblGetCharKey ( | |
62 | ||
63 | IN OUT EFI_INPUT_KEY *Key, | |
64 | ||
65 | IN UINTN TimeoutInSec, | |
66 | ||
67 | IN EBL_GET_CHAR_CALL_BACK CallBack OPTIONAL | |
68 | ||
69 | ); | |
70 | ||
71 | ||
72 | ||
73 | ||
74 | ||
75 | /** | |
76 | ||
77 | This routine is used prevent command output data from scrolling off the end | |
78 | ||
79 | of the screen. The global gPageBreak is used to turn on or off this feature. | |
80 | ||
81 | If the CurrentRow is near the end of the screen pause and print out a prompt | |
82 | ||
83 | If the use hits Q to quit return TRUE else for any other key return FALSE. | |
84 | ||
85 | PrefixNewline is used to figure out if a newline is needed before the prompt | |
86 | ||
87 | string. This depends on the last print done before calling this function. | |
88 | ||
89 | CurrentRow is updated by one on a call or set back to zero if a prompt is | |
90 | ||
91 | needed. | |
92 | ||
93 | ||
94 | ||
95 | @param CurrentRow Used to figure out if its the end of the page and updated | |
96 | ||
97 | @param PrefixNewline Did previous print issue a newline | |
98 | ||
99 | ||
100 | ||
101 | @return TRUE if Q was hit to quit, FALSE in all other cases. | |
102 | ||
103 | ||
104 | ||
105 | **/ | |
106 | ||
107 | BOOLEAN | |
108 | ||
109 | EFIAPI | |
110 | ||
111 | EblAnyKeyToContinueQtoQuit ( | |
112 | ||
113 | IN UINTN *CurrentRow, | |
114 | ||
115 | IN BOOLEAN PrefixNewline | |
116 | ||
117 | ); | |
118 | ||
119 | ||
120 | ||
121 | #endif | |
122 |