xref: /dragonfly/lib/libc/tre-regex/cname.h (revision 9348a738)
1 /*-
2  * Copyright (c) 1992, 1993, 1994 Henry Spencer.
3  * Copyright (c) 1992, 1993, 1994
4  *	The Regents of the University of California.  All rights reserved.
5  *
6  * This code is derived from software contributed to Berkeley by
7  * Henry Spencer.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  * 1. Redistributions of source code must retain the above copyright
13  *    notice, this list of conditions and the following disclaimer.
14  * 2. Redistributions in binary form must reproduce the above copyright
15  *    notice, this list of conditions and the following disclaimer in the
16  *    documentation and/or other materials provided with the distribution.
17  * 3. Neither the name of the University nor the names of its contributors
18  *    may be used to endorse or promote products derived from this software
19  *    without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31  * SUCH DAMAGE.
32  *
33  *	@(#)cname.h	8.3 (Berkeley) 3/20/94
34  * $FreeBSD: src/lib/libc/regex/cname.h,v 1.4 2007/01/09 00:28:04 imp Exp $
35  */
36 
37 /* character-name table */
38 static const struct cname {
39 	const wchar_t *name;
40 	wchar_t code;
41 } cnames[] = {
42 	{L"",				(wchar_t)-1}, /* sentinel */
43 	{L"ACK",			L'\006'},
44 	{L"BEL",			L'\007'},
45 	{L"BS",				L'\010'},
46 	{L"CAN",			L'\030'},
47 	{L"CR",				L'\015'},
48 	{L"DC1",			L'\021'},
49 	{L"DC2",			L'\022'},
50 	{L"DC3",			L'\023'},
51 	{L"DC4",			L'\024'},
52 	{L"DEL",			L'\177'},
53 	{L"DLE",			L'\020'},
54 	{L"EM",				L'\031'},
55 	{L"ENQ",			L'\005'},
56 	{L"EOT",			L'\004'},
57 	{L"ESC",			L'\033'},
58 	{L"ETB",			L'\027'},
59 	{L"ETX",			L'\003'},
60 	{L"FF",				L'\014'},
61 	{L"FS",				L'\034'},
62 	{L"GS",				L'\035'},
63 	{L"HT",				L'\011'},
64 	{L"IS1",			L'\037'},
65 	{L"IS2",			L'\036'},
66 	{L"IS3",			L'\035'},
67 	{L"IS4",			L'\034'},
68 	{L"LF",				L'\012'},
69 	{L"NAK",			L'\025'},
70 	{L"NUL",			L'\0'},
71 	{L"RS",				L'\036'},
72 	{L"SI",				L'\017'},
73 	{L"SO",				L'\016'},
74 	{L"SOH",			L'\001'},
75 	{L"STX",			L'\002'},
76 	{L"SUB",			L'\032'},
77 	{L"SYN",			L'\026'},
78 	{L"US",				L'\037'},
79 	{L"VT",				L'\013'},
80 	{L"alert",			L'\007'},
81 	{L"ampersand",			L'&'},
82 	{L"apostrophe",			L'\''},
83 	{L"asterisk",			L'*'},
84 	{L"backslash",			L'\\'},
85 	{L"backspace",			L'\b'},
86 	{L"carriage-return",		L'\r'},
87 	{L"circumflex",			L'^'},
88 	{L"circumflex-accent",		L'^'},
89 	{L"colon",			L':'},
90 	{L"comma",			L','},
91 	{L"commercial-at",		L'@'},
92 	{L"dollar-sign",		L'$'},
93 	{L"eight",			L'8'},
94 	{L"equals-sign",		L'='},
95 	{L"exclamation-mark",		L'!'},
96 	{L"five",			L'5'},
97 	{L"form-feed",			L'\f'},
98 	{L"four",			L'4'},
99 	{L"full-stop",			L'.'},
100 	{L"grave-accent",		L'`'},
101 	{L"greater-than-sign",		L'>'},
102 	{L"hyphen",			L'-'},
103 	{L"hyphen-minus",		L'-'},
104 	{L"left-brace",			L'{'},
105 	{L"left-curly-bracket",		L'{'},
106 	{L"left-parenthesis",		L'('},
107 	{L"left-square-bracket",	L'['},
108 	{L"less-than-sign",		L'<'},
109 	{L"low-line",			L'_'},
110 	{L"newline",			L'\n'},
111 	{L"nine",			L'9'},
112 	{L"number-sign",		L'#'},
113 	{L"one",			L'1'},
114 	{L"percent-sign",		L'%'},
115 	{L"period",			L'.'},
116 	{L"plus-sign",			L'+'},
117 	{L"question-mark",		L'?'},
118 	{L"quotation-mark",		L'"'},
119 	{L"reverse-solidus",		L'\\'},
120 	{L"right-brace",		L'}'},
121 	{L"right-curly-bracket",	L'}'},
122 	{L"right-parenthesis",		L')'},
123 	{L"right-square-bracket",	L']'},
124 	{L"semicolon",			L';'},
125 	{L"seven",      		L'7'},
126 	{L"six",			L'6'},
127 	{L"slash",			L'/'},
128 	{L"solidus",			L'/'},
129 	{L"space",			L' '},
130 	{L"tab",			L'\t'},
131 	{L"three",			L'3'},
132 	{L"tilde",			L'~'},
133 	{L"two",			L'2'},
134 	{L"underscore",			L'_'},
135 	{L"vertical-line",		L'|'},
136 	{L"vertical-tab",		L'\v'},
137 	{L"zero",			L'0'},
138 };
139 
140 #define NCNAMES		(sizeof(cnames) / sizeof(*cnames))
141