Commit | Line | Data |
---|---|---|
15637ed4 RG |
1 | /*- |
2 | * Copyright (c) 1988 The Regents of the University of California. | |
3 | * All rights reserved. | |
4 | * | |
5 | * Redistribution and use in source and binary forms, with or without | |
6 | * modification, are permitted provided that the following conditions | |
7 | * are met: | |
8 | * 1. Redistributions of source code must retain the above copyright | |
9 | * notice, this list of conditions and the following disclaimer. | |
10 | * 2. Redistributions in binary form must reproduce the above copyright | |
11 | * notice, this list of conditions and the following disclaimer in the | |
12 | * documentation and/or other materials provided with the distribution. | |
13 | * 3. All advertising materials mentioning features or use of this software | |
14 | * must display the following acknowledgement: | |
15 | * This product includes software developed by the University of | |
16 | * California, Berkeley and its contributors. | |
17 | * 4. 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 | * @(#)hostctlr.h 4.2 (Berkeley) 4/26/91 | |
34 | */ | |
35 | ||
36 | #define INCLUDED_HOST3270 | |
37 | ||
38 | /* define orders given to 3270's */ | |
39 | ||
40 | #define ORDER_SF 0x1d /* Start Field */ | |
41 | #define ORDER_SFE 0x29 /* Start Field Extended */ | |
42 | #define ORDER_SBA 0x11 /* Set Buffer Address (for output) */ | |
43 | #define ORDER_SA 0x28 /* Set Attribute */ | |
44 | #define ORDER_MF 0x2c /* Modify field */ | |
45 | #define ORDER_IC 0x13 /* Insert Cursor (at buffer address) */ | |
46 | #define ORDER_PT 0x05 /* Program Tab (absurdly complicated) */ | |
47 | #define ORDER_RA 0x3c /* Repeat next character to some addr */ | |
48 | #define ORDER_EUA 0x12 /* Null out every unprotected field | |
49 | * to some address. | |
50 | */ | |
51 | #define ORDER_GE 0x08 /* Graphics Escape */ | |
52 | #define ORDER_YALE 0x2b /* This is a special YALE order, which | |
53 | * introduces YALE extended orders | |
54 | * (like setting tabs, etc.). | |
55 | */ | |
56 | ||
57 | /* The following is defined for initialization and error messages. */ | |
58 | ||
59 | struct orders_def { | |
60 | int | |
61 | code; /* As in 3270 data stream */ | |
62 | char | |
63 | *short_name, /* Short name */ | |
64 | *long_name; /* Long name */ | |
65 | }; | |
66 | ||
67 | #define ORDERS_DEF { \ | |
68 | ORDER_SF, "SF", "Start Field", \ | |
69 | ORDER_SFE, "SFE", "Start Field Extended", \ | |
70 | ORDER_SBA, "SBA", "Set Buffer Address", \ | |
71 | ORDER_SA, "SA", "Set Attribute", \ | |
72 | ORDER_MF, "MF", "Modify Field", \ | |
73 | ORDER_IC, "IC", "Insert Cursor", \ | |
74 | ORDER_PT, "PT", "Program Tab", \ | |
75 | ORDER_RA, "RA", "Repeat to Address", \ | |
76 | ORDER_EUA, "EUA", "Erase Unprotected to Address", \ | |
77 | ORDER_GE, "GE", "Graphics Escape", \ | |
78 | ORDER_YALE, "YALE", "Yale Order" \ | |
79 | } | |
80 | ||
81 | ||
82 | #define ATTR_RESET 0x00 /* SA only - reset to default */ | |
83 | # define ATTR_DEFAULT 0x00 /* reset to default */ | |
84 | /* Also for 0x41-43 below */ | |
85 | #define ATTR_FIELD 0xC0 /* Field attributes */ | |
86 | # define ATTR_MASK 0xc0 /* control bits */ | |
87 | # define ATTR_PROT 0x20 /* protected bit */ | |
88 | # define ATTR_NUMERIC 0x10 /* numeric field */ | |
89 | # define ATTR_AUTO_SKIP_MASK 0x30 /* mask to check auto skip */ | |
90 | # define ATTR_AUTO_SKIP_VALUE 0x30 /* value to have auto skip */ | |
91 | # define ATTR_DSPD_MASK 0x0c /* highlighting, etc. */ | |
92 | # define ATTR_DSPD_DNSPD 0x00 /* display, no select */ | |
93 | # define ATTR_DSPD_DSPD 0x04 /* display, select */ | |
94 | # define ATTR_DSPD_HIGH 0x08 /* highlighted, select */ | |
95 | # define ATTR_DSPD_NONDISPLAY 0x0c /* non-display, no select */ | |
96 | # define ATTR_MDT 0x01 /* modified data tag */ | |
97 | ||
98 | #define ATTR_EXTENDED_HIGHLIGHT 0x41 /* Extended highlighting */ | |
99 | # define ATTR_BLINK 0xf1 /* Blinking */ | |
100 | # define ATTR_REVERSE_VIDEO 0xf2 /* Reverse video */ | |
101 | # define ATTR_UNDERSCORE 0xf3 /* Underline */ | |
102 | #define ATTR_COLOR 0x42 /* Color */ | |
103 | # define ATTR_BLUE 0xf1 | |
104 | # define ATTR_RED 0xf2 | |
105 | # define ATTR_PINK 0xf3 | |
106 | # define ATTR_GREEN 0xf4 | |
107 | # define ATTR_TURQUOISE 0xf5 | |
108 | # define ATTR_YELLOW 0xf6 | |
109 | # define ATTR_WHITE 0xf7 /* for 3279; black for 3287; */ | |
110 | /* multicolor for triple */ | |
111 | /* plane symbol */ | |
112 | #define ATTR_PROGRAMMED_SYMBOLS 0x43 /* Programmed Symbols */ | |
113 | # define ATTR_SYMBOL_SET_LOW 0x40 /* Lowest loadable set ID */ | |
114 | # define ATTR_SYMBOL_SET_HIGH 0xef /* Highest loadable set ID */ | |
115 | # define ATTR_SYMBOL_SET_APLTEXT 0xf1 | |
116 | ||
117 | /* Non-SNA control unit commands */ | |
118 | ||
119 | #define CMD_ERASE_ALL_UNPROTECTED 0x0f | |
120 | #define CMD_ERASE_WRITE 0x05 | |
121 | #define CMD_ERASE_WRITE_ALTERNATE 0x0d | |
122 | #define CMD_READ_BUFFER 0x02 | |
123 | #define CMD_READ_MODIFIED 0x06 | |
124 | #define CMD_WRITE 0x01 | |
125 | #define CMD_WRITE_STRUCTURED_FIELD 0x11 | |
126 | ||
127 | /* SNA control unit commands */ | |
128 | ||
129 | #define CMD_SNA_COPY 0xf7 | |
130 | #define CMD_SNA_ERASE_ALL_UNPROTECTED 0x6f | |
131 | #define CMD_SNA_ERASE_WRITE 0xf5 | |
132 | #define CMD_SNA_ERASE_WRITE_ALTERNATE 0x7e | |
133 | #define CMD_SNA_READ_BUFFER 0xf2 | |
134 | #define CMD_SNA_READ_MODIFIED 0xf6 | |
135 | #define CMD_SNA_READ_MODIFIED_ALL 0x6e | |
136 | #define CMD_SNA_WRITE 0xf1 | |
137 | #define CMD_SNA_WRITE_STRUCTURED_FIELD 0xf3 | |
138 | ||
139 | ||
140 | #define WCC_RESET 0x40 | |
141 | #define WCC_ALARM 0x04 | |
142 | #define WCC_RESTORE 0x02 | |
143 | #define WCC_RESET_MDT 0x01 | |
144 | ||
145 | ||
146 | /* Special EBCDIC characters unique to a 3270 */ | |
147 | ||
148 | #define EBCDIC_BLANK 0x40 /* Space */ | |
149 | #define EBCDIC_CENTSIGN 0x4a /* Cent sign */ | |
150 | #define EBCDIC_DUP 0x1c /* DUP character */ | |
151 | #define EBCDIC_FM 0x1e /* Field mark character */ | |
152 | #define EBCDIC_PERCENT 0x6c /* Percent sign */ | |
153 | #define EBCDIC_SLASH 0x61 /* Slash */ | |
154 | #define EBCDIC_SOH 0x01 /* Start of Heading */ | |
155 | #define EBCDIC_STX 0x02 /* Start of Text */ | |
156 | ||
157 | /* Structured field types */ | |
158 | #define SF_3270DS 0x40 /* For write operations */ | |
159 | #define SF_LPS 0x06 /* Load Programmed Symbols */ | |
160 | #define SF_SRM 0x09 /* Set Reply Mode */ | |
161 | #define SF_SWO 0x0b /* Set Window Origin */ | |
162 | #define SF_READ_PARTITION 0x01 /* Read Partition (Query) */ | |
163 | #define SF_ERASE_RESET 0x03 /* Erase (and/or Reset) */ | |
164 | #define SF_SCS_DATA 0x41 /* SCS Data */ | |
165 | #define SF_CREATE_PARTITION 0x0c /* Create a partition */ | |
166 | \f | |
167 | /* AID characters sent to host. | |
168 | * | |
169 | * Note that this file (the following entries) are scanned by mkhit.c, | |
170 | * and that the format must remain more-or-less consistent | |
171 | * (#define\tAID_name\t[\t]*TOKEN) | |
172 | */ | |
173 | ||
174 | #define AID_NONE 0x60 /* No AID (display) */ | |
175 | #define AID_NONE_PRINTER 0xe8 /* No AID (printer) */ | |
176 | ||
177 | #define AID_PA1 0x6c | |
178 | #define AID_PA2 0x6e | |
179 | #define AID_PA3 0x6b | |
180 | #define AID_CLEAR 0x6d | |
181 | #define AID_TREQ 0xf0 | |
182 | #define AID_ENTER 0x7d | |
183 | #define AID_SELPEN 0x7e /* | |
184 | * Really, only SELPEN with DESIGNATOR | |
185 | * = space or null | |
186 | */ | |
187 | #define AID_PF1 0xf1 | |
188 | #define AID_PF2 0xf2 | |
189 | #define AID_PF3 0xf3 | |
190 | #define AID_PF4 0xf4 | |
191 | #define AID_PF5 0xf5 | |
192 | #define AID_PF6 0xf6 | |
193 | #define AID_PF7 0xf7 | |
194 | #define AID_PF8 0xf8 | |
195 | #define AID_PF9 0xf9 | |
196 | #define AID_PF10 0x7a | |
197 | #define AID_PF11 0x7b | |
198 | #define AID_PF12 0x7c | |
199 | #define AID_PF13 0xc1 | |
200 | #define AID_PF14 0xc2 | |
201 | #define AID_PF15 0xc3 | |
202 | #define AID_PF16 0xc4 | |
203 | #define AID_PF17 0xc5 | |
204 | #define AID_PF18 0xc6 | |
205 | #define AID_PF19 0xc7 | |
206 | #define AID_PF20 0xc8 | |
207 | #define AID_PF21 0xc9 | |
208 | #define AID_PF22 0x4a | |
209 | #define AID_PF23 0x4b | |
210 | #define AID_PF24 0x4c | |
211 | #define AID_PF25 0xd1 | |
212 | #define AID_PF26 0xd2 | |
213 | #define AID_PF27 0xd3 | |
214 | #define AID_PF28 0xd4 | |
215 | #define AID_PF29 0xd5 | |
216 | #define AID_PF30 0xd6 | |
217 | #define AID_PF31 0xd7 | |
218 | #define AID_PF32 0xd8 | |
219 | #define AID_PF33 0xd9 | |
220 | #define AID_PF34 0x5a | |
221 | #define AID_PF35 0x5b | |
222 | #define AID_PF36 0x5c |