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