131159Sminshall /* 231159Sminshall * This file contains header information used by the PC API routines. 331159Sminshall */ 431159Sminshall 531159Sminshall #define API_INTERRUPT_NUMBER 0x7A /* API Interrupt Number */ 631159Sminshall 731159Sminshall /* 831159Sminshall * Define the gate numbers. These are returned via the Name Resolution 931159Sminshall * service. 1031159Sminshall */ 1131159Sminshall 1231159Sminshall #define GATE_SESSMGR 1 1331159Sminshall #define GATE_KEYBOARD 2 1431159Sminshall #define GATE_COPY 3 1531159Sminshall #define GATE_OIAM 4 1631159Sminshall 1731167Sminshall /* 1831167Sminshall * The names which correspond to the above gate numbers. 1931167Sminshall */ 2031167Sminshall 2131167Sminshall #define NAME_SESSMGR "SESSMGR " 2231161Sminshall #define NAME_KEYBOARD "KEYBOARD" 2331167Sminshall #define NAME_COPY "COPY " 2431167Sminshall #define NAME_OIAM "OIAM " 2531161Sminshall 2631161Sminshall 2731159Sminshall /* 2831159Sminshall * Name Resolution is specified in AH. 2931159Sminshall */ 3031159Sminshall 3131159Sminshall #define NAME_RESOLUTION 0x81 3231159Sminshall 3331159Sminshall /* 3431159Sminshall * Codes specified in AL for various services. 3531159Sminshall */ 3631159Sminshall 3731167Sminshall #define QUERY_SESSION_ID 0x01 3831167Sminshall #define QUERY_SESSION_PARMS 0x02 3931167Sminshall #define QUERY_SESSION_CURSOR 0x0b 4031159Sminshall 4131167Sminshall #define CONNECT_TO_KEYBOARD 0x01 4231159Sminshall #define DISCONNECT_FROM_KEYBOARD 0x02 4331167Sminshall #define WRITE_KEYSTROKE 0x04 4431167Sminshall #define DISABLE_INPUT 0x05 4531167Sminshall #define ENABLE_INPUT 0x06 4631159Sminshall 4731167Sminshall #define COPY_STRING 0x01 4831159Sminshall 4931167Sminshall #define READ_OIA_GROUP 0x02 5031167Sminshall 5131167Sminshall /* 5231167Sminshall * For each service, we define the assoicated parameter blocks. 5331167Sminshall */ 5431167Sminshall 5531167Sminshall /* 5631167Sminshall * Supervisor Services 5731167Sminshall */ 5831167Sminshall 5931167Sminshall typedef struct { 6031167Sminshall char gate_name[8]; 6131167Sminshall } NameResolveParms; 6231167Sminshall 6331167Sminshall 6431167Sminshall /* 6531167Sminshall * Session Information Services 6631167Sminshall */ 6731167Sminshall 6831167Sminshall typedef struct { 6931167Sminshall char 7031167Sminshall short_name, 7131167Sminshall type, 7231167Sminshall session_id, 7331167Sminshall reserved, 7431167Sminshall long_name[8]; 7531167Sminshall } NameArrayElement; 7631167Sminshall 7731167Sminshall typedef struct { 7831167Sminshall char 7931167Sminshall length, 8031167Sminshall number_matching_session; 8131167Sminshall NameArrayElement 8231167Sminshall name_array_element; /* Variable number */ 8331167Sminshall } NameArray; 8431167Sminshall 8531167Sminshall typedef struct { 8631167Sminshall char 8731167Sminshall rc, 8831167Sminshall function_id, 8931167Sminshall option_code, 9031167Sminshall data_code; 9131167Sminshall NameArray far 9231167Sminshall *name_array; 9331167Sminshall char 9431167Sminshall long_name[8]; 9531167Sminshall } QuerySessionIdParms; 9631167Sminshall 9731167Sminshall typedef struct { 9831167Sminshall char 9931167Sminshall rc, 10031167Sminshall function_id, 10131167Sminshall session_id, 10231167Sminshall reserved, 10331167Sminshall session_type, 10431167Sminshall session_characteristics, 10531167Sminshall rows, 10631167Sminshall columns; 10731167Sminshall char far 10831167Sminshall *presentation_space; 109*31168Sminshall } QuerySessionParametersParms; 11031167Sminshall 11131167Sminshall #define TYPE_WSCTL 0x01 /* Work Station Control */ 11231167Sminshall #define TYPE_DFT 0x02 /* DFT Host Session */ 11331167Sminshall #define TYPE_CUT 0x03 /* CUT Host Session */ 11431167Sminshall #define TYPE_NOTEPAD 0x04 /* Notepad Session */ 11531167Sminshall #define TYPE_PC 0x05 /* Personal Computer Session */ 11631167Sminshall 11731167Sminshall #define CHARACTERISTIC_EAB 0x80 /* Extended Attribute Buffer */ 11831167Sminshall #define CHARACTERISTIC_PSS 0x40 /* Program Symbols Supported */ 11931167Sminshall 12031167Sminshall typedef struct { 12131167Sminshall char 12231167Sminshall rc, 12331167Sminshall function_id, 12431167Sminshall session_id, 12531167Sminshall cursor_type, 12631167Sminshall row_address, /* from 0 */ 12731167Sminshall column_address; /* from 0 */ 12831167Sminshall } QuerySessionCursorParms; 12931167Sminshall 13031167Sminshall #define CURSOR_INHIBITED_AUTOSCROLL 0x10 13131167Sminshall #define CURSOR_INHIBITED 0x04 13231167Sminshall #define CURSOR_BLINKING 0x02 13331167Sminshall #define CURSOR_BOX 0x01 13431167Sminshall typedef struct { 13531167Sminshall char 13631167Sminshall rc, 13731167Sminshall function_id, 13831167Sminshall session_id, 13931167Sminshall reserved; 14031167Sminshall int 14131167Sminshall event_queue_id, 14231167Sminshall input_queue_id; 14331167Sminshall char 14431167Sminshall intercept_options, 14531167Sminshall first_connection_identifier; 14631167Sminshall } ConnectToKeyboardParms; 14731167Sminshall 14831167Sminshall typedef struct { 14931167Sminshall char 15031167Sminshall rc, 15131167Sminshall function_id, 15231167Sminshall session_id, 15331167Sminshall reserved; 15431167Sminshall int 155*31168Sminshall connectors_task_id; 15631167Sminshall } DisconnectFromKeyboardParms; 15731167Sminshall 15831167Sminshall typedef struct { 15931167Sminshall char 16031167Sminshall scancode, 16131167Sminshall shift_state; 16231167Sminshall } KeystrokeEntry; 16331167Sminshall 16431167Sminshall typedef struct { 16531167Sminshall int 16631167Sminshall length; /* Length (in bytes) of list */ 16731167Sminshall KeystrokeEntry keystrokes; /* Variable size */ 16831167Sminshall } KeystrokeList; 16931167Sminshall 17031167Sminshall typedef struct { 17131167Sminshall char 17231167Sminshall rc, 17331167Sminshall function_id, 17431167Sminshall session_id, 17531167Sminshall reserved; 17631167Sminshall int 17731167Sminshall connectors_task_id; 17831167Sminshall char 17931167Sminshall options, 18031167Sminshall number_of_keys_sent; 18131167Sminshall union { 18231167Sminshall KeystrokeEntry 18331167Sminshall keystroke_entry; 18431167Sminshall KeystrokeList far 18531167Sminshall *keystroke_list; 18631167Sminshall } keystroke_specifier; 18731167Sminshall } WriteKeystrokeParms; 18831167Sminshall 18931167Sminshall typedef struct { 19031167Sminshall char 19131167Sminshall rc, 19231167Sminshall function_id, 19331167Sminshall session_id, 19431167Sminshall reserved; 19531167Sminshall int 19631167Sminshall connectors_task_id; 19731167Sminshall } DisableInputParms; 19831167Sminshall 19931167Sminshall typedef DisableInputParms EnableInputParms; 20031167Sminshall 20131167Sminshall typedef struct { 20231167Sminshall char 20331167Sminshall session_id, 20431167Sminshall reserved; 20531167Sminshall char far 20631167Sminshall *buffer; 20731167Sminshall char 20831167Sminshall characteristics, 20931167Sminshall session_type; 21031167Sminshall int 21131167Sminshall begin; /* Offset within buffer */ 21231167Sminshall } BufferDescriptor; 21331167Sminshall 21431167Sminshall typedef struct { 21531167Sminshall char 21631167Sminshall rc, 21731167Sminshall function_id; 21831167Sminshall BufferDescriptor 21931167Sminshall source; 22031167Sminshall int 22131167Sminshall source_end; /* Offset within source buffer */ 22231167Sminshall BufferDescriptor 22331167Sminshall target; 22431167Sminshall char 22531167Sminshall copy_mode, 22631167Sminshall reserved; 22731167Sminshall } CopyStringParms; 22831167Sminshall 22931167Sminshall #define COPY_MODE_7_COLOR 0x80 /* Else 4 color mode */ 23031167Sminshall #define COPY_MODE_FIELD_ATTRIBUTES 0x40 /* Else don't copy attributes */ 23131167Sminshall 23231167Sminshall typedef struct { 23331167Sminshall char 23431167Sminshall rc, 23531167Sminshall function_id, 23631167Sminshall session_id, 23731167Sminshall reserved; 23831167Sminshall char far 23931167Sminshall *oia_buffer; 24031167Sminshall char 24131167Sminshall oia_group_number; 24231167Sminshall } ReadOiaGroupParms; 24331167Sminshall 24431167Sminshall #define OIA_ALL_GROUPS 0xFF 24531167Sminshall #define OIA_ONLINE_OWNERSHIP 0x01 24631167Sminshall # define OIA_SETUP 0x80 24731167Sminshall # define OIA_TEST 0x40 24831167Sminshall # define OIA_SSCP_LU 0x20 24931167Sminshall # define OIA_LU_LU 0x10 25031167Sminshall # define OIA_UNOWNED 0x08 25131167Sminshall # define OIA_SUBSYSTEM_READY 0x04 25231167Sminshall 25331167Sminshall #define OIA_CHARACTER_SELECTION 0x02 25431167Sminshall # define OIA_EXTENDED_SELECT 0x80 25531167Sminshall # define OIA_APL 0x40 25631167Sminshall # define OIA_KANA 0x20 25731167Sminshall # define OIA_ALPHA 0x10 25831167Sminshall # define OIA_TEXT 0x08 25931167Sminshall 26031167Sminshall #define OIA_SHIFT_STATE 0x03 26131167Sminshall # define OIA_NUMERIC 0x80 26231167Sminshall # define OIA_UPPER_SHIFT 0x40 26331167Sminshall 26431167Sminshall #define OIA_PSS_GROUP_1 0x04 26531167Sminshall #define OIA_HIGHLIGHT_GROUP_1 0x05 26631167Sminshall #define OIA_COLOR_GROUP_1 0x06 26731167Sminshall # define OIA_SELECTABLE 0x80 26831167Sminshall # define OIA_FIELD_INHERIT 0x40 26931167Sminshall 27031167Sminshall #define OIA_INSERT 0x07 27131167Sminshall # define OIA_INSERT_MODE 0x80 27231167Sminshall 27331167Sminshall /* We define this to be a 'long' followed by a 'char' (5 bytes) */ 27431167Sminshall 27531167Sminshall #define OIA_INPUT_INHIBITED 0x08 27631167Sminshall 27731167Sminshall # define OIA_NON_RESETTABLE 0x80000000 27831167Sminshall # define OIA_SECURITY_KEY 0x40000000 27931167Sminshall # define OIA_MACHINE_CHECK 0x20000000 28031167Sminshall # define OIA_COMM_CHECK 0x10000000 28131167Sminshall # define OIA_PROGRAM_CHECK 0x08000000 28231167Sminshall # define OIA_RETRY 0x04000000 28331167Sminshall # define OIA_DEVICE_NOT_WORKING 0x02000000 28431167Sminshall # define OIA_DEVICE_VERY_BUSY 0x01000000 28531167Sminshall 28631167Sminshall # define OIA_DEVICE_BUSY 0x00800000 28731167Sminshall # define OIA_TERMINAL_WAIT 0x00400000 28831167Sminshall # define OIA_MINUS_SYMBOL 0x00200000 28931167Sminshall # define OIA_MINUS_FUNCTION 0x00100000 29031167Sminshall # define OIA_TOO_MUCH_ENTERED 0x00080000 29131167Sminshall # define OIA_NOT_ENOUGH_ENTERED 0x00040000 29231167Sminshall # define OIA_WRONG_NUMBER 0x00020000 29331167Sminshall # define OIA_NUMERIC_FIELD 0x00010000 29431167Sminshall 29531167Sminshall # define OIA_OP_UNAUTHORIZED 0x00008000 29631167Sminshall # define OIA_OP_UNAUTHORIZED_MIN 0x00004000 29731167Sminshall # define OIA_INVALID_DEAD_KEY_COMBO 0x00002000 29831167Sminshall # define OIA_WRONG_PLACE 0x00001000 29931167Sminshall 30031167Sminshall # define OIA_MESSAGE_PENDING 0x00000080 30131167Sminshall # define OIA_PARTITION_WAIT 0x00000040 30231167Sminshall # define OIA_SYSTEM_WAIT 0x00000020 30331167Sminshall # define OIA_HARDWARE_MISMATCH 0x00000010 30431167Sminshall # define OIA_LOGICAL_TERM_NOT_CONF 0x00000008 30531167Sminshall 30631167Sminshall 30731167Sminshall # define OIA_AUTOKEY_INHIBIT 0x80 30831167Sminshall # define OIA_API_INHIBIT 0x40 30931167Sminshall 31031167Sminshall #define OIA_PSS_GROUP_2 0x09 31131167Sminshall # define OIA_PS_SELECTED 0x80 31231167Sminshall # define OIA_PC_DISPLAY_DISABLE 0x40 31331167Sminshall 31431167Sminshall #define OIA_HIGHLIGHT_GROUP_2 0x0a 31531167Sminshall #define OIA_COLOR_GROUP_2 0x0b 31631167Sminshall # define OIA_SELECTED 0x80 31731167Sminshall 31831167Sminshall #define OIA_COMMUNICATION_ERROR_REMINDER 0x0c 31931167Sminshall # define OIA_COMM_ERROR 0x80 32031167Sminshall # define OIA_RTM 0x40 32131167Sminshall 32231167Sminshall #define OIA_PRINTER_STATUS 0x0d 32331167Sminshall # define OIA_PRINT_NOT_CUSTOM 0x80 32431167Sminshall # define OIA_PRINTER_MALFUNCTION 0x40 32531167Sminshall # define OIA_PRINTER_PRINTING 0x20 32631167Sminshall # define OIA_ASSIGN_PRINTER 0x10 32731167Sminshall # define OIA_WHAT_PRINTER 0x08 32831167Sminshall # define OIA_PRINTER_ASSIGNMENT 0x04 32931167Sminshall 33031167Sminshall #define OIA_AUTOKEY_PLAY_RECORD_STATUS 0x10 33131167Sminshall # define OIA_PLAY 0x80 33231167Sminshall # define OIA_RECORD 0x40 33331167Sminshall 33431167Sminshall #define OIA_AUTOKEY_ABORT_PAUSE_STATUS 0x11 33531167Sminshall # define OIA_RECORDING_OVERFLOW 0x80 33631167Sminshall # define OIA_PAUSE 0x40 33731167Sminshall 33831167Sminshall #define OIA_ENLARGE_STATE 0x12 33931167Sminshall # define OIA_WINDOW_IS_ENLARGED 0x80 34031167Sminshall 34131167Sminshall 34231167Sminshall 343