|
|
1.1 root 1: /*
2: * Copyright (c) 1988 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms are permitted
6: * provided that this notice is preserved and that due credit is given
7: * to the University of California at Berkeley. The name of the University
8: * may not be used to endorse or promote products derived from this
9: * software without specific prior written permission. This software
10: * is provided ``as is'' without express or implied warranty.
11: *
12: * @(#)termcodes.m4 1.2 (Berkeley) 3/28/88
13: */
14:
15: /* the following allows us to generate our TC values. it is a bit painful. */
16:
17: define(TCvalue, 128)
18: define(TCbump, `define(`TCvalue', eval(TCvalue+1))')
19: define(TCdefine, ``#define'')
20: define(TC, `TCdefine define(`TCstring', TC_$1) TCstring TCvalue TCbump `
21: 'InitialAscii("$1", TCstring) InitialAids(ifelse($2,,0,0x$2))')
22: define(Is, `TCdefine TC_$1 TCvalue')
23:
24: #define IsTc(x) (((x)&0xff) >= TC_LOWEST)
25:
26: /* This lists the codes which are output from termin() */
27:
28: typedef char TC_Aids_t;
29:
30: typedef struct {
31: char *tc_name; /* what the name is */
32: char tc_value; /* what the value is */
33: } TC_Ascii_t;
34:
35: typedef struct {
36: char *tc_name; /* what the name is */
37: char tc_value; /* what the value is */
38: char tc_aid; /* what the AID is */
39: } TC_AsciiAids_t;
40:
41: #ifdef DEFINEAIDS
42: #define InitialAids(x) x,
43: #else
44: #define InitialAids(x)
45: #endif /* DEFINEAIDS */
46: #ifdef LETS_SEE_ASCII
47: #define InitialAscii(x, y) x, y,
48: #else
49: #define InitialAscii(x, y)
50: #endif /* LETS_SEE_ASCII */
51:
52: #ifdef LETS_SEE_ASCII
53: #ifdef DEFINEAIDS
54: static TC_AsciiAids_t TC_AsciiAids[] = {
55: #else /* so, no aids */
56: static TC_Ascii_t TC_Ascii[] = {
57: #endif /* DEFINEAIDS */
58: #else
59: #ifdef DEFINEAIDS
60: static TC_Aids_t TC_Aids[] = {
61: #endif /* LETS_SEE_ASCII */
62: #endif
63:
64: Is(LOWEST)
65:
66: /* the following are internal to the parser and generator */
67: /* (and, generally, should not be specified by the user...) */
68: TC(CALL) /* INT: call a state sequence */
69: TC(RETURN) /* INT: return from TC_CALL */
70: TC(GOTO) /* INT: goto next entry */
71: TC(NULL) /* Illegal sequence; bell */
72:
73:
74:
75: Is(LOWEST_USER) /* lowest code settable by user */
76:
77: TC(VERTICAL_BAR)
78: TC(CAPS_LOCK)
79: TC(MAKE_SHIFT)
80: TC(BREAK_SHIFT)
81: TC(DVCNL)
82: TC(MAKE_ALT)
83: TC(BREAK_ALT)
84: TC(SPACE)
85: TC(LEFT2)
86: TC(RIGHT2)
87: TC(MONOCASE)
88: TC(ATTN) /* attention generator */
89: TC(LPRT) /* local print */
90: TC(DP) /* dup character */
91: TC(FM) /* field mark character */
92: TC(CURSEL) /* cursor select */
93: TC(CENTSIGN) /* EBCDIC cent sign */
94: TC(RESHOW) /* redisplay the screen */
95: TC(EINP) /* erase input */
96: TC(EEOF) /* erase end of field */
97: TC(DELETE) /* delete character */
98: TC(INSRT) /* toggle insert mode */
99: TC(TAB) /* field tab */
100: TC(BTAB) /* field back tab */
101: TC(COLTAB) /* column tab */
102: TC(COLBAK) /* column back tab */
103: TC(INDENT) /* indent one tab stop */
104: TC(UNDENT) /* undent one tab stop */
105: TC(NL) /* new line */
106: TC(HOME) /* home the cursor */
107: TC(UP) /* up cursor */
108: TC(DOWN) /* down cursor */
109: TC(RIGHT) /* right cursor */
110: TC(LEFT) /* left cursor */
111: TC(SETTAB) /* set a column tab */
112: TC(DELTAB) /* delete a column tab */
113: TC(SETMRG) /* set left margin */
114: TC(SETHOM) /* set home position */
115: TC(CLRTAB) /* clear all column tabs */
116: TC(APLON) /* apl on */
117: TC(APLOFF) /* apl off */
118: TC(APLEND) /* treat input as ascii */
119: TC(PCON) /* xon/xoff on */
120: TC(PCOFF) /* xon/xoff off */
121: TC(DISC) /* disconnect (suspend) */
122: TC(INIT) /* new terminal type */
123: TC(ALTK) /* alternate keyboard dvorak */
124: TC(FLINP) /* flush input */
125: TC(ERASE) /* erase last character */
126: TC(WERASE) /* erase last word */
127: TC(FERASE) /* erase field */
128: TC(SYNCH) /* user and us are in synch */
129: TC(RESET) /* reset key -unlock keyboard */
130: TC(MASTER_RESET) /* master reset key; flush, reset, repaint */
131: TC(XOFF) /* please hold output */
132: TC(XON) /* please give me output */
133: TC(ESCAPE) /* enter telnet command mode */
134: TC(WORDTAB) /* Go to first character of next word */
135: TC(WORDBACKTAB) /* Go to first character of last word */
136: TC(WORDEND) /* Go to last character of this/next word */
137: TC(FIELDEND) /* Go to last non-blank of this field */
138:
139:
140: Is(LOWEST_AID) /* lowest attn generator */
141:
142: /* the attention generating keys... */
143:
144: TC(PA1, 6c)
145: TC(PA2, 6e)
146: TC(PA3, 6b)
147: TC(CLEAR, 6d)
148: TC(TREQ, f0)
149: TC(ENTER, 7d)
150: TC(SELPEN, 7e) /* Really, only SELPEN with DESIGNATOR = space or null */
151: TC(PFK1, f1)
152: TC(PFK2, f2)
153: TC(PFK3, f3)
154: TC(PFK4, f4)
155: TC(PFK5, f5)
156: TC(PFK6, f6)
157: TC(PFK7, f7)
158: TC(PFK8, f8)
159: TC(PFK9, f9)
160: TC(PFK10, 7a)
161: TC(PFK11, 7b)
162: TC(PFK12, 7c)
163: TC(PFK13, c1)
164: TC(PFK14, c2)
165: TC(PFK15, c3)
166: TC(PFK16, c4)
167: TC(PFK17, c5)
168: TC(PFK18, c6)
169: TC(PFK19, c7)
170: TC(PFK20, c8)
171: TC(PFK21, c9)
172: TC(PFK22, 4a)
173: TC(PFK23, 4b)
174: TC(PFK24, 4c)
175: TC(PFK25, d1)
176: TC(PFK26, d2)
177: TC(PFK27, d3)
178: TC(PFK28, d4)
179: TC(PFK29, d5)
180: TC(PFK30, d6)
181: TC(PFK31, d7)
182: TC(PFK32, d8)
183: TC(PFK33, d9)
184: TC(PFK34, 5a)
185: TC(PFK35, 5b)
186: TC(PFK36, 5c)
187:
188: Is(HIGHEST_AID)-1 /* highest AID value */
189: #define IsAid(x) (((x) >= TC_LOWEST_AID) && ((x) <= TC_HIGHEST_AID))
190:
191: Is(HIGHEST)-1 /* highest TC value */
192:
193: #ifdef LETS_SEE_ASCII
194: };
195: #else
196: #ifdef DEFINEAIDS
197: };
198: #endif
199: #endif
200:
201: #ifdef DEFINEAIDS
202: #ifdef LETS_SEE_ASCII
203: #define TCtoAid(x) TC_AsciiAids[(x)-TC_LOWEST].tc_aid
204: #else
205: #define TCtoAid(x) TC_Aids[x-TC_LOWEST]
206: #endif
207: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.