xref: /netbsd-src/sys/dev/wscons/wsemul_vt100var.h (revision 265bc2e92c9e564ee9e68306c44638d5e7e4a663)
1*265bc2e9Sdrochner /* $NetBSD: wsemul_vt100var.h,v 1.14 2010/02/10 19:39:39 drochner Exp $ */
268aabb6dSdrochner 
368aabb6dSdrochner /*
468aabb6dSdrochner  * Copyright (c) 1998
568aabb6dSdrochner  *	Matthias Drochner.  All rights reserved.
668aabb6dSdrochner  *
768aabb6dSdrochner  * Redistribution and use in source and binary forms, with or without
868aabb6dSdrochner  * modification, are permitted provided that the following conditions
968aabb6dSdrochner  * are met:
1068aabb6dSdrochner  * 1. Redistributions of source code must retain the above copyright
1168aabb6dSdrochner  *    notice, this list of conditions and the following disclaimer.
1268aabb6dSdrochner  * 2. Redistributions in binary form must reproduce the above copyright
1368aabb6dSdrochner  *    notice, this list of conditions and the following disclaimer in the
1468aabb6dSdrochner  *    documentation and/or other materials provided with the distribution.
1568aabb6dSdrochner  *
1668aabb6dSdrochner  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
1768aabb6dSdrochner  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
1868aabb6dSdrochner  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
1968aabb6dSdrochner  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
2068aabb6dSdrochner  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
2168aabb6dSdrochner  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2268aabb6dSdrochner  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2368aabb6dSdrochner  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2468aabb6dSdrochner  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
2568aabb6dSdrochner  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2668aabb6dSdrochner  *
2768aabb6dSdrochner  */
2868aabb6dSdrochner 
29*265bc2e9Sdrochner #include <dev/wscons/vt100_base.h>
3068aabb6dSdrochner 
3168aabb6dSdrochner struct wsemul_vt100_emuldata {
32*265bc2e9Sdrochner 	struct vt100base_data bd;
3368aabb6dSdrochner 
3468aabb6dSdrochner 	long kernattr;			/* attribute for kernel output */
350545b6e0Schs 	int console;			/* used for DIAGNOSTIC */
3668aabb6dSdrochner 
3768aabb6dSdrochner 	u_int state;			/* processing state */
38bbb4f765Sdrochner 
39bbb4f765Sdrochner 	int chartab0, chartab1;
40bbb4f765Sdrochner 	u_int *chartab_G[4];
41bbb4f765Sdrochner 	u_int *isolatin1tab, *decgraphtab, *dectechtab;
42bbb4f765Sdrochner 	u_int *nrctab;
43bbb4f765Sdrochner 	int sschartab; /* single shift */
4468aabb6dSdrochner 
453a08ae94Sdrochner 	int designating;	/* substate in VT100_EMUL_STATE_SCS* */
4668aabb6dSdrochner 
473a08ae94Sdrochner 	u_int savedcursor_row, savedcursor_col;
4873ac8c70Smycroft 	long savedattr, savedbkgdattr;
49bbb4f765Sdrochner 	int savedattrflags, savedfgcol, savedbgcol;
50bbb4f765Sdrochner 	int savedchartab0, savedchartab1;
51bbb4f765Sdrochner 	u_int *savedchartab_G[4];
5268aabb6dSdrochner };
5368aabb6dSdrochner 
5482e5e6abSaugustss void wsemul_vt100_reset(struct wsemul_vt100_emuldata *);
5568aabb6dSdrochner 
5685e327e2Speter int wsemul_vt100_translate(void *, keysym_t, const char **);
57bbb4f765Sdrochner 
5882e5e6abSaugustss void vt100_initchartables(struct wsemul_vt100_emuldata *);
5982e5e6abSaugustss void vt100_setnrc(struct wsemul_vt100_emuldata *, int);
60