xref: /openbsd-src/bin/csh/char.c (revision 9abb453fef52149f4b7fb9f2eab78f7ae735f4dc)
1*9abb453fSnaddy /*	$OpenBSD: char.c,v 1.6 2015/10/26 16:27:04 naddy Exp $	*/
2df930be7Sderaadt /*	$NetBSD: char.c,v 1.6 1995/03/21 09:02:26 cgd Exp $	*/
3df930be7Sderaadt 
4df930be7Sderaadt /*-
5df930be7Sderaadt  * Copyright (c) 1980, 1991, 1993
6df930be7Sderaadt  *	The Regents of the University of California.  All rights reserved.
7df930be7Sderaadt  *
8df930be7Sderaadt  * Redistribution and use in source and binary forms, with or without
9df930be7Sderaadt  * modification, are permitted provided that the following conditions
10df930be7Sderaadt  * are met:
11df930be7Sderaadt  * 1. Redistributions of source code must retain the above copyright
12df930be7Sderaadt  *    notice, this list of conditions and the following disclaimer.
13df930be7Sderaadt  * 2. Redistributions in binary form must reproduce the above copyright
14df930be7Sderaadt  *    notice, this list of conditions and the following disclaimer in the
15df930be7Sderaadt  *    documentation and/or other materials provided with the distribution.
1629295d1cSmillert  * 3. Neither the name of the University nor the names of its contributors
17df930be7Sderaadt  *    may be used to endorse or promote products derived from this software
18df930be7Sderaadt  *    without specific prior written permission.
19df930be7Sderaadt  *
20df930be7Sderaadt  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21df930be7Sderaadt  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22df930be7Sderaadt  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23df930be7Sderaadt  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24df930be7Sderaadt  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25df930be7Sderaadt  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26df930be7Sderaadt  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27df930be7Sderaadt  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28df930be7Sderaadt  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29df930be7Sderaadt  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30df930be7Sderaadt  * SUCH DAMAGE.
31df930be7Sderaadt  */
32df930be7Sderaadt 
33df930be7Sderaadt #include "char.h"
34df930be7Sderaadt 
35df930be7Sderaadt unsigned short _cmap[256] = {
36df930be7Sderaadt /*	nul		soh		stx		etx	*/
37df930be7Sderaadt 	_CTR,		_CTR,		_CTR,		_CTR,
38df930be7Sderaadt 
39df930be7Sderaadt /*	eot		enq		ack		bel	*/
40df930be7Sderaadt 	_CTR,		_CTR,		_CTR,		_CTR,
41df930be7Sderaadt 
42df930be7Sderaadt /*	bs		ht		nl		vt	*/
43df930be7Sderaadt 	_CTR,		_CTR|_SP|_META,	_CTR|_NL|_META,	_CTR,
44df930be7Sderaadt 
45df930be7Sderaadt /*	np		cr		so		si	*/
46df930be7Sderaadt 	_CTR,		_CTR,		_CTR,		_CTR,
47df930be7Sderaadt 
48df930be7Sderaadt /*	dle		dc1		dc2		dc3	*/
49df930be7Sderaadt 	_CTR,		_CTR,		_CTR,		_CTR,
50df930be7Sderaadt 
51df930be7Sderaadt /*	dc4		nak		syn		etb	*/
52df930be7Sderaadt 	_CTR,		_CTR,		_CTR,		_CTR,
53df930be7Sderaadt 
54df930be7Sderaadt /*	can		em		sub		esc	*/
55df930be7Sderaadt 	_CTR,		_CTR,		_CTR,		_CTR,
56df930be7Sderaadt 
57df930be7Sderaadt /*	fs		gs		rs		us	*/
58df930be7Sderaadt 	_CTR,		_CTR,		_CTR,		_CTR,
59df930be7Sderaadt 
60df930be7Sderaadt /*	sp		!		"		#	*/
61df930be7Sderaadt 	_SP|_META,	0,		_QF,		_META,
62df930be7Sderaadt 
63df930be7Sderaadt /*	$		%		&		'	*/
64df930be7Sderaadt 	_DOL,		0,		_META|_CMD,	_QF,
65df930be7Sderaadt 
66df930be7Sderaadt /*	(		)		*		+	*/
67df930be7Sderaadt 	_META|_CMD,	_META,		_GLOB,		0,
68df930be7Sderaadt 
69df930be7Sderaadt /*	,		-		.		/	*/
70df930be7Sderaadt 	0,		0,		0,		0,
71df930be7Sderaadt 
72df930be7Sderaadt /*	0		1		2		3	*/
73df930be7Sderaadt 	_DIG|_XD,	_DIG|_XD,	_DIG|_XD,	_DIG|_XD,
74df930be7Sderaadt 
75df930be7Sderaadt /*	4		5		6		7	*/
76df930be7Sderaadt 	_DIG|_XD,	_DIG|_XD,	_DIG|_XD,	_DIG|_XD,
77df930be7Sderaadt 
78df930be7Sderaadt /*	8		9		:		;	*/
79df930be7Sderaadt 	_DIG|_XD,	_DIG|_XD,	0,		_META|_CMD,
80df930be7Sderaadt 
81df930be7Sderaadt /*	<		=		>		?	*/
82df930be7Sderaadt 	_META,		0,		_META,		_GLOB,
83df930be7Sderaadt 
84df930be7Sderaadt /*	@		A		B		C	*/
85df930be7Sderaadt 	0,		_LET|_UP|_XD,	_LET|_UP|_XD,	_LET|_UP|_XD,
86df930be7Sderaadt 
87df930be7Sderaadt /*	D		E		F		G	*/
88df930be7Sderaadt 	_LET|_UP|_XD,	_LET|_UP|_XD,	_LET|_UP|_XD,	_LET|_UP,
89df930be7Sderaadt 
90df930be7Sderaadt /*	H		I		J		K	*/
91df930be7Sderaadt 	_LET|_UP,	_LET|_UP,	_LET|_UP,	_LET|_UP,
92df930be7Sderaadt 
93df930be7Sderaadt /*	L		M		N		O	*/
94df930be7Sderaadt 	_LET|_UP,	_LET|_UP,	_LET|_UP,	_LET|_UP,
95df930be7Sderaadt 
96df930be7Sderaadt /*	P		Q		R		S	*/
97df930be7Sderaadt 	_LET|_UP,	_LET|_UP,	_LET|_UP,	_LET|_UP,
98df930be7Sderaadt 
99df930be7Sderaadt /*	T		U		V		W	*/
100df930be7Sderaadt 	_LET|_UP,	_LET|_UP,	_LET|_UP,	_LET|_UP,
101df930be7Sderaadt 
102df930be7Sderaadt /*	X		Y		Z		[	*/
103df930be7Sderaadt 	_LET|_UP,	_LET|_UP,	_LET|_UP,	_GLOB,
104df930be7Sderaadt 
105df930be7Sderaadt /*	\		]		^		_	*/
106df930be7Sderaadt 	_ESC,		0,		0,		0,
107df930be7Sderaadt 
108df930be7Sderaadt /*	`		a		b		c	*/
109df930be7Sderaadt   _QB|_GLOB|_META,	_LET|_LOW|_XD,	_LET|_LOW|_XD,	_LET|_LOW|_XD,
110df930be7Sderaadt 
111df930be7Sderaadt /*	d		e		f		g	*/
112df930be7Sderaadt 	_LET|_LOW|_XD,	_LET|_LOW|_XD,	_LET|_LOW|_XD,	_LET|_LOW,
113df930be7Sderaadt 
114df930be7Sderaadt /*	h		i		j		k	*/
115df930be7Sderaadt 	_LET|_LOW,	_LET|_LOW,	_LET|_LOW,	_LET|_LOW,
116df930be7Sderaadt 
117df930be7Sderaadt /*	l		m		n		o	*/
118df930be7Sderaadt 	_LET|_LOW,	_LET|_LOW,	_LET|_LOW,	_LET|_LOW,
119df930be7Sderaadt 
120df930be7Sderaadt /*	p		q		r		s	*/
121df930be7Sderaadt 	_LET|_LOW,	_LET|_LOW,	_LET|_LOW,	_LET|_LOW,
122df930be7Sderaadt 
123df930be7Sderaadt /*	t		u		v		w	*/
124df930be7Sderaadt 	_LET|_LOW,	_LET|_LOW,	_LET|_LOW,	_LET|_LOW,
125df930be7Sderaadt 
126df930be7Sderaadt /*	x		y		z		{	*/
127df930be7Sderaadt 	_LET|_LOW,	_LET|_LOW,	_LET|_LOW,	_GLOB,
128df930be7Sderaadt 
129df930be7Sderaadt /*	|		}		~		del	*/
130df930be7Sderaadt 	_META|_CMD,	0,		0,		_CTR,
131df930be7Sderaadt 
132df930be7Sderaadt /****************************************************************/
133*9abb453fSnaddy /* 128 - 255							*/
134df930be7Sderaadt /****************************************************************/
135*9abb453fSnaddy /*	(undef)		...					*/
136*9abb453fSnaddy 	0,
137df930be7Sderaadt };
138