148756Sbostic /*- 2*62327Sbostic * Copyright (c) 1988, 1993 3*62327Sbostic * The Regents of the University of California. All rights reserved. 433816Sbostic * 548756Sbostic * %sccs.include.redist.c% 633816Sbostic * 7*62327Sbostic * @(#)oia.h 8.1 (Berkeley) 06/06/93 833816Sbostic */ 933816Sbostic 1033816Sbostic /* 1131088Sminshall * This file describes the Operator Information Area in the 3270. 1231192Sminshall * 1331192Sminshall * Our OIA looks like that used by the 3270 PC and PC 3270 products. 1431088Sminshall */ 1531088Sminshall 1631181Sminshall #define INCLUDED_OIA 1731181Sminshall 1831088Sminshall typedef struct { 1931192Sminshall char 2031192Sminshall online_ownership, 2131192Sminshall character_selection, 2231192Sminshall shift_state, 2331192Sminshall pss_group_1, 2431192Sminshall highlight_group_1, 2531192Sminshall color_group_1, 2631192Sminshall insert, 2731192Sminshall input_inhibited[5], 2831192Sminshall pss_group_2, 2931192Sminshall highlight_group_2, 3031192Sminshall color_group_2, 3131192Sminshall comm_error_reminder, 3231192Sminshall printer_status, 3331192Sminshall reserved_group_14, 3431192Sminshall reserved_group_15, 3531192Sminshall autokey_play_record_status, 3631192Sminshall autokey_abort_pause_status, 3731192Sminshall enlarge_state; 3831088Sminshall } OIA; 3931192Sminshall 4031192Sminshall /* Bits in online_ownership */ 4131192Sminshall #define OIA_SETUP 0x80 4231192Sminshall #define OIA_TEST 0x40 4331192Sminshall #define OIA_SSCP_LU 0x20 4431192Sminshall #define OIA_LU_LU 0x10 4531192Sminshall #define OIA_UNOWNED 0x08 4631192Sminshall #define OIA_SUBSYSTEM_READY 0x04 4731192Sminshall 4831192Sminshall /* Bit in character_selection */ 4931192Sminshall #define OIA_EXTENDED_SELECT 0x80 5031192Sminshall #define OIA_APL 0x40 5131192Sminshall #define OIA_KANA 0x20 5231192Sminshall #define OIA_ALPHA 0x10 5331192Sminshall #define OIA_TEXT 0x08 5431192Sminshall 5531192Sminshall /* Bits in shift_state */ 5631192Sminshall #define OIA_NUMERIC 0x80 5731192Sminshall #define OIA_UPPER_SHIFT 0x40 5831192Sminshall 5931192Sminshall /* Bits in pss_group_1, highlight_group_1, and color_group_1 */ 6031192Sminshall #define OIA_SELECTABLE 0x80 6131192Sminshall #define OIA_FIELD_INHERIT 0x40 6231192Sminshall 6331192Sminshall /* Bits in insert */ 6431192Sminshall #define OIA_INSERT_MODE 0x80 6531192Sminshall 6631192Sminshall /* We define this to be a 'long' followed by a 'char' (5 bytes) */ 6731192Sminshall 6831192Sminshall #define OIA_NON_RESETTABLE 0x80 6931192Sminshall #define OIA_SECURITY_KEY 0x40 7031192Sminshall #define OIA_MACHINE_CHECK 0x20 7131192Sminshall #define OIA_COMM_CHECK 0x10 7231192Sminshall #define OIA_PROGRAM_CHECK 0x08 7331192Sminshall #define OIA_RETRY 0x04 7431192Sminshall #define OIA_DEVICE_NOT_WORKING 0x02 7531192Sminshall #define OIA_DEVICE_VERY_BUSY 0x01 7631192Sminshall 7731192Sminshall #define OIA_DEVICE_BUSY 0x80 7831192Sminshall #define OIA_TERMINAL_WAIT 0x40 7931192Sminshall #define OIA_MINUS_SYMBOL 0x20 8031192Sminshall #define OIA_MINUS_FUNCTION 0x10 8131192Sminshall #define OIA_TOO_MUCH_ENTERED 0x08 8231192Sminshall #define OIA_NOT_ENOUGH_ENTERED 0x04 8331192Sminshall #define OIA_WRONG_NUMBER 0x02 8431192Sminshall #define OIA_NUMERIC_FIELD 0x01 8531192Sminshall 8631192Sminshall #define OIA_OP_UNAUTHORIZED 0x80 8731192Sminshall #define OIA_OP_UNAUTHORIZED_MIN 0x40 8831192Sminshall #define OIA_INVALID_DEAD_KEY_COMBO 0x20 8931192Sminshall #define OIA_WRONG_PLACE 0x10 9031192Sminshall 9131192Sminshall #define OIA_MESSAGE_PENDING 0x80 9231192Sminshall #define OIA_PARTITION_WAIT 0x40 9331192Sminshall #define OIA_SYSTEM_WAIT 0x20 9431192Sminshall #define OIA_HARDWARE_MISMATCH 0x10 9531192Sminshall #define OIA_LOGICAL_TERM_NOT_CONF 0x08 9631192Sminshall 9731192Sminshall 9831192Sminshall #define OIA_AUTOKEY_INHIBIT 0x80 9931192Sminshall #define OIA_API_INHIBIT 0x40 10031192Sminshall 10131192Sminshall /* Bits in pss_group_2 */ 10231192Sminshall #define OIA_PS_SELECTED 0x80 10331192Sminshall #define OIA_PC_DISPLAY_DISABLE 0x40 10431192Sminshall 10531192Sminshall /* Bits in highlight_group_2 and color_group_2 */ 10631192Sminshall #define OIA_SELECTED 0x80 10731192Sminshall 10831192Sminshall /* Bits in comm_error_reminder */ 10931192Sminshall #define OIA_COMM_ERROR 0x80 11031192Sminshall #define OIA_RTM 0x40 11131192Sminshall 11231192Sminshall /* Bits in printer_status */ 11331192Sminshall #define OIA_PRINT_NOT_CUSTOM 0x80 11431192Sminshall #define OIA_PRINTER_MALFUNCTION 0x40 11531192Sminshall #define OIA_PRINTER_PRINTING 0x20 11631192Sminshall #define OIA_ASSIGN_PRINTER 0x10 11731192Sminshall #define OIA_WHAT_PRINTER 0x08 11831192Sminshall #define OIA_PRINTER_ASSIGNMENT 0x04 11931192Sminshall 12031192Sminshall /* Bits in autokey_play_record_status */ 12131192Sminshall #define OIA_PLAY 0x80 12231192Sminshall #define OIA_RECORD 0x40 12331192Sminshall 12431192Sminshall /* Bits in autokey_abort_pause_status */ 12531192Sminshall #define OIA_RECORDING_OVERFLOW 0x80 12631192Sminshall #define OIA_PAUSE 0x40 12731192Sminshall 12831192Sminshall /* Bits in enlarge_state */ 12931192Sminshall #define OIA_WINDOW_IS_ENLARGED 0x80 13031192Sminshall 13131192Sminshall /* Define functions to set and read the oia */ 13231192Sminshall 13331214Sminshall #define SetOiaOnlineA(oia) SetOiaMyJob((oia)) /* Side-effect */ 13431192Sminshall #define ResetOiaOnlineA(oia) \ 13531192Sminshall /* Nothing defined for this */ 13631192Sminshall 13731192Sminshall #define IsOiaReady3274(oia) ((oia)->online_ownership&OIA_SUBSYSTEM_READY) 13831192Sminshall #define ResetOiaReady3274(oia) (oia)->online_ownership &= ~OIA_SUBSYSTEM_READY 13931192Sminshall #define SetOiaReady3274(oia) (oia)->online_ownership |= OIA_SUBSYSTEM_READY 14031192Sminshall 14131192Sminshall #define IsOiaMyJob(oia) ((oia)->online_ownership&OIA_LU_LU) 14231192Sminshall #define ResetOiaMyJob(oia) (oia)->online_ownership &= ~OIA_LU_LU 14331192Sminshall #define SetOiaMyJob(oia) (oia)->online_ownership |= OIA_LU_LU 14431192Sminshall 14531192Sminshall #define IsOiaInsert(oia) ((oia)->online_ownership&OIA_INSERT_MODE) 14631192Sminshall #define ResetOiaInsert(oia) (oia)->online_ownership &= ~OIA_INSERT_MODE 14731192Sminshall #define SetOiaInsert(oia) (oia)->online_ownership |= OIA_INSERT_MODE 14831192Sminshall 14931192Sminshall #define IsOiaSystemLocked(oia) ((oia)->input_inhibited[3]&OIA_SYSTEM_WAIT) 15031192Sminshall #define ResetOiaSystemLocked(oia) \ 15131192Sminshall (oia)->input_inhibited[3] &= ~OIA_SYSTEM_WAIT 15231192Sminshall #define SetOiaSystemLocked(oia) (oia)->input_inhibited[3] |= OIA_SYSTEM_WAIT 15331192Sminshall 15431214Sminshall #define IsOiaTWait(oia) ((oia)->input_inhibited[1]&OIA_TERMINAL_WAIT) 15531192Sminshall #define ResetOiaTWait(oia) (oia)->input_inhibited[1] &= ~OIA_TERMINAL_WAIT 15631192Sminshall #define SetOiaTWait(oia) (oia)->input_inhibited[1] |= OIA_TERMINAL_WAIT 15731192Sminshall 15831214Sminshall #define IsOiaApiInhibit(oia) ((oia)->input_inhibited[4] & OIA_API_INHIBIT) 15931214Sminshall #define ResetOiaApiInhibit(oia) ((oia)->input_inhibited[4] &= ~OIA_API_INHIBIT) 16031214Sminshall #define SetOiaApiInhibit(oia) ((oia)->input_inhibited[4] |= OIA_API_INHIBIT) 16131214Sminshall 16231192Sminshall /* A macro to let the world know that someone has modified the OIA. */ 16331192Sminshall #define SetOiaModified() oia_modified = 1 16431515Sminshall #define SetPsModified() ps_modified = 1 165