/* BEGIN: ttt.incl.pl1 * * * * * */ /* This include file describes the terminal type table (TTT) and the various subtables it contains. */ /****^ HISTORY COMMENTS: 1) change(77-05-18,RCoren), approve(), audit(), install(): Created Modified 5/29/81 by Suzanne Krupp to make TTT_version = 2, to change ttt and tte structures to include function key info 2) change(84-12-17,Negaret), approve(87-07-28,MCR7742), audit(87-07-23,Gilcrease), install(87-08-04,MR12.1-1056): Add the dsatm_device table. 3) change(87-03-05,LJAdams), approve(87-03-05,MCR7646), audit(87-05-05,Gilcrease), install(87-05-08,MR12.1-1029): Add the protocol field to the terminal type entry table. Change TTT_version to TTT_version_3. 4) change(87-06-26,LJAdams), approve(87-07-09,MCR7742), audit(87-07-23,Gilcrease), install(87-08-04,MR12.1-1056): Changed constant value for extended_tables_ntables from 2 to 3 in order to accommodate addition of DSA table. 5) change(88-01-22,Brunelle), approve(88-01-22,MCR7813), audit(88-10-05,Blair), install(88-10-17,MR12.2-1171): 1. Extend special character definition to 15 chars instead of three. 2. add comment field to tte. END HISTORY COMMENTS */ dcl TTT_version_4 fixed bin int static options (constant) init (4); dcl tttp ptr; dcl 1 ttt aligned based (tttp), 2 author like author_dcl.author, 2 version fixed bin, 2 n_tt_entries fixed bin, 2 n_tables fixed bin, 2 n_special_tables fixed bin, 2 n_fkey_tables fixed bin, 2 fkey_offset fixed bin(18), 2 default_type_offset fixed bin (18), 2 answerback_offset fixed bin (18), 2 total_ttt_size fixed bin (18), 2 type_map fixed bin, /* index of type implied by MAP command */ 2 type_963 fixed bin, /* likewise for 963 command */ 2 type_029 fixed bin, /* likewise for 029 command */ 2 highest_coded_type fixed bin, /* highest value used so far for coded_type */ /* start entries on 8-word boundary */ 2 tt_entries (0 refer (ttt.n_tt_entries)) like tte, 2 tables (0 refer (ttt.n_tables)) like table_entry, /* conversion and translation tables */ 2 rest_of_ttt (1) fixed bin; /* placeholder for special_tables, function_key_tables, * delay tables, initial strings, * additional_info strings, default_types table, * answerback table */ dcl ttep ptr; dcl 1 tte based (ttep) aligned, /* terminal type entry */ 2 name char (32) unal, 2 modes char (256), 2 initial_string, 3 offset fixed bin (18), 3 length fixed bin, 2 additional_info, 3 offset fixed bin (18), 3 length fixed bin, 2 comment, 3 offset fixed bin (18), 3 length fixed bin, 2 tables, 3 input_translation_rp fixed bin (18), /* offset of input translation table */ 3 output_translation_rp fixed bin (18), /* " " output " " */ 3 input_conversion_rp fixed bin (18), /* " " input conversion " */ 3 output_conversion_rp fixed bin (18), /* " " output " " */ 3 special_rp fixed bin (18), /* " " special_chars table */ 3 fkey_rp fixed bin(18), 3 delay_rp fixed bin (18), /* offset of array of delay tables */ 2 line_types bit (72), /* terminal type is possible only if corresponding line_type bit is on */ 2 editing_chars aligned, 3 erase char (1) unal, 3 kill char (1) unal, 3 framing_chars unal, 4 frame_begin char (1) unal, 4 frame_end char (1) unal, 2 flags aligned, 3 keyboard_addressing bit (1) unal, 3 print_preaccess_message bit (1) unal, 3 conditional_printer_off bit (1) unal, 3 input_timeout bit (1) unal, 3 output_block_acknowledge bit (1) unal, 3 pad bit (31) unal, 2 old_type fixed bin, 2 like_type fixed bin, /* index of entry which this one is "like" */ 2 like_flags unal, /* only meaningful if like_type is non-0 */ 3 bauds_overridden bit (1), 3 delay_overridden (6) bit (1), /* one for each kind of delay statement */ 3 pad bit (11) unal, 2 line_delimiter char (1) unal, /* default line delimiter, untanslated */ 2 pad1 bit (9) unal, 2 coded_type fixed bin, /* used for storing type values in PDT & PNT */ 2 flow_control_chars unal, 3 input_suspend char (1), 3 input_resume char (1), 3 output_suspend_etb char (1), 3 output_resume_ack char (1), 2 output_buffer_size fixed bin, 2 extended_tables_rp fixed bin (18), /* rel pointer to extended_tables */ 2 protocol fixed bin; /* 0=NONE 1=MOWSE */ /* 2=MOWSE_FANSI */ dcl extended_tablesp ptr; dcl 1 extended_tables aligned based (extended_tablesp), 2 ntables fixed bin, 2 tables_rp (extended_tables_ntables refer (extended_tables.ntables)) fixed bin (18); dcl (VIDEO_RP init (1), /* indexes in tables_rp */ FUNCTION_KEY_RP init (2), DSATM_DEVICE_RP init (3)) fixed bin int static options (constant); dcl extended_tables_ntables fixed bin int static options (constant) init (3); dcl dfttp ptr; dcl 1 dftt based (dfttp) aligned, /* default_types table */ 2 dft_count fixed bin, 2 dftte (0 refer (dftt.dft_count)), 3 baud fixed bin, 3 line_type fixed bin, 3 term_type_index fixed bin; dcl tablep ptr; dcl 1 table_entry aligned based (tablep), 2 name char (32) unal, 2 type fixed bin, /* 1 = conversion, 2 = translation */ 2 table like cv_trans_struc; dcl 1 special_table aligned based, 2 name char (32) unal, 2 type fixed bin, 2 table, 3 version fixed bin, 3 default fixed bin, /* non-zero indicates use default */ 3 special_chars, /* same as level-1 above */ /* has to be spelled out instead of using like */ /* because of refer options */ 4 nl_seq aligned like c_chars, /* new-line sequence */ 4 cr_seq aligned like c_chars, /* carriage-return sequence */ 4 bs_seq aligned like c_chars, /* backspace sequence */ 4 tab_seq aligned like c_chars, /* horizontal tab sequence */ 4 vt_seq aligned like c_chars, /* vertical tab sequence */ 4 ff_seq aligned like c_chars, /* form-feed sequence */ 4 printer_on aligned like c_chars, /* printer-on sequence */ 4 printer_off aligned like c_chars, /* printer_off sequence */ 4 red_ribbon_shift aligned like c_chars, /* red ribbon shift sequence */ 4 black_ribbon_shift aligned like c_chars, /* black ribbon shift sequence */ 4 end_of_page aligned like c_chars, /* end-of-page warning sequence */ 4 escape_length fixed bin, /* number of escape sequences */ 4 not_edited_escapes (sc_escape_len refer (special_table.escape_length)) like c_chars, /* use in ^edited mode */ 4 edited_escapes (sc_escape_len refer (special_table.escape_length)) like c_chars, /* use in edited mode */ 4 input_escapes aligned, 5 len fixed bin (8) unaligned, /* length of string */ 5 str char (sc_input_escape_len refer (special_table.input_escapes.len)) unaligned, /* escape sequence characters */ 4 input_results aligned, 5 pad bit (9) unaligned, /* so that strings will look the same */ 5 str char (sc_input_escape_len refer (special_table.input_escapes.len)) unaligned; /* results of escape sequences */ dcl fkey_tablep ptr; dcl 1 fkey_table aligned based (fkey_tablep), 2 name char(32) unal, 2 fkey_data aligned, 3 version fixed bin, 3 highest fixed bin, 3 sequence, /* string of all seqs*/ 4 seq_offset fixed bin(18), /* offset in ttt of sequence */ 4 pad bit(36), /* pad makes overlay of function_key_data struct possible */ 4 seq_len fixed bin(21), 3 cursor_motion_keys, 4 home (0:3) like template, 4 left (0:3) like template, 4 up (0:3) like template, 4 right (0:3) like template, 4 down (0:3) like template, 3 function_keys (0:function_key_data_highest refer(fkey_table.highest), 0:3) like template; dcl template_ptr ptr; dcl 1 template unaligned based(template_ptr), 2 sequence_index fixed bin(12) unsigned unaligned, 2 sequence_length fixed bin(6) unsigned unaligned; dcl delay_tablep ptr; dcl 1 delay_table based (delay_tablep) aligned, 2 n_bauds fixed bin, 2 delay_array (0 refer (delay_table.n_bauds)), 3 baud_rate fixed bin, 3 version fixed bin, 3 mbz fixed bin, 3 delays (6) fixed bin; dcl answerback_entry_ptr ptr; dcl answerback_length fixed bin; /* automatic copy of length of char string */ dcl 1 answerback_entry based (answerback_entry_ptr) aligned, 2 next fixed bin (18), /* offset of next answerback table entry */ 2 term_type_index fixed bin, 2 def_string, 3 length fixed bin, 3 chars (answerback_length refer (answerback_entry.length)) char (1) unal; dcl CONV_TYPE fixed bin int static options (constant) init (1); dcl TRANS_TYPE fixed bin int static options (constant) init (2); dcl SPEC_TYPE fixed bin int static options (constant) init (3); dcl FKEY_TYPE fixed bin int static options (constant) init (4); dcl table_types (4) char (12) int static options (constant) init ("conversion", "translation", "special", "function_key"); dcl pa_name (3) char (3) int static options (constant) init ("MAP", "963", "029"); %include tty_convert; /* END OF: ttt.incl.pl1 * * * * * */ */ ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group Bull including Bull HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell Bull Inc., Groupe Bull and Bull HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, Bull or Bull HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by Bull HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved */