Home | History | Annotate | Line # | Download | only in wsconsctl
      1  1.14   mlelstv /*	$NetBSD: wsconsctl.h,v 1.14 2021/12/25 13:54:13 mlelstv Exp $ */
      2   1.1   hannken 
      3   1.1   hannken /*-
      4  1.12   khorben  * Copyright (c) 1998, 2004, 2012 The NetBSD Foundation, Inc.
      5   1.1   hannken  * All rights reserved.
      6   1.1   hannken  *
      7   1.1   hannken  * This code is derived from software contributed to The NetBSD Foundation
      8   1.1   hannken  * by Juergen Hannken-Illjes.
      9   1.1   hannken  *
     10   1.1   hannken  * Redistribution and use in source and binary forms, with or without
     11   1.1   hannken  * modification, are permitted provided that the following conditions
     12   1.1   hannken  * are met:
     13   1.1   hannken  * 1. Redistributions of source code must retain the above copyright
     14   1.1   hannken  *    notice, this list of conditions and the following disclaimer.
     15   1.1   hannken  * 2. Redistributions in binary form must reproduce the above copyright
     16   1.1   hannken  *    notice, this list of conditions and the following disclaimer in the
     17   1.1   hannken  *    documentation and/or other materials provided with the distribution.
     18   1.1   hannken  *
     19   1.1   hannken  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     20   1.1   hannken  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     21   1.1   hannken  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     22   1.1   hannken  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     23   1.1   hannken  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     24   1.1   hannken  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     25   1.1   hannken  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     26   1.1   hannken  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     27   1.1   hannken  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     28   1.1   hannken  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     29   1.1   hannken  * POSSIBILITY OF SUCH DAMAGE.
     30   1.1   hannken  */
     31   1.1   hannken 
     32   1.1   hannken #include <dev/wscons/wsksymvar.h>
     33   1.1   hannken 
     34   1.4      jmmv /* fg / bg values. Made identical to ANSI terminal color codes. */
     35   1.4      jmmv #define WSCOL_UNSUPPORTED	-1
     36   1.4      jmmv #define WSCOL_BLACK		0
     37   1.4      jmmv #define WSCOL_RED		1
     38   1.4      jmmv #define WSCOL_GREEN		2
     39   1.4      jmmv #define WSCOL_BROWN		3
     40   1.4      jmmv #define WSCOL_BLUE		4
     41   1.4      jmmv #define WSCOL_MAGENTA		5
     42   1.4      jmmv #define WSCOL_CYAN		6
     43   1.4      jmmv #define WSCOL_WHITE		7
     44   1.4      jmmv /* flag values: */
     45   1.4      jmmv #define WSATTR_NONE		0
     46   1.4      jmmv #define WSATTR_REVERSE		1
     47   1.4      jmmv #define WSATTR_HILIT		2
     48   1.4      jmmv #define WSATTR_BLINK		4
     49   1.4      jmmv #define WSATTR_UNDERLINE	8
     50   1.4      jmmv #define WSATTR_WSCOLORS 	16
     51   1.4      jmmv 
     52   1.1   hannken struct field {
     53   1.8  christos 	const char *name;
     54   1.1   hannken 	void *valp;
     55   1.1   hannken #define FMT_UINT	1		/* unsigned integer */
     56   1.3   hannken #define FMT_STRING	2		/* zero terminated string */
     57   1.9      jmmv #define FMT_BITFIELD	3		/* bit field */
     58  1.12   khorben #define FMT_INT		4		/* signed integer */
     59   1.1   hannken #define FMT_KBDTYPE	101		/* keyboard type */
     60   1.1   hannken #define FMT_MSTYPE	102		/* mouse type */
     61   1.1   hannken #define FMT_DPYTYPE	103		/* display type */
     62   1.1   hannken #define FMT_KBDENC	104		/* keyboard encoding */
     63   1.1   hannken #define FMT_KBMAP	105		/* keyboard map */
     64   1.4      jmmv #define FMT_COLOR	201		/* display color */
     65   1.4      jmmv #define FMT_ATTRS	202		/* display attributes */
     66  1.14   mlelstv #define FMT_EDID	203		/* edid data */
     67   1.1   hannken 	int format;
     68   1.1   hannken #define FLG_RDONLY	0x0001		/* variable cannot be modified */
     69   1.1   hannken #define FLG_WRONLY	0x0002		/* variable cannot be displayed */
     70   1.1   hannken #define FLG_NOAUTO	0x0004		/* skip variable on -a flag */
     71   1.1   hannken #define FLG_MODIFY	0x0008		/* variable may be modified with += */
     72   1.5      jmmv #define FLG_DISABLED	0x0010		/* variable is not available */
     73   1.1   hannken #define FLG_GET		0x0100		/* read this variable from driver */
     74   1.1   hannken #define FLG_SET		0x0200		/* write this variable to driver */
     75  1.13   mlelstv #define FLG_MODIFIED	0x0400		/* value was merged with += */
     76   1.1   hannken 	int flags;
     77   1.1   hannken };
     78   1.1   hannken 
     79   1.7   xtraeme void field_setup(struct field *, int);
     80   1.7   xtraeme struct field *field_by_name(char *);
     81   1.7   xtraeme struct field *field_by_value(void *);
     82   1.7   xtraeme void field_disable_by_value(void *);
     83   1.8  christos void pr_field(struct field *, const char *);
     84   1.7   xtraeme void rd_field(struct field *, char *, int);
     85   1.7   xtraeme int name2ksym(char *);
     86   1.8  christos const char *ksym2name(int);
     87   1.7   xtraeme keysym_t ksym_upcase(keysym_t);
     88   1.7   xtraeme void keyboard_get_values(int);
     89   1.7   xtraeme void keyboard_put_values(int);
     90   1.7   xtraeme void mouse_get_values(int);
     91   1.7   xtraeme void mouse_put_values(int);
     92   1.7   xtraeme void display_get_values(int);
     93   1.7   xtraeme void display_put_values(int);
     94   1.2  christos #ifndef YYEMPTY
     95   1.7   xtraeme int yyparse(void);
     96   1.2  christos #endif
     97   1.7   xtraeme int yylex(void);
     98   1.7   xtraeme void map_scan_setinput(char *);
     99