1 /*
   2  * CDDL HEADER START
   3  *
   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License (the "License").
   6  * You may not use this file except in compliance with the License.
   7  *
   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright (c) 2012 Gary Mills
  23  * Copyright 2020 Joyent, Inc.
  24  *
  25  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  26  * Use is subject to license terms.
  27  */
  28 
  29 /*
  30  * This file is shared between dboot and the kernel.
  31  */
  32 
  33 #ifndef _BOOT_CONSOLE_H
  34 #define _BOOT_CONSOLE_H
  35 
  36 #ifdef __cplusplus
  37 extern "C" {
  38 #endif
  39 
  40 #include <sys/bootinfo.h>
  41 
  42 #define CONS_INVALID            -1
  43 #define CONS_SCREEN_TEXT        0
  44 #define CONS_TTY                1
  45 #define CONS_XXX                2       /* Unused */
  46 #define CONS_USBSER             3
  47 #define CONS_HYPERVISOR         4
  48 #define CONS_SCREEN_GRAPHICS    5
  49 #define CONS_FRAMEBUFFER        6
  50 
  51 #define CONS_MIN        CONS_SCREEN_TEXT
  52 #define CONS_MAX        CONS_FRAMEBUFFER
  53 
  54 #define CONS_COLOR      7
  55 
  56 extern void kb_init(void);
  57 extern int kb_getchar(void);
  58 extern int kb_ischar(void);
  59 
  60 /* Read property from command line or environment. */
  61 extern const char *find_boot_prop(const char *);
  62 
  63 extern int boot_console_type(int *);
  64 
  65 extern void bcons_init(struct xboot_info *);
  66 extern void bcons_putchar(int);
  67 extern int bcons_getchar(void);
  68 extern int bcons_ischar(void);
  69 extern int bcons_gets(char *, int);
  70 
  71 #if !defined(_BOOT)
  72 extern void bcons_post_bootenvrc(char *, char *, char *);
  73 extern boolean_t bcons_hypervisor_redirect(void);
  74 extern void bcons_device_change(int);
  75 #endif /* !_BOOT */
  76 
  77 #ifdef __cplusplus
  78 }
  79 #endif
  80 
  81 #endif /* _BOOT_CONSOLE_H */