117680Spst/* $OpenBSD: wscons_callbacks.h,v 1.9 2013/10/18 22:06:40 miod Exp $ */ 217680Spst/* $NetBSD: wscons_callbacks.h,v 1.16 2001/11/10 17:14:51 augustss Exp $ */ 317680Spst 417680Spst/* 517680Spst * Copyright (c) 1996, 1997 Christopher G. Demetriou. All rights reserved. 617680Spst * 717680Spst * Redistribution and use in source and binary forms, with or without 817680Spst * modification, are permitted provided that the following conditions 917680Spst * are met: 1017680Spst * 1. Redistributions of source code must retain the above copyright 1117680Spst * notice, this list of conditions and the following disclaimer. 1217680Spst * 2. Redistributions in binary form must reproduce the above copyright 1317680Spst * notice, this list of conditions and the following disclaimer in the 1417680Spst * documentation and/or other materials provided with the distribution. 1517680Spst * 3. All advertising materials mentioning features or use of this software 1617680Spst * must display the following acknowledgement: 1717680Spst * This product includes software developed by Christopher G. Demetriou 1817680Spst * for the NetBSD Project. 1917680Spst * 4. The name of the author may not be used to endorse or promote products 2017680Spst * derived from this software without specific prior written permission 2117680Spst * 2217680Spst * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 2317680Spst * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 2417680Spst * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 2517680Spst * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 2617680Spst * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 2717680Spst * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2817680Spst * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2917680Spst * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 3017680Spst * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 3117680Spst * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3217680Spst */ 3317680Spst 3417680Spststruct wsevsrc; 3517680Spst 3617680Spst/* 3717680Spst * Calls to the display interface from the glue code. 3817680Spst */ 3917680Spstvoid wsdisplay_set_console_kbd(struct wsevsrc *); 4017680Spst 4117680Spst/* 4217680Spst * Calls to the display interface from the keyboard interface. 4317680Spst */ 4417680Spstvoid wsdisplay_kbdinput(struct device *v, kbd_t, keysym_t *, int); 4517680Spstvoid wsdisplay_rawkbdinput(struct device *v, u_char *, int); 4617680Spstint wsdisplay_switch(struct device *, int, int); 4717680Spstenum wsdisplay_resetops { 4817680Spst WSDISPLAY_RESETEMUL, 4917680Spst WSDISPLAY_RESETCLOSE 5017680Spst}; 5117680Spstvoid wsdisplay_reset(struct device *, enum wsdisplay_resetops); 5217680Spstvoid wsdisplay_kbdholdscreen(struct device *v, int); 5317680Spst 5417680Spstvoid wsdisplay_set_cons_kbd(int (*get)(dev_t), 5517680Spst void (*poll)(dev_t, int), 5617680Spst void (*bell)(dev_t, u_int, u_int, u_int)); 5717680Spstvoid wsdisplay_unset_cons_kbd(void); 5817680Spstint wsdisplay_set_kbd(struct device *, struct wsevsrc *); 5917680Spststruct wsdisplay_param; 6017680Spstint wsdisplay_param(struct device*, u_long, struct wsdisplay_param*); 6117680Spst 6217680Spst/* 6317680Spst * Calls to the keyboard interface from the glue code. 6417680Spst */ 6517680Spststruct wsevsrc *wskbd_set_console_display(struct device *, struct wsevsrc *); 6617680Spstint wskbd_set_display(struct device *, struct device *); 6717680Spstint wskbd_pickfree(void); 6817680Spst