xref: /csrg-svn/usr.bin/tn3270/ctlr/hostctlr.h (revision 30022)
1*30022Sminshall /*
2*30022Sminshall  *	@(#)3270.h	3.1  10/29/86
3*30022Sminshall  */
4*30022Sminshall 
5*30022Sminshall #define	INCLUDED_HOST3270
6*30022Sminshall 
7*30022Sminshall /* define orders given to 3270's */
8*30022Sminshall 
9*30022Sminshall #define	ORDER_SF	0x1d		/* Start Field */
10*30022Sminshall #define	ORDER_SBA	0x11		/* Set Buffer Address (for output) */
11*30022Sminshall #define	ORDER_IC	0x13		/* Insert Cursor (at buffer address) */
12*30022Sminshall #define	ORDER_PT	0x05		/* Program Tab (absurdly complicated) */
13*30022Sminshall #define	ORDER_RA	0x3c		/* Repeat next character to some addr */
14*30022Sminshall #define	ORDER_SFE	0x29		/* Start Field Extended */
15*30022Sminshall #define	ORDER_EUA	0x12		/* Null out every unprotected field
16*30022Sminshall 					 * to some address.
17*30022Sminshall 					 */
18*30022Sminshall #define	ORDER_MF	0x2c		/* Modify field */
19*30022Sminshall #define	ORDER_SA	0x28		/* Set Attribute */
20*30022Sminshall #define	ORDER_YALE	0x2b		/* This is a special YALE order, which
21*30022Sminshall 					 * introduces YALE extended orders
22*30022Sminshall 					 * (like setting tabs, etc.).
23*30022Sminshall 					 */
24*30022Sminshall 
25*30022Sminshall 
26*30022Sminshall #define	ATTR_RESET		0x00		/* SA only - reset to default */
27*30022Sminshall #	define	ATTR_DEFAULT	0x00		/* reset to default */
28*30022Sminshall 						/* Also for 0x41-43 below */
29*30022Sminshall #define	ATTR_FIELD		0xC0		/* Field attributes */
30*30022Sminshall #	define	ATTR_MASK		0xc0	/* control bits */
31*30022Sminshall #	define	ATTR_PROT		0x20	/* protected bit */
32*30022Sminshall #	define	ATTR_NUMERIC		0x10	/* numeric field */
33*30022Sminshall #	define	ATTR_AUTO_SKIP_MASK	0x30	/* mask to check auto skip */
34*30022Sminshall #	define	ATTR_AUTO_SKIP_VALUE	0x30	/* value to have auto skip */
35*30022Sminshall #	define	ATTR_DSPD_MASK		0x0c	/* highlighting, etc. */
36*30022Sminshall #	define	ATTR_DSPD_DNSPD		0x00	/* display, no select */
37*30022Sminshall #	define	ATTR_DSPD_DSPD		0x04	/* display, select */
38*30022Sminshall #	define	ATTR_DSPD_HIGH		0x08	/* highlighted, select */
39*30022Sminshall #	define	ATTR_DSPD_NONDISPLAY	0x0c	/* non-display, no select */
40*30022Sminshall #	define	ATTR_MDT		0x01		/* modified data tag */
41*30022Sminshall 
42*30022Sminshall #define	ATTR_EXTENDED_HIGHLIGHT	0x41		/* Extended highlighting */
43*30022Sminshall #	define	ATTR_BLINK		0xf1	/* Blinking */
44*30022Sminshall #	define	ATTR_REVERSE_VIDEO	0xf2	/* Reverse video */
45*30022Sminshall #	define	ATTR_UNDERSCORE		0xf3	/* Underline */
46*30022Sminshall #define	ATTR_COLOR		0x42		/* Color */
47*30022Sminshall #	define	ATTR_BLUE		0xf1
48*30022Sminshall #	define	ATTR_RED		0xf2
49*30022Sminshall #	define	ATTR_PINK		0xf3
50*30022Sminshall #	define	ATTR_GREEN		0xf4
51*30022Sminshall #	define	ATTR_TURQUOISE		0xf5
52*30022Sminshall #	define	ATTR_YELLOW		0xf6
53*30022Sminshall #	define	ATTR_WHITE		0xf7	/* for 3279; black for 3287; */
54*30022Sminshall 						/* multicolor for triple */
55*30022Sminshall 						/* plane symbol */
56*30022Sminshall #define	ATTR_PROGRAMMED_SYMBOLS	0x43		/* Programmed Symbols */
57*30022Sminshall #	define	ATTR_SYMBOL_SET_LOW	0x40	/* Lowest loadable set ID */
58*30022Sminshall #	define	ATTR_SYMBOL_SET_HIGH	0xef	/* Highest loadable set ID */
59*30022Sminshall #	define	ATTR_SYMBOL_SET_APLTEXT	0xf1
60*30022Sminshall 
61*30022Sminshall /* Non-SNA control unit commands */
62*30022Sminshall 
63*30022Sminshall #define	CMD_ERASE_ALL_UNPROTECTED	0x0f
64*30022Sminshall #define	CMD_ERASE_WRITE			0x05
65*30022Sminshall #define	CMD_ERASE_WRITE_ALTERNATE	0x0d
66*30022Sminshall #define	CMD_READ_BUFFER			0x02
67*30022Sminshall #define	CMD_READ_MODIFIED		0x06
68*30022Sminshall #define	CMD_WRITE			0x01
69*30022Sminshall #define	CMD_WRITE_STRUCTURED_FIELD	0x11
70*30022Sminshall 
71*30022Sminshall /* SNA control unit commands */
72*30022Sminshall 
73*30022Sminshall #define	CMD_SNA_COPY			0xf7
74*30022Sminshall #define	CMD_SNA_ERASE_ALL_UNPROTECTED	0x6f
75*30022Sminshall #define	CMD_SNA_ERASE_WRITE		0x55
76*30022Sminshall #define	CMD_SNA_ERASE_WRITE_ALTERNATE	0x7e
77*30022Sminshall #define	CMD_SNA_READ_BUFFER		0xf2
78*30022Sminshall #define	CMD_SNA_READ_MODIFIED		0xf6
79*30022Sminshall #define	CMD_SNA_READ_MODIFIED_ALL	0x6e
80*30022Sminshall #define	CMD_SNA_WRITE			0xf1
81*30022Sminshall #define	CMD_SNA_WRITE_STRUCTURED_FIELD	0xf3
82*30022Sminshall 
83*30022Sminshall 
84*30022Sminshall #define	WCC_RESET	0x40
85*30022Sminshall #define	WCC_ALARM	0x04
86*30022Sminshall #define	WCC_RESTORE	0x02
87*30022Sminshall #define	WCC_RESET_MDT	0x01
88*30022Sminshall 
89*30022Sminshall 
90*30022Sminshall /* Special EBCDIC characters unique to a 3270 */
91*30022Sminshall 
92*30022Sminshall #define	EBCDIC_BLANK	0x40			/* Space */
93*30022Sminshall #define	EBCDIC_CENTSIGN	0x4a			/* Cent sign */
94*30022Sminshall #define	EBCDIC_DUP	0x1c			/* DUP character */
95*30022Sminshall #define	EBCDIC_FM	0x1e			/* Field mark character */
96*30022Sminshall #define	EBCDIC_PERCENT	0x6c			/* Percent sign */
97*30022Sminshall #define	EBCDIC_SLASH	0x61			/* Slash */
98*30022Sminshall #define	EBCDIC_SOH	0x01			/* Start of Heading */
99*30022Sminshall #define	EBCDIC_STX	0x02			/* Start of Text */
100*30022Sminshall 
101*30022Sminshall /* Structured field types */
102*30022Sminshall #define	SF_3270DS	0x40			/* For write operations */
103*30022Sminshall #define	SF_LPS		0x06			/* Load Programmed Symbols */
104*30022Sminshall #define	SF_SRM		0x09			/* Set Reply Mode */
105*30022Sminshall #define	SF_SWO		0x0b			/* Set Window Origin */
106*30022Sminshall #define	SF_READ_PARTITION	0x01		/* Read Partition (Query) */
107*30022Sminshall #define	SF_ERASE_RESET		0x03		/* Erase (and/or Reset) */
108*30022Sminshall #define	SF_SCS_DATA		0x41		/* SCS Data */
109*30022Sminshall #define	SF_CREATE_PARTITION	0x0c		/* Create a partition */
110*30022Sminshall 
111*30022Sminshall /* AID characters sent to host.
112*30022Sminshall  *
113*30022Sminshall  * Note that this file (the following entries) are scanned by mkhit.c,
114*30022Sminshall  * and that the format must remain more-or-less consistent
115*30022Sminshall  * (#define\tAID_name\t[\t]*TOKEN)
116*30022Sminshall  */
117*30022Sminshall 
118*30022Sminshall #define	AID_NONE		0x60		/* No AID (display) */
119*30022Sminshall #define	AID_NONE_PRINTER	0xe8		/* No AID (printer) */
120*30022Sminshall 
121*30022Sminshall #define	AID_PA1			0x6c
122*30022Sminshall #define	AID_PA2			0x6e
123*30022Sminshall #define	AID_PA3			0x6b
124*30022Sminshall #define	AID_CLEAR		0x6d
125*30022Sminshall #define	AID_TREQ		0xf0
126*30022Sminshall #define	AID_ENTER		0x7d
127*30022Sminshall #define	AID_SELPEN		0x7e	/*
128*30022Sminshall 					 * Really, only SELPEN with DESIGNATOR
129*30022Sminshall 					 * = space or null
130*30022Sminshall 					 */
131*30022Sminshall #define	AID_PF1			0xf1
132*30022Sminshall #define	AID_PF2			0xf2
133*30022Sminshall #define	AID_PF3			0xf3
134*30022Sminshall #define	AID_PF4			0xf4
135*30022Sminshall #define	AID_PF5			0xf5
136*30022Sminshall #define	AID_PF6			0xf6
137*30022Sminshall #define	AID_PF7			0xf7
138*30022Sminshall #define	AID_PF8			0xf8
139*30022Sminshall #define	AID_PF9			0xf9
140*30022Sminshall #define	AID_PF10		0x7a
141*30022Sminshall #define	AID_PF11		0x7b
142*30022Sminshall #define	AID_PF12		0x7c
143*30022Sminshall #define	AID_PF13		0xc1
144*30022Sminshall #define	AID_PF14		0xc2
145*30022Sminshall #define	AID_PF15		0xc3
146*30022Sminshall #define	AID_PF16		0xc4
147*30022Sminshall #define	AID_PF17		0xc5
148*30022Sminshall #define	AID_PF18		0xc6
149*30022Sminshall #define	AID_PF19		0xc7
150*30022Sminshall #define	AID_PF20		0xc8
151*30022Sminshall #define	AID_PF21		0xc9
152*30022Sminshall #define	AID_PF22		0x4a
153*30022Sminshall #define	AID_PF23		0x4b
154*30022Sminshall #define	AID_PF24		0x4c
155*30022Sminshall #define	AID_PF25		0xd1
156*30022Sminshall #define	AID_PF26		0xd2
157*30022Sminshall #define	AID_PF27		0xd3
158*30022Sminshall #define	AID_PF28		0xd4
159*30022Sminshall #define	AID_PF29		0xd5
160*30022Sminshall #define	AID_PF30		0xd6
161*30022Sminshall #define	AID_PF31		0xd7
162*30022Sminshall #define	AID_PF32		0xd8
163*30022Sminshall #define	AID_PF33		0xd9
164*30022Sminshall #define	AID_PF34		0x5a
165*30022Sminshall #define	AID_PF35		0x5b
166*30022Sminshall #define	AID_PF36		0x5c
167