1 /*
2  * This file and its contents are supplied under the terms of the
3  * Common Development and Distribution License ("CDDL"), version 1.0.
4  * You may only use this file in accordance with the terms of version
5  * 1.0 of the CDDL.
6  *
7  * A full copy of the text of the CDDL should have accompanied this
8  * source.  A copy of the CDDL is also available via the Internet at
9  * http://www.illumos.org/license/CDDL.
10  */
11 
12 /*
13  * Copyright 2016 Toomas Soome <tsome@me.com>
14  */
15 
16 #ifndef _BOOT_CONSOLE_IMPL_H
17 #define	_BOOT_CONSOLE_IMPL_H
18 
19 #include <sys/types.h>
20 #include <sys/bootinfo.h>
21 
22 /*
23  * Boot console implementation details.
24  */
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 /* Console device callbacks. */
31 typedef struct bcons_dev {
32 	void (*bd_putchar)(int);
33 	void (*bd_eraseline)(void);
34 	void (*bd_cursor)(boolean_t);
35 	void (*bd_setpos)(int, int);
36 	void (*bd_shift)(int);
37 } bcons_dev_t;
38 
39 extern boolean_t xbi_fb_init(struct xboot_info *, bcons_dev_t *);
40 extern void boot_fb_init(int);
41 extern void boot_vga_init(bcons_dev_t *);
42 extern void boot_get_color(uint32_t *, uint32_t *);
43 
44 #ifdef __cplusplus
45 }
46 #endif
47 
48 #endif /* _BOOT_CONSOLE_IMPL_H */
49