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