1 /* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
2  * Use of this source code is governed by a BSD-style license that can be
3  * found in the LICENSE file.
4  *
5  * Display functions used in kernel selection.
6  */
7 
8 #ifndef VBOOT_REFERENCE_VBOOT_DISPLAY_H_
9 #define VBOOT_REFERENCE_VBOOT_DISPLAY_H_
10 
11 #include "bmpblk_font.h"
12 #include "vboot_api.h"
13 #include "vboot_nvstorage.h"
14 
15 VbError_t VbDisplayScreenFromGBB(VbCommonParams *cparams, uint32_t screen,
16                                  VbNvContext *vncptr);
17 VbError_t VbDisplayScreen(VbCommonParams *cparams, uint32_t screen, int force,
18                           VbNvContext *vncptr);
19 VbError_t VbDisplayDebugInfo(VbCommonParams *cparams, VbNvContext *vncptr);
20 VbError_t VbCheckDisplayKey(VbCommonParams *cparams, uint32_t key,
21                             VbNvContext *vncptr);
22 
23 /* Internal functions, for unit testing */
24 
25 typedef FontArrayHeader VbFont_t;
26 
27 VbFont_t *VbInternalizeFontData(FontArrayHeader *fonthdr);
28 
29 void VbDoneWithFontForNow(VbFont_t *ptr);
30 
31 ImageInfo *VbFindFontGlyph(VbFont_t *font, uint32_t ascii,
32 			   void **bufferptr, uint32_t *buffersize);
33 
34 /**
35  * Try to display the specified text at a particular position.
36  */
37 void VbRenderTextAtPos(const char *text, int right_to_left,
38 		       uint32_t x, uint32_t y, VbFont_t *font);
39 
40 /**
41  * Return a description of the recovery reason code.
42  */
43 const char *RecoveryReasonString(uint8_t code);
44 
45 /**
46  * Get the number of localizations in the GBB bitmap data.
47  */
48 VbError_t VbGetLocalizationCount(VbCommonParams *cparams, uint32_t *count);
49 
50 #endif /* VBOOT_REFERENCE_VBOOT_DISPLAY_H_ */
51 
52