18e6d016fSToomas Soome /*
28e6d016fSToomas Soome  * This file and its contents are supplied under the terms of the
38e6d016fSToomas Soome  * Common Development and Distribution License ("CDDL"), version 1.0.
48e6d016fSToomas Soome  * You may only use this file in accordance with the terms of version
58e6d016fSToomas Soome  * 1.0 of the CDDL.
68e6d016fSToomas Soome  *
78e6d016fSToomas Soome  * A full copy of the text of the CDDL should have accompanied this
88e6d016fSToomas Soome  * source.  A copy of the CDDL is also available via the Internet at
98e6d016fSToomas Soome  * http://www.illumos.org/license/CDDL.
108e6d016fSToomas Soome  */
118e6d016fSToomas Soome 
128e6d016fSToomas Soome /*
138e6d016fSToomas Soome  * Copyright 2016 Toomas Soome <tsome@me.com>
148e6d016fSToomas Soome  */
158e6d016fSToomas Soome 
168e6d016fSToomas Soome #ifndef _BOOT_CONSOLE_IMPL_H
178e6d016fSToomas Soome #define	_BOOT_CONSOLE_IMPL_H
188e6d016fSToomas Soome 
19*29a77b73SToomas Soome #include <sys/types.h>
20*29a77b73SToomas Soome #include <sys/bootinfo.h>
21*29a77b73SToomas Soome 
228e6d016fSToomas Soome /*
238e6d016fSToomas Soome  * Boot console implementation details.
248e6d016fSToomas Soome  */
258e6d016fSToomas Soome 
268e6d016fSToomas Soome #ifdef __cplusplus
278e6d016fSToomas Soome extern "C" {
288e6d016fSToomas Soome #endif
298e6d016fSToomas Soome 
30*29a77b73SToomas Soome /* Console device callbacks. */
31*29a77b73SToomas Soome typedef struct bcons_dev {
32*29a77b73SToomas Soome 	void (*bd_putchar)(int);
33*29a77b73SToomas Soome 	void (*bd_eraseline)(void);
34*29a77b73SToomas Soome 	void (*bd_cursor)(boolean_t);
35*29a77b73SToomas Soome 	void (*bd_setpos)(int, int);
36*29a77b73SToomas Soome 	void (*bd_shift)(int);
37*29a77b73SToomas Soome } bcons_dev_t;
388e6d016fSToomas Soome 
39*29a77b73SToomas Soome extern boolean_t xbi_fb_init(struct xboot_info *, bcons_dev_t *);
40*29a77b73SToomas Soome extern void boot_fb_init(int);
41*29a77b73SToomas Soome extern void boot_vga_init(bcons_dev_t *);
42*29a77b73SToomas Soome extern void boot_get_color(uint32_t *, uint32_t *);
438e6d016fSToomas Soome 
448e6d016fSToomas Soome #ifdef __cplusplus
458e6d016fSToomas Soome }
468e6d016fSToomas Soome #endif
478e6d016fSToomas Soome 
488e6d016fSToomas Soome #endif /* _BOOT_CONSOLE_IMPL_H */