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