/* BEGIN INCLUDE FILE ... tty_convert.incl.pl1 */ /* tty_ conversion tables */ /* Created 11/3/75 by Robert S. Coren */ /* Info structures added 5/19/77 by Robert S. Coren */ /* Length of cv_trans changed from 128 to 256 05/03/78 by Robert Coren */ /* conversion table mnemonics added JRDavis 21 Aug 80 */ /* fix special_chars_struc to have good refers Fri 13 Feb 81 JRDavis */ /****^ HISTORY COMMENTS: 1) change(85-12-01,Negaret), approve(87-07-23,MCR7742), audit(87-07-23,GDixon), install(87-08-04,MR12.1-1056): Added INPUT_CONVERT_DSA_CR_PROCESSING constant. 2) change(88-01-22,Brunelle), approve(88-01-22,MCR7813), audit(88-10-05,Blair), install(88-10-17,MR12.2-1171): Expand c_chars definition from 3 chars to 15. Change SPECIAL_VERSION from 1 to 2. Add version variable to get_special_info_struc and define SPECIAL_INFO_STRUCT_VERSION_1. END HISTORY COMMENTS */ /* format: style2,linecom,^indnoniterdo,indcomtxt,^inditerdo,dclind5,idind25 */ dcl 1 special_chars aligned based, /* table of special character sequences */ 2 nl_seq aligned like c_chars, /* new-line sequence */ 2 cr_seq aligned like c_chars, /* carriage-return sequence */ 2 bs_seq aligned like c_chars, /* backspace sequence */ 2 tab_seq aligned like c_chars, /* horizontal tab sequence */ 2 vt_seq aligned like c_chars, /* vertical tab sequence */ 2 ff_seq aligned like c_chars, /* form-feed sequence */ 2 printer_on aligned like c_chars, /* printer-on sequence */ 2 printer_off aligned like c_chars, /* printer_off sequence */ 2 red_ribbon_shift aligned like c_chars, /* red ribbon shift sequence */ 2 black_ribbon_shift aligned like c_chars, /* black ribbon shift sequence */ 2 end_of_page aligned like c_chars, /* end-of-page warning sequence */ 2 escape_length fixed bin, /* number of escape sequences */ 2 not_edited_escapes (sc_escape_len refer (special_chars.escape_length)) like c_chars, /* use in ^edited mode */ 2 edited_escapes (sc_escape_len refer (special_chars.escape_length)) like c_chars, /* use in edited mode */ 2 input_escapes aligned, 3 len fixed bin (8) unaligned, /* length of string */ 3 str char (sc_input_escape_len refer (special_chars.input_escapes.len)) unaligned, /* escape sequence characters */ 2 input_results aligned, 3 pad bit (9) unaligned, /* so that strings will look the same */ 3 str char (sc_input_escape_len refer (special_chars.input_escapes.len)) unaligned; /* results of escape sequences */ dcl c_chars_ptr ptr; dcl 1 c_chars based (c_chars_ptr) aligned, 2 count fixed bin (8) unaligned, 2 chars (15) char (1) unaligned; dcl sc_escape_len fixed bin; /* count of output escapes to allocate in special_chars */ dcl sc_input_escape_len fixed bin; /* count of input escapes to allocate in special_chars */ dcl 1 cv_trans based aligned, /* conversion/translation table format */ 2 value (0:255) fixed bin (8) unal; dcl 1 delay based aligned, /* delay counts for output */ 2 vert_nl fixed bin, 2 horz_nl float bin, 2 const_tab fixed bin, 2 var_tab float bin, 2 backspace fixed bin, 2 vt_ff fixed bin; /* info structures used with orders */ dcl 1 special_chars_struc aligned based, 2 version fixed bin, 2 default fixed bin, /* non-zero indicates use default */ 2 special_chars, /* same as level-1 above */ /* has to be spelled out instead of using like */ /* because of refer options */ 3 nl_seq aligned like c_chars, /* new-line sequence */ 3 cr_seq aligned like c_chars, /* carriage-return sequence */ 3 bs_seq aligned like c_chars, /* backspace sequence */ 3 tab_seq aligned like c_chars, /* horizontal tab sequence */ 3 vt_seq aligned like c_chars, /* vertical tab sequence */ 3 ff_seq aligned like c_chars, /* form-feed sequence */ 3 printer_on aligned like c_chars, /* printer-on sequence */ 3 printer_off aligned like c_chars, /* printer_off sequence */ 3 red_ribbon_shift aligned like c_chars, /* red ribbon shift sequence */ 3 black_ribbon_shift aligned like c_chars, /* black ribbon shift sequence */ 3 end_of_page aligned like c_chars, /* end-of-page warning sequence */ 3 escape_length fixed bin, /* number of escape sequences */ 3 not_edited_escapes (sc_escape_len refer (special_chars_struc.escape_length)) like c_chars, /* use in ^edited mode */ 3 edited_escapes (sc_escape_len refer (special_chars_struc.escape_length)) like c_chars, /* use in edited mode */ 3 input_escapes aligned, 4 len fixed bin (8) unaligned, /* length of string */ 4 str char (sc_input_escape_len refer (special_chars_struc.input_escapes.len)) unaligned, /* escape sequence characters */ 3 input_results aligned, 4 pad bit (9) unaligned, /* so that strings will look the same */ 4 str char (sc_input_escape_len refer (special_chars_struc.input_escapes.len)) unaligned; /* results of escape sequences */ dcl 1 cv_trans_struc aligned based, /* all conversion/translation tables */ 2 version fixed bin, 2 default fixed bin, /* as above */ 2 cv_trans like cv_trans; dcl 1 delay_struc aligned based, 2 version fixed bin, 2 default fixed bin, /* as above */ 2 delay like delay; dcl 1 get_special_info_struc based aligned, /* get_special order */ 2 version char (8), 2 area_ptr pointer, 2 table_ptr pointer; dcl SPECIAL_INFO_STRUCT_VERSION_1 char (8) int static options (constant) init ("sisv1000"); dcl SPECIAL_VERSION fixed bin int static options (constant) init (1); dcl SPECIAL_VERSION_2 fixed bin int static options (constant) init (2); dcl DELAY_VERSION fixed bin int static options (constant) init (1); dcl CV_TRANS_VERSION fixed bin int static options (constant) init (2); dcl CV_TRANS_SIZE (2) fixed bin int static options (constant) init (127, 255); /* indexed by version number */ /* values for input and output conversion tables */ dcl ( INPUT_CONVERT_ORDINARY init (0), INPUT_CONVERT_BREAK init (1), INPUT_CONVERT_ESCAPE init (2), INPUT_CONVERT_DISCARD init (3), INPUT_CONVERT_FORMFEED init (4), INPUT_CONVERT_PRECEDENCE_DISCARD init (5), INPUT_CONVERT_DSA_CR_PROCESSING init (6) ) fixed bin (8) unaligned internal static options (constant); dcl ( OUTPUT_CONVERT_ORDINARY init (0), OUTPUT_CONVERT_NEWLINE init (1), OUTPUT_CONVERT_CR init (2), OUTPUT_CONVERT_HT init (3), OUTPUT_CONVERT_BS init (4), OUTPUT_CONVERT_VT init (5), OUTPUT_CONVERT_FF init (6), OUTPUT_CONVERT_OCTAL init (7), OUTPUT_CONVERT_RRS init (8), OUTPUT_CONVERT_BRS init (9), OUTPUT_CONVERT_NO_MOTION init (10), OUTPUT_CONVERT_PRECEDENCE_NO_MOTION init (11), OUTPUT_CONVERT_DONT_SEND init (12), OUTPUT_CONVERT_NOT_USED_13 init (13), OUTPUT_CONVERT_NOT_USED_14 init (14), OUTPUT_CONVERT_NOT_USED_15 init (15), OUTPUT_CONVERT_NOT_USED_16 init (16), OUTPUT_CONVERT_FIRST_SPECIAL init (17) ) fixed bin (8) unaligned internal static options (constant); /* END INCLUDE FILE ... tty_convert.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 */