xref: /csrg-svn/usr.bin/tn3270/ctlr/hostctlr.h (revision 62325)
148756Sbostic /*-
2*62325Sbostic  * Copyright (c) 1988, 1993
3*62325Sbostic  *	The Regents of the University of California.  All rights reserved.
433816Sbostic  *
548756Sbostic  * %sccs.include.redist.c%
633816Sbostic  *
7*62325Sbostic  *	@(#)hostctlr.h	8.1 (Berkeley) 06/06/93
830022Sminshall  */
930022Sminshall 
1030022Sminshall #define	INCLUDED_HOST3270
1130022Sminshall 
1230022Sminshall /* define orders given to 3270's */
1330022Sminshall 
1430022Sminshall #define	ORDER_SF	0x1d		/* Start Field */
1531085Sminshall #define	ORDER_SFE	0x29		/* Start Field Extended */
1630022Sminshall #define	ORDER_SBA	0x11		/* Set Buffer Address (for output) */
1731085Sminshall #define	ORDER_SA	0x28		/* Set Attribute */
1831085Sminshall #define	ORDER_MF	0x2c		/* Modify field */
1930022Sminshall #define	ORDER_IC	0x13		/* Insert Cursor (at buffer address) */
2030022Sminshall #define	ORDER_PT	0x05		/* Program Tab (absurdly complicated) */
2130022Sminshall #define	ORDER_RA	0x3c		/* Repeat next character to some addr */
2230022Sminshall #define	ORDER_EUA	0x12		/* Null out every unprotected field
2330022Sminshall 					 * to some address.
2430022Sminshall 					 */
2531085Sminshall #define	ORDER_GE	0x08		/* Graphics Escape */
2630022Sminshall #define	ORDER_YALE	0x2b		/* This is a special YALE order, which
2730022Sminshall 					 * introduces YALE extended orders
2830022Sminshall 					 * (like setting tabs, etc.).
2930022Sminshall 					 */
3030022Sminshall 
3131085Sminshall /* The following is defined for initialization and error messages. */
3230022Sminshall 
3331085Sminshall struct orders_def {
3431085Sminshall     int
3531085Sminshall 	code;			/* As in 3270 data stream */
3631085Sminshall     char
3731085Sminshall 	*short_name,		/* Short name */
3831085Sminshall 	*long_name;		/* Long name */
3931085Sminshall };
4031085Sminshall 
4131085Sminshall #define	ORDERS_DEF { \
4231085Sminshall 			    ORDER_SF, "SF", "Start Field", \
4331085Sminshall 			    ORDER_SFE, "SFE", "Start Field Extended", \
4431085Sminshall 			    ORDER_SBA, "SBA", "Set Buffer Address", \
4531085Sminshall 			    ORDER_SA, "SA", "Set Attribute", \
4631085Sminshall 			    ORDER_MF, "MF", "Modify Field", \
4731085Sminshall 			    ORDER_IC, "IC", "Insert Cursor", \
4831085Sminshall 			    ORDER_PT, "PT", "Program Tab", \
4931085Sminshall 			    ORDER_RA, "RA", "Repeat to Address", \
5031085Sminshall 			    ORDER_EUA, "EUA", "Erase Unprotected to Address", \
5131085Sminshall 			    ORDER_GE, "GE", "Graphics Escape", \
5231085Sminshall 			    ORDER_YALE, "YALE", "Yale Order" \
5331085Sminshall 			}
5431085Sminshall 
5531085Sminshall 
5630022Sminshall #define	ATTR_RESET		0x00		/* SA only - reset to default */
5730022Sminshall #	define	ATTR_DEFAULT	0x00		/* reset to default */
5830022Sminshall 						/* Also for 0x41-43 below */
5930022Sminshall #define	ATTR_FIELD		0xC0		/* Field attributes */
6030022Sminshall #	define	ATTR_MASK		0xc0	/* control bits */
6130022Sminshall #	define	ATTR_PROT		0x20	/* protected bit */
6230022Sminshall #	define	ATTR_NUMERIC		0x10	/* numeric field */
6330022Sminshall #	define	ATTR_AUTO_SKIP_MASK	0x30	/* mask to check auto skip */
6430022Sminshall #	define	ATTR_AUTO_SKIP_VALUE	0x30	/* value to have auto skip */
6530022Sminshall #	define	ATTR_DSPD_MASK		0x0c	/* highlighting, etc. */
6630022Sminshall #	define	ATTR_DSPD_DNSPD		0x00	/* display, no select */
6730022Sminshall #	define	ATTR_DSPD_DSPD		0x04	/* display, select */
6830022Sminshall #	define	ATTR_DSPD_HIGH		0x08	/* highlighted, select */
6930022Sminshall #	define	ATTR_DSPD_NONDISPLAY	0x0c	/* non-display, no select */
7030022Sminshall #	define	ATTR_MDT		0x01		/* modified data tag */
7130022Sminshall 
7230022Sminshall #define	ATTR_EXTENDED_HIGHLIGHT	0x41		/* Extended highlighting */
7330022Sminshall #	define	ATTR_BLINK		0xf1	/* Blinking */
7430022Sminshall #	define	ATTR_REVERSE_VIDEO	0xf2	/* Reverse video */
7530022Sminshall #	define	ATTR_UNDERSCORE		0xf3	/* Underline */
7630022Sminshall #define	ATTR_COLOR		0x42		/* Color */
7730022Sminshall #	define	ATTR_BLUE		0xf1
7830022Sminshall #	define	ATTR_RED		0xf2
7930022Sminshall #	define	ATTR_PINK		0xf3
8030022Sminshall #	define	ATTR_GREEN		0xf4
8130022Sminshall #	define	ATTR_TURQUOISE		0xf5
8230022Sminshall #	define	ATTR_YELLOW		0xf6
8330022Sminshall #	define	ATTR_WHITE		0xf7	/* for 3279; black for 3287; */
8430022Sminshall 						/* multicolor for triple */
8530022Sminshall 						/* plane symbol */
8630022Sminshall #define	ATTR_PROGRAMMED_SYMBOLS	0x43		/* Programmed Symbols */
8730022Sminshall #	define	ATTR_SYMBOL_SET_LOW	0x40	/* Lowest loadable set ID */
8830022Sminshall #	define	ATTR_SYMBOL_SET_HIGH	0xef	/* Highest loadable set ID */
8930022Sminshall #	define	ATTR_SYMBOL_SET_APLTEXT	0xf1
9030022Sminshall 
9130022Sminshall /* Non-SNA control unit commands */
9230022Sminshall 
9330022Sminshall #define	CMD_ERASE_ALL_UNPROTECTED	0x0f
9430022Sminshall #define	CMD_ERASE_WRITE			0x05
9530022Sminshall #define	CMD_ERASE_WRITE_ALTERNATE	0x0d
9630022Sminshall #define	CMD_READ_BUFFER			0x02
9730022Sminshall #define	CMD_READ_MODIFIED		0x06
9830022Sminshall #define	CMD_WRITE			0x01
9930022Sminshall #define	CMD_WRITE_STRUCTURED_FIELD	0x11
10030022Sminshall 
10130022Sminshall /* SNA control unit commands */
10230022Sminshall 
10330022Sminshall #define	CMD_SNA_COPY			0xf7
10430022Sminshall #define	CMD_SNA_ERASE_ALL_UNPROTECTED	0x6f
10530184Sminshall #define	CMD_SNA_ERASE_WRITE		0xf5
10630022Sminshall #define	CMD_SNA_ERASE_WRITE_ALTERNATE	0x7e
10730022Sminshall #define	CMD_SNA_READ_BUFFER		0xf2
10830022Sminshall #define	CMD_SNA_READ_MODIFIED		0xf6
10930022Sminshall #define	CMD_SNA_READ_MODIFIED_ALL	0x6e
11030022Sminshall #define	CMD_SNA_WRITE			0xf1
11130022Sminshall #define	CMD_SNA_WRITE_STRUCTURED_FIELD	0xf3
11230022Sminshall 
11330022Sminshall 
11430022Sminshall #define	WCC_RESET	0x40
11530022Sminshall #define	WCC_ALARM	0x04
11630022Sminshall #define	WCC_RESTORE	0x02
11730022Sminshall #define	WCC_RESET_MDT	0x01
11830022Sminshall 
11930022Sminshall 
12030022Sminshall /* Special EBCDIC characters unique to a 3270 */
12130022Sminshall 
12230022Sminshall #define	EBCDIC_BLANK	0x40			/* Space */
12330022Sminshall #define	EBCDIC_CENTSIGN	0x4a			/* Cent sign */
12430022Sminshall #define	EBCDIC_DUP	0x1c			/* DUP character */
12530022Sminshall #define	EBCDIC_FM	0x1e			/* Field mark character */
12630022Sminshall #define	EBCDIC_PERCENT	0x6c			/* Percent sign */
12730022Sminshall #define	EBCDIC_SLASH	0x61			/* Slash */
12830022Sminshall #define	EBCDIC_SOH	0x01			/* Start of Heading */
12930022Sminshall #define	EBCDIC_STX	0x02			/* Start of Text */
13030022Sminshall 
13130022Sminshall /* Structured field types */
13230022Sminshall #define	SF_3270DS	0x40			/* For write operations */
13330022Sminshall #define	SF_LPS		0x06			/* Load Programmed Symbols */
13430022Sminshall #define	SF_SRM		0x09			/* Set Reply Mode */
13530022Sminshall #define	SF_SWO		0x0b			/* Set Window Origin */
13630022Sminshall #define	SF_READ_PARTITION	0x01		/* Read Partition (Query) */
13730022Sminshall #define	SF_ERASE_RESET		0x03		/* Erase (and/or Reset) */
13830022Sminshall #define	SF_SCS_DATA		0x41		/* SCS Data */
13930022Sminshall #define	SF_CREATE_PARTITION	0x0c		/* Create a partition */
14030022Sminshall 
14130022Sminshall /* AID characters sent to host.
14230022Sminshall  *
14330022Sminshall  * Note that this file (the following entries) are scanned by mkhit.c,
14430022Sminshall  * and that the format must remain more-or-less consistent
14530022Sminshall  * (#define\tAID_name\t[\t]*TOKEN)
14630022Sminshall  */
14730022Sminshall 
14830022Sminshall #define	AID_NONE		0x60		/* No AID (display) */
14930022Sminshall #define	AID_NONE_PRINTER	0xe8		/* No AID (printer) */
15030022Sminshall 
15130022Sminshall #define	AID_PA1			0x6c
15230022Sminshall #define	AID_PA2			0x6e
15330022Sminshall #define	AID_PA3			0x6b
15430022Sminshall #define	AID_CLEAR		0x6d
15530022Sminshall #define	AID_TREQ		0xf0
15630022Sminshall #define	AID_ENTER		0x7d
15730022Sminshall #define	AID_SELPEN		0x7e	/*
15830022Sminshall 					 * Really, only SELPEN with DESIGNATOR
15930022Sminshall 					 * = space or null
16030022Sminshall 					 */
16130022Sminshall #define	AID_PF1			0xf1
16230022Sminshall #define	AID_PF2			0xf2
16330022Sminshall #define	AID_PF3			0xf3
16430022Sminshall #define	AID_PF4			0xf4
16530022Sminshall #define	AID_PF5			0xf5
16630022Sminshall #define	AID_PF6			0xf6
16730022Sminshall #define	AID_PF7			0xf7
16830022Sminshall #define	AID_PF8			0xf8
16930022Sminshall #define	AID_PF9			0xf9
17030022Sminshall #define	AID_PF10		0x7a
17130022Sminshall #define	AID_PF11		0x7b
17230022Sminshall #define	AID_PF12		0x7c
17330022Sminshall #define	AID_PF13		0xc1
17430022Sminshall #define	AID_PF14		0xc2
17530022Sminshall #define	AID_PF15		0xc3
17630022Sminshall #define	AID_PF16		0xc4
17730022Sminshall #define	AID_PF17		0xc5
17830022Sminshall #define	AID_PF18		0xc6
17930022Sminshall #define	AID_PF19		0xc7
18030022Sminshall #define	AID_PF20		0xc8
18130022Sminshall #define	AID_PF21		0xc9
18230022Sminshall #define	AID_PF22		0x4a
18330022Sminshall #define	AID_PF23		0x4b
18430022Sminshall #define	AID_PF24		0x4c
18530022Sminshall #define	AID_PF25		0xd1
18630022Sminshall #define	AID_PF26		0xd2
18730022Sminshall #define	AID_PF27		0xd3
18830022Sminshall #define	AID_PF28		0xd4
18930022Sminshall #define	AID_PF29		0xd5
19030022Sminshall #define	AID_PF30		0xd6
19130022Sminshall #define	AID_PF31		0xd7
19230022Sminshall #define	AID_PF32		0xd8
19330022Sminshall #define	AID_PF33		0xd9
19430022Sminshall #define	AID_PF34		0x5a
19530022Sminshall #define	AID_PF35		0x5b
19630022Sminshall #define	AID_PF36		0x5c
197