xref: /onnv-gate/usr/src/uts/common/sys/tem.h (revision 7688:2757e6e1bb2a)
11253Slq150181 /*
21253Slq150181  * CDDL HEADER START
31253Slq150181  *
41253Slq150181  * The contents of this file are subject to the terms of the
51253Slq150181  * Common Development and Distribution License (the "License").
61253Slq150181  * You may not use this file except in compliance with the License.
71253Slq150181  *
81253Slq150181  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
91253Slq150181  * or http://www.opensolaris.org/os/licensing.
101253Slq150181  * See the License for the specific language governing permissions
111253Slq150181  * and limitations under the License.
121253Slq150181  *
131253Slq150181  * When distributing Covered Code, include this CDDL HEADER in each
141253Slq150181  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
151253Slq150181  * If applicable, add the following below this CDDL HEADER, with the
161253Slq150181  * fields enclosed by brackets "[]" replaced with your own identifying
171253Slq150181  * information: Portions Copyright [yyyy] [name of copyright owner]
181253Slq150181  *
191253Slq150181  * CDDL HEADER END
201253Slq150181  */
211253Slq150181 
221253Slq150181 /*
23*7688SAaron.Zang@Sun.COM  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
241253Slq150181  * Use is subject to license terms.
251253Slq150181  */
261253Slq150181 
271253Slq150181 #ifndef	_SYS_TEM_H
281253Slq150181 #define	_SYS_TEM_H
291253Slq150181 
301253Slq150181 #ifdef __cplusplus
311253Slq150181 extern "C" {
321253Slq150181 #endif
331253Slq150181 
341253Slq150181 #ifdef _KERNEL
351253Slq150181 
361253Slq150181 #include <sys/visual_io.h>
371253Slq150181 #include <sys/cred.h>
381253Slq150181 #include <sys/beep.h>
391253Slq150181 
401253Slq150181 typedef struct __tem_modechg_cb_arg *tem_modechg_cb_arg_t;
411253Slq150181 typedef void (*tem_modechg_cb_t) (tem_modechg_cb_arg_t arg);
421253Slq150181 
43*7688SAaron.Zang@Sun.COM typedef	struct __tem_vt_state *tem_vt_state_t;
44*7688SAaron.Zang@Sun.COM 
45*7688SAaron.Zang@Sun.COM int	tem_initialized(tem_vt_state_t);
46*7688SAaron.Zang@Sun.COM 
47*7688SAaron.Zang@Sun.COM tem_vt_state_t tem_init(cred_t *);
48*7688SAaron.Zang@Sun.COM 
49*7688SAaron.Zang@Sun.COM void	tem_destroy(tem_vt_state_t, cred_t *);
50*7688SAaron.Zang@Sun.COM 
51*7688SAaron.Zang@Sun.COM int	tem_info_init(char *, cred_t *);
52*7688SAaron.Zang@Sun.COM 
53*7688SAaron.Zang@Sun.COM void	tem_write(tem_vt_state_t, uchar_t *, ssize_t, cred_t *);
541253Slq150181 
55*7688SAaron.Zang@Sun.COM void	tem_safe_polled_write(tem_vt_state_t, unsigned char *, int);
56*7688SAaron.Zang@Sun.COM 
57*7688SAaron.Zang@Sun.COM void	tem_get_size(ushort_t *, ushort_t *, ushort_t *, ushort_t *);
58*7688SAaron.Zang@Sun.COM 
59*7688SAaron.Zang@Sun.COM void	tem_register_modechg_cb(tem_modechg_cb_t, tem_modechg_cb_arg_t);
60*7688SAaron.Zang@Sun.COM 
61*7688SAaron.Zang@Sun.COM void	tem_activate(tem_vt_state_t, boolean_t, cred_t *);
62*7688SAaron.Zang@Sun.COM 
63*7688SAaron.Zang@Sun.COM void	tem_switch(tem_vt_state_t, tem_vt_state_t, cred_t *);
64*7688SAaron.Zang@Sun.COM 
65*7688SAaron.Zang@Sun.COM uchar_t	tem_get_fbmode(tem_vt_state_t);
66*7688SAaron.Zang@Sun.COM 
67*7688SAaron.Zang@Sun.COM void	tem_set_fbmode(tem_vt_state_t, uchar_t, cred_t *);
681253Slq150181 
691253Slq150181 #endif /* _KERNEL */
701253Slq150181 
711253Slq150181 #ifdef __cplusplus
721253Slq150181 }
731253Slq150181 #endif
741253Slq150181 
751253Slq150181 #endif /* _SYS_TEM_H */
76