COMPILATION LISTING OF SEGMENT kermit_comm_mgr_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/17/88 1041.6 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 6* * * 7* *********************************************************** */ 8 9 10 11 /****^ HISTORY COMMENTS: 12* 1) change(87-11-24,Huen), approve(87-11-24,MCR7803), audit(87-12-07,RWaters), 13* install(88-09-16,MR12.2-1113): 14* Fix kermit error 11 and 13. 15* END HISTORY COMMENTS */ 16 17 18 kermit_comm_mgr_: proc; 19 20 /********************************************************************/ 21 /* */ 22 /*n kermit_comm_mgr_ */ 23 /* */ 24 /*d The communications manager is used to setup the state of */ 25 /*d the file transfer communications line prior to the start */ 26 /*d of a file transfer and to reset it on completion so that */ 27 /*d normal command communications can occur. */ 28 /* */ 29 /*l Written: 84-10-25 by Dean Elhard */ 30 /*m Modified: 86-10-09 by Don Kozlowski - Use "transfer_mode */ 31 /*m _set" flag to prevent any lost of the */ 32 /*m initial line. (kermit 13) */ 33 /*m Modified: 86-10-21 by Don Kozlowski - Use "blk_xfer" flag */ 34 /*m if not using "iox_$user_io" (kermit 11) */ 35 /*m Modified: 86-10-22 by Don Kozlowski - Add "^breakall" flag.*/ 36 /*m Set "^breakall" flag whenever "blk_xfer"*/ 37 /*m flag is set. (kermit 11) */ 38 /* */ 39 /********************************************************************/ 40 41 /* constants */ 42 43 dcl true bit (1) static options (constant) init ("1"b); 44 dcl false bit (1) static options (constant) init ("0"b); 45 46 dcl Constant_modes char (80) static options (constant) 47 init ("blk_xfer,^breakall,rawi,rawo,^echoplex,wake_tbl,^lfecho,ctl_char,^replay,^polite"); 48 dcl X25_modes char (26) static options (constant) 49 init ("rawi,rawo,^echoplex,lfecho"); 50 51 dcl Eight_bit_byte_size fixed bin (8) static options (constant) init (8); 52 53 dcl No_parity char (1) static options (constant) init ("N"); 54 dcl Mark_parity char (1) static options (constant) init ("M"); 55 dcl Space_parity char (1) static options (constant) init ("S"); 56 dcl Odd_parity char (1) static options (constant) init ("O"); 57 58 dcl No_frame_begin char (1) static options (constant) init(""); 59 60 /* parameters */ 61 62 dcl A_infop ptr parameter; 63 dcl A_code fixed bin (35) parameter; 64 65 /* procedures */ 66 67 dcl iox_$control entry (ptr, char(*), ptr, fixed bin(35)); 68 dcl iox_$modes entry (ptr, char(*), char(*), fixed bin(35)); 69 70 /* external */ 71 72 dcl kermit_et_$cannot_initialize_line 73 external fixed bin (35); 74 75 /* based */ 76 77 dcl 01 info aligned like kermit_info based (A_infop); 78 dcl 01 comm_info aligned like kermit_comm_info 79 based (info.comm_infop); 80 81 /* structures */ 82 83 dcl 01 break_info aligned like swt_info; 84 dcl 01 framing_chars aligned, 85 02 frame_begin char (1) unaligned, 86 02 frame_end char (1) unaligned; 87 dcl 01 ft_modes aligned, 88 02 eol_char char (1) unaligned, 89 02 parity char (1) unaligned; 90 dcl 01 delays aligned like delay_struc; 91 92 /* automatic */ 93 94 dcl line_byte_size fixed bin (8) unaligned; 95 dcl new_modes char (512); 96 dcl t_selector (1:2) fixed bin; 97 dcl p_selector (1:1) fixed bin; 98 dcl special_modes char (32) varying; 99 100 /* builtin */ 101 102 dcl addr builtin; 103 dcl null builtin; 104 dcl rank builtin; 105 106 /* include files */ 107 108 1 1 /* START OF: kermit_dcls.incl.pl1 * * * * * */ 1 2 1 3 /********************************************************************/ 1 4 /* */ 1 5 /*n kermit_dcls */ 1 6 /* */ 1 7 /*d This include file contains the declarations of the external */ 1 8 /*d kermit entrypoints that are called by other modules within */ 1 9 /*d kermit as well as an explanation of the parameters. */ 1 10 /* */ 1 11 /*l Written: 84-10-11 by Dean Elhard */ 1 12 /* */ 1 13 /********************************************************************/ 1 14 1 15 dcl kermit_comm_mgr_$flush_input 1 16 entry 1 17 (ptr, /* kermit info ptr */ 1 18 fixed bin(35)); /* error code */ 1 19 1 20 dcl kermit_comm_mgr_$reset_line_modes 1 21 entry 1 22 (ptr, /* kermit info ptr */ 1 23 fixed bin(35)); /* error code */ 1 24 1 25 dcl kermit_comm_mgr_$set_line_modes 1 26 entry 1 27 (ptr, /* kermit info ptr */ 1 28 fixed bin(35)); /* error code */ 1 29 1 30 dcl kermit_get_filenames_ entry 1 31 (ptr, /* kermit info ptr */ 1 32 char(*), /* argument */ 1 33 ptr, /* filename ptr */ 1 34 char(*), /* reason */ 1 35 fixed bin(35)); /* error code */ 1 36 1 37 dcl kermit_log_mgr_$close_log 1 38 entry 1 39 (ptr, /* kermit info ptr */ 1 40 fixed bin (35)); /* error code */ 1 41 1 42 dcl kermit_log_mgr_$disable entry 1 43 (ptr, /* kermit info ptr */ 1 44 fixed bin (35)); /* error code */ 1 45 1 46 dcl kermit_log_mgr_$display_stats 1 47 entry /* statistics command */ 1 48 (ptr, /* sci ptr */ 1 49 ptr); /* kermit info ptr */ 1 50 1 51 dcl kermit_log_mgr_$enable entry 1 52 (ptr, /* kermit info ptr */ 1 53 fixed bin (35)); /* error code */ 1 54 1 55 dcl kermit_log_mgr_$log_message 1 56 entry 1 57 (ptr, /* kermit info ptr */ 1 58 ptr); /* log info ptr */ 1 59 1 60 dcl kermit_log_mgr_$open_log 1 61 entry 1 62 (ptr, /* kermit info ptr */ 1 63 char (*) varying, /* log file name */ 1 64 fixed bin (35)); /* error code */ 1 65 1 66 dcl kermit_log_mgr_$start entry /* start log command */ 1 67 (ptr, /* sci ptr */ 1 68 ptr); /* kermit info ptr */ 1 69 1 70 dcl kermit_log_mgr_$stop entry /* stop log command */ 1 71 (ptr, /* sci ptr */ 1 72 ptr); /* kermit info ptr */ 1 73 1 74 dcl kermit_mode_mgr_$get entry /* get modes command */ 1 75 (ptr, /* sci ptr */ 1 76 ptr); /* kermit info ptr */ 1 77 1 78 dcl kermit_mode_mgr_$retrieve 1 79 entry 1 80 (ptr, /* kermit info ptr */ 1 81 fixed bin, /* permanent/temporary select */ 1 82 (*) fixed bin, /* mode selector array */ 1 83 ptr, /* mode value ptr */ 1 84 fixed bin (35)); /* error code */ 1 85 1 86 dcl kermit_mode_mgr_$set entry /* set modes command */ 1 87 (ptr, /* sci ptr */ 1 88 ptr); /* kermit info ptr */ 1 89 1 90 dcl kermit_mode_mgr_$store entry 1 91 (ptr, /* kermit info ptr */ 1 92 fixed bin, /* permanent/temporary select */ 1 93 (*) fixed bin, /* mode selector array */ 1 94 ptr, /* mode value ptr */ 1 95 fixed bin (35)); /* error code */ 1 96 1 97 dcl kermit_pad_$receive entry 1 98 (ptr, /* kermit info ptr */ 1 99 char (1), /* packet type */ 1 100 ptr, /* buffer pointer */ 1 101 fixed bin (21), /* buffer length */ 1 102 fixed bin, /* sequence number */ 1 103 fixed bin (21), /* chars received */ 1 104 fixed bin (21), /* packet size */ 1 105 bit (1), /* CR/NL split flag */ 1 106 fixed bin (35)); /* error code */ 1 107 1 108 dcl kermit_pad_$send entry 1 109 (ptr, /* kermit info ptr */ 1 110 char (1), /* packet type */ 1 111 ptr, /* data ptr */ 1 112 fixed bin (21), /* data length */ 1 113 fixed bin, /* sequence number */ 1 114 fixed bin (21), /* chars transmitted */ 1 115 fixed bin (21), /* packet length */ 1 116 fixed bin (35)); /* error code */ 1 117 1 118 dcl kermit_receive_$receive_from_remote 1 119 entry 1 120 (ptr, /* kermit info ptr */ 1 121 fixed bin, /* initial state */ 1 122 fixed bin, /* initial sequence number */ 1 123 char (*), /* user filename (first file) */ 1 124 bit (1), /* =1 if user gave filename */ 1 125 fixed bin, /* number of files received */ 1 126 fixed bin (35)); /* error code */ 1 127 1 128 dcl kermit_send_$send_to_remote 1 129 entry 1 130 (ptr, /* kermit info ptr */ 1 131 ptr, /* filenames area ptr */ 1 132 char (*), /* user filename (first file) */ 1 133 bit (1), /* =1 if user gave filename */ 1 134 fixed bin, /* number of files sent */ 1 135 fixed bin (35)); /* error code */ 1 136 1 137 1 138 dcl kermit_server_ 1 139 entry 1 140 (ptr, /* kermit info ptr */ 1 141 ptr); /* filenames area ptr */ 1 142 1 143 1 144 dcl kermit_xfer_modes_$check_params 1 145 entry 1 146 (ptr, /* kermit info ptr */ 1 147 ptr, /* remote parameters */ 1 148 fixed bin (21), /* remote parameters length */ 1 149 ptr, /* local parameters */ 1 150 fixed bin (35)); /* error code */ 1 151 1 152 dcl kermit_xfer_modes_$init 1 153 entry 1 154 (ptr, /* ptr to kermit info */ 1 155 fixed bin (35)); /* error code */ 1 156 1 157 dcl kermit_xfer_modes_$get_local_params 1 158 entry 1 159 (ptr, /* kermit info ptr */ 1 160 ptr, /* local parameters */ 1 161 fixed bin (21), /* local parameters length */ 1 162 ptr, /* encoded parameters */ 1 163 fixed bin (21), /* encoded parameters length */ 1 164 fixed bin (35)); /* error code */ 1 165 1 166 dcl kermit_xfer_modes_$process_params 1 167 entry 1 168 (ptr, /* kermit info ptr */ 1 169 ptr, /* remote parameters */ 1 170 fixed bin (21), /* remote parameters length */ 1 171 ptr, /* local parameters */ 1 172 fixed bin (35)); /* error code */ 1 173 1 174 /* END OF: kermit_dcls.incl.pl1 * * * * * */ 109 110 2 1 /* START OF: kermit_info.incl.pl1 * * * * * */ 2 2 2 3 2 4 2 5 2 6 /****^ HISTORY COMMENTS: 2 7* 1) change(88-05-16,Huen), approve(88-05-16,MCR7841), audit(88-05-25,RWaters), 2 8* install(88-07-05,MR12.2-1054): 2 9* Fix kermit 15, 16, 17, and 18. 2 10* END HISTORY COMMENTS */ 2 11 2 12 2 13 /********************************************************************/ 2 14 /* */ 2 15 /*n kermit_constants */ 2 16 /* */ 2 17 /*d This structure contains the constant definitions of CR, */ 2 18 /*d and NL characters which are coded as bit strings with */ 2 19 /*d overlays. */ 2 20 /* */ 2 21 /*l Written: 87-06-19 by Don Kozlowski */ 2 22 /*l Modified: 87-06-19 by Don Kozlowski - CR and NL are coded */ 2 23 /*l as bit strings with overlays (kermit 15)*/ 2 24 /* */ 2 25 /********************************************************************/ 2 26 2 27 dcl 01 kermit_bit_constants internal static options (constant), 2 28 02 CR_bit bit (9) unaligned init ("015"b3), 2 29 02 NL_bit bit (9) unaligned init ("012"b3); 2 30 2 31 dcl 01 kermit_char_constants based (addr (kermit_bit_constants)), 2 32 02 CR char (1) unaligned, 2 33 02 NL char (1) unaligned; 2 34 2 35 dcl 01 kermit_fixed_constants based (addr (kermit_bit_constants)), 2 36 02 CR_fixed fixed bin (9) unsigned unaligned, 2 37 02 NL_fixed fixed bin (9) unsigned unaligned; 2 38 2 39 2 40 /********************************************************************/ 2 41 /* */ 2 42 /*n kermit_info */ 2 43 /* */ 2 44 /*d This data structure is the subsystem info structure used */ 2 45 /*d when creating a kermit invocation. It is used to find the */ 2 46 /*d three kermit databases. */ 2 47 /* */ 2 48 /*l Written: 84-10-11 by Dean Elhard */ 2 49 /* */ 2 50 /********************************************************************/ 2 51 2 52 dcl 01 kermit_info aligned based (kermit_infop), 2 53 02 version char (8), 2 54 02 sci_ptr ptr, /* ssu_ sci_ptr */ 2 55 02 perm_modesp ptr, /* ptr to permanent modes db */ 2 56 02 temp_modesp ptr, /* ptr to temporary modes db */ 2 57 02 log_infop ptr, /* ptr to log info db */ 2 58 02 comm_infop ptr; /* ptr to comm info db */ 2 59 2 60 dcl kermit_infop ptr; 2 61 dcl kermit_info_version char (8) static options (constant) 2 62 init ("ki 1.0"); 2 63 2 64 /********************************************************************/ 2 65 /* */ 2 66 /*n kermit_perm_modes */ 2 67 /* */ 2 68 /*d This data structure contains the array of 9-bit values that */ 2 69 /*d represent the permanent kermit modes. */ 2 70 /* */ 2 71 /*l Written: 84-10-11 by Dean Elhard */ 2 72 /*l Modified: 87-06-12 by Don Kozlowski - Increase mode_counts */ 2 73 /*l (kermit 16) */ 2 74 /* */ 2 75 /********************************************************************/ 2 76 2 77 dcl 01 kermit_perm_modes aligned based (kermit_perm_modesp), 2 78 02 version char (8), 2 79 02 mode (1:kermit_perm_mode_count) 2 80 bit (9) unaligned; 2 81 2 82 dcl kermit_perm_modesp ptr; 2 83 dcl kermit_perm_mode_count fixed bin static options (constant) init (20); 2 84 dcl kermit_perm_modes_version 2 85 char (8) static options (constant) 2 86 init ("kpm 1.1"); 2 87 2 88 /********************************************************************/ 2 89 /* */ 2 90 /*n kermit_temp_modes */ 2 91 /* */ 2 92 /*d This data structure contains the array of 9-bit values that */ 2 93 /*d represent the temporary kermit modes. */ 2 94 /* */ 2 95 /*l Written: 84-10-11 by Dean Elhard */ 2 96 /* */ 2 97 /********************************************************************/ 2 98 2 99 dcl 01 kermit_temp_modes aligned based (kermit_temp_modesp), 2 100 02 version char (8), 2 101 02 mode (1:kermit_temp_mode_count) 2 102 bit (9) unaligned; 2 103 2 104 dcl kermit_temp_modesp ptr; 2 105 dcl kermit_temp_mode_count fixed bin static options (constant) init (23); 2 106 dcl kermit_temp_modes_version 2 107 char (8) static options (constant) 2 108 init ("ktm 1.1"); 2 109 2 110 /********************************************************************/ 2 111 /* */ 2 112 /*n kermit_log_info */ 2 113 /* */ 2 114 /*d This data structure contains 2 types of logging info: */ 2 115 /*d - data concerning the logging state and log_file */ 2 116 /*d - statistics on the last completed file-transfer */ 2 117 /* */ 2 118 /*l Written: 84-10-11 by Dean Elhard */ 2 119 /* */ 2 120 /********************************************************************/ 2 121 2 122 dcl 01 kermit_log_info aligned based (kermit_log_infop), 2 123 02 version char (8), 2 124 02 log_file aligned, /* log_file info */ 2 125 03 iocbp ptr, /* iocb ptr */ 2 126 03 flags aligned, 2 127 04 enabled bit (1) unaligned, /* enabled flag */ 2 128 04 stats_valid bit (1) unaligned, /* stats are set */ 2 129 04 mbz bit (34) unaligned, 2 130 02 statistics aligned like kermit_stats_info; 2 131 2 132 dcl kermit_log_infop ptr; 2 133 dcl kermit_log_info_version char (8) static options (constant) 2 134 init ("kli 1.0"); 2 135 2 136 /********************************************************************/ 2 137 /* */ 2 138 /*n kermit_stats_info */ 2 139 /* */ 2 140 /*d This structure is the statistics information passed to the */ 2 141 /*d log manager and stored as the statistics. */ 2 142 /* */ 2 143 /*l Written: 84-10-25 by Dean Elhard */ 2 144 /* */ 2 145 /********************************************************************/ 2 146 2 147 dcl 01 kermit_stats_info aligned based (kermit_stats_infop), 2 148 02 caller char (32), /* send or receive */ 2 149 02 status fixed bin (35), /* status of F-T */ 2 150 02 filename char (194) unal, /* name of file */ 2 151 02 file_len fixed bin (21), /* len in chars */ 2 152 02 char_count fixed bin (21), /* number sent */ 2 153 02 packet_chars fixed bin (21), /* after encoding */ 2 154 02 packet_count fixed bin (21), /* num of packets */ 2 155 02 packet_retries fixed bin (21), /* retries done */ 2 156 02 start_time fixed bin (71), /* time F-T started */ 2 157 02 end_time fixed bin (71), /* time F-T done */ 2 158 02 error_message char (94); /* rcvd error msg */ 2 159 2 160 dcl kermit_stats_infop ptr; 2 161 2 162 /********************************************************************/ 2 163 /* */ 2 164 /*n kermit_comm_info */ 2 165 /* */ 2 166 /*d This data structure contains information regarding the */ 2 167 /*d communications channel over which the file transfer takes */ 2 168 /*d place. */ 2 169 /* */ 2 170 /*l Written: 84-10-12 by Dean Elhard */ 2 171 /*l Modified: 86-10-09 by Don Kozlowski Add transfer_modes_set */ 2 172 /*l and server indicators. (kermit 13) */ 2 173 /* */ 2 174 /********************************************************************/ 2 175 2 176 dcl 01 kermit_comm_info aligned based (kermit_comm_infop), 2 177 02 version char (8), 2 178 02 ft_iocbp ptr, /* transfer iocbp */ 2 179 02 debug_segp ptr, /* debug segment */ 2 180 02 debug_segl fixed bin (21), 2 181 02 input_buffer aligned, /* input buffer */ 2 182 03 bufferp ptr, 2 183 03 bufferl fixed bin (21), 2 184 02 old_modes char (512) unal, /* ft switch modes */ 2 185 02 old_framing_chars aligned, /* saved frm chars */ 2 186 03 start_char char (1) unaligned, 2 187 03 end_char char (1) unaligned, 2 188 03 server bit (1) unaligned, /* In server mode */ 2 189 03 transfer_modes_set bit (1) unaligned, 2 190 03 pad bit (16) unaligned, 2 191 02 old_wake_table aligned, /* saved wake table */ 2 192 03 breaks (0:127) bit (1) unaligned, 2 193 03 mbz bit (16) unaligned, 2 194 02 old_delays aligned, /* saved delay info */ 2 195 03 version fixed bin, 2 196 03 default fixed bin, 2 197 03 delay, 2 198 04 vert_nl fixed bin, 2 199 04 horz_nl fixed bin, 2 200 04 const_tab float bin, 2 201 04 var_tab fixed bin, 2 202 04 backspace fixed bin, 2 203 04 vt_ff fixed bin; 2 204 2 205 dcl kermit_comm_infop ptr; 2 206 dcl kermit_comm_info_version 2 207 char (8) static options (constant) 2 208 init ("kci 1.0"); 2 209 2 210 /* END OF: kermit_info.incl.pl1 * * * * * */ 111 112 3 1 /* START OF: kermit_mode_info.incl.pl1 * * * * * */ 3 2 3 3 3 4 3 5 3 6 /****^ HISTORY COMMENTS: 3 7* 1) change(88-05-16,Huen), approve(88-05-16,MCR7841), audit(88-05-25,RWaters), 3 8* install(88-07-05,MR12.2-1054): 3 9* Fix kermit 15, 16, 17, and 18. 3 10* END HISTORY COMMENTS */ 3 11 3 12 3 13 /************************************************************************/ 3 14 /* */ 3 15 /*l Modified: 87-06-19 by S. Huen - Add fields for capabilities, */ 3 16 /*l window_size, max_len_ext_1 and max_len_ext_2 based */ 3 17 /*l on D. Kozlowski's version. (kermit 16) */ 3 18 /* */ 3 19 /************************************************************************/ 3 20 3 21 dcl Permanent fixed bin static options (constant) init (1); 3 22 dcl Temporary fixed bin static options (constant) init (2); 3 23 3 24 dcl Store_all (1:1) fixed bin static options (constant) init (0); 3 25 dcl Retrieve_all (1:1) fixed bin static options (constant) init (0); 3 26 3 27 dcl Maxl fixed bin static options (constant) init (1); 3 28 dcl Timeout fixed bin static options (constant) init (2); 3 29 dcl N_pads fixed bin static options (constant) init (3); 3 30 dcl Pad_char fixed bin static options (constant) init (4); 3 31 dcl Eol_char fixed bin static options (constant) init (5); 3 32 dcl Quote_char fixed bin static options (constant) init (6); 3 33 dcl Eight_bit_char fixed bin static options (constant) init (7); 3 34 dcl Repeat_char fixed bin static options (constant) init (8); 3 35 dcl Start_char fixed bin static options (constant) init (9); 3 36 dcl Check_type fixed bin static options (constant) init (10); 3 37 dcl Parity fixed bin static options (constant) init (11); 3 38 dcl Incomplete fixed bin static options (constant) init (12); 3 39 dcl File_warning fixed bin static options (constant) init (13); 3 40 dcl File_type fixed bin static options (constant) init (14); 3 41 dcl Retry_threshold fixed bin static options (constant) init (15); 3 42 dcl Line_byte_size fixed bin static options (constant) init (16); 3 43 dcl Window_size fixed bin static options (constant) init (17); 3 44 dcl Max_len_ext_1 fixed bin static options (constant) init (18); 3 45 dcl Max_len_ext_2 fixed bin static options (constant) init (19); 3 46 dcl Capabilities fixed bin static options (constant) init (20); 3 47 3 48 dcl 01 Perm_defaults aligned static options (constant), 3 49 02 maxl fixed bin (8) unal init (80), 3 50 02 time fixed bin (8) unal init (15), 3 51 02 npad fixed bin (8) unal init (0), 3 52 02 padc char (1) unal init (""), 3 53 02 eol char (1) unal init (" "), 3 54 02 qctl char (1) unal init ("#"), 3 55 02 qbin char (1) unal init ("&"), 3 56 02 rept char (1) unal init ("~"), 3 57 02 start char (1) unal init (""), 3 58 02 chkt fixed bin (8) unal init (1), 3 59 02 parity char (1) unal init ("N"), 3 60 02 incomplete char (1) unal init ("K"), 3 61 02 file_warning char (1) unal init ("Y"), 3 62 02 file_type char (1) unal init ("A"), 3 63 02 retry_threshold fixed bin (8) unal init (5), 3 64 02 line_type fixed bin (8) unal init (7), 3 65 02 window_size fixed bin (8) unal init (0), 3 66 02 max_len_ext_1 fixed bin (8) unal init (5), 3 67 02 max_len_ext_2 fixed bin (8) unal init (25), 3 68 02 capabilities fixed bin (8) unal init (2); 3 69 3 70 3 71 dcl I_maxl fixed bin static options (constant) init (1); 3 72 dcl I_timeout fixed bin static options (constant) init (2); 3 73 dcl I_n_pads fixed bin static options (constant) init (3); 3 74 dcl I_pad_char fixed bin static options (constant) init (4); 3 75 dcl I_eol_char fixed bin static options (constant) init (5); 3 76 dcl I_quote_char fixed bin static options (constant) init (6); 3 77 dcl O_maxl fixed bin static options (constant) init (7); 3 78 dcl O_timeout fixed bin static options (constant) init (8); 3 79 dcl O_n_pads fixed bin static options (constant) init (9); 3 80 dcl O_pad_char fixed bin static options (constant) init (10); 3 81 dcl O_eol_char fixed bin static options (constant) init (11); 3 82 dcl O_quote_char fixed bin static options (constant) init (12); 3 83 dcl G_eight_bit_char fixed bin static options (constant) init (13); 3 84 dcl G_repeat_char fixed bin static options (constant) init (14); 3 85 dcl G_start_char fixed bin static options (constant) init (15); 3 86 dcl G_check_type fixed bin static options (constant) init (16); 3 87 dcl G_parity fixed bin static options (constant) init (17); 3 88 dcl G_window fixed bin static options (constant) init (18); 3 89 dcl I_max_lenx1 fixed bin static options (constant) init (19); 3 90 dcl I_max_lenx2 fixed bin static options (constant) init (20); 3 91 dcl O_max_lenx1 fixed bin static options (constant) init (21); 3 92 dcl O_max_lenx2 fixed bin static options (constant) init (22); 3 93 dcl G_capabilities fixed bin static options (constant) init (23); 3 94 3 95 dcl 01 Temp_defaults aligned static options (constant), 3 96 02 i_maxl fixed bin (8) unal init (80), 3 97 02 i_time fixed bin (8) unal init (15), 3 98 02 i_npad fixed bin (8) unal init (0), 3 99 02 i_padc char (1) unal init (""), 3 100 02 i_eol char (1) unal init (" "), 3 101 02 i_qctl char (1) unal init ("#"), 3 102 02 o_maxl fixed bin (8) unal init (80), 3 103 02 o_time fixed bin (8) unal init (15), 3 104 02 o_npad fixed bin (8) unal init (0), 3 105 02 o_padc char (1) unal init (""), 3 106 02 o_eol char (1) unal init (" "), 3 107 02 o_qctl char (1) unal init ("#"), 3 108 02 qbin char (1) unal init ("N"), 3 109 02 rept char (1) unal init (" "), 3 110 02 start char (1) unal init (""), 3 111 02 chkt fixed bin (8) unal init (1), 3 112 02 parity char (1) unal init ("N"), 3 113 02 window fixed bin (8) unal init (0), 3 114 02 i_maxlx1 fixed bin (8) unal init (5), 3 115 02 i_maxlx2 fixed bin (8) unal init (25), 3 116 02 o_maxlx1 fixed bin (8) unal init (5), 3 117 02 o_maxlx2 fixed bin (8) unal init (25), 3 118 02 capabilities fixed bin (8) unal init (2); 3 119 3 120 dcl Ext_Headers bit (9) static options (constant) init ("002"b3); 3 121 3 122 3 123 /* END OF: kermit_mode_info.incl.pl1 * * * * * */ 113 114 4 1 /* BEGIN INCLUDE FILE ... set_wakeup_table_info.incl.pl1 */ 4 2 4 3 /* Created 3/1/79 by J. Stern */ 4 4 4 5 4 6 dcl swt_infop ptr; 4 7 dcl swt_info_version_1 fixed bin static options (constant) init (1); 4 8 4 9 dcl 1 swt_info aligned based (swt_infop), /* info structure for set_wakeup_table control order */ 4 10 2 version fixed bin, /* version number of this structure */ 4 11 2 new_table like wakeup_table, /* wakeup table to set */ 4 12 2 old_table like wakeup_table; /* previous wakeup table */ 4 13 4 14 dcl wakeup_tablep ptr; 4 15 4 16 dcl 1 wakeup_table aligned based (wakeup_tablep), 4 17 2 wake_map (0:127) bit (1) unal, /* bit i ON if ith char is wakeup char */ 4 18 2 mbz bit (16) unal; 4 19 4 20 4 21 /* END INCLUDE FILE ... set_wakeup_table_info.incl.pl1 */ 115 116 5 1 /* BEGIN INCLUDE FILE ... tty_convert.incl.pl1 */ 5 2 5 3 /* tty_ conversion tables */ 5 4 /* Created 11/3/75 by Robert S. Coren */ 5 5 /* Info structures added 5/19/77 by Robert S. Coren */ 5 6 /* Length of cv_trans changed from 128 to 256 05/03/78 by Robert Coren */ 5 7 /* conversion table mnemonics added JRDavis 21 Aug 80 */ 5 8 /* fix special_chars_struc to have good refers Fri 13 Feb 81 JRDavis */ 5 9 5 10 5 11 /****^ HISTORY COMMENTS: 5 12* 1) change(85-12-01,Negaret), approve(87-07-23,MCR7742), 5 13* audit(87-07-23,GDixon), install(87-08-04,MR12.1-1056): 5 14* Added INPUT_CONVERT_DSA_CR_PROCESSING constant. 5 15* 2) change(88-01-22,Brunelle), approve(88-01-22,MCR7813), 5 16* audit(88-10-05,Blair), install(88-10-17,MR12.2-1171): 5 17* Expand c_chars definition from 3 chars to 15. Change SPECIAL_VERSION 5 18* from 1 to 2. Add version variable to get_special_info_struc and define 5 19* SPECIAL_INFO_STRUCT_VERSION_1. 5 20* END HISTORY COMMENTS */ 5 21 5 22 5 23 /* format: style2,linecom,^indnoniterdo,indcomtxt,^inditerdo,dclind5,idind25 */ 5 24 5 25 5 26 dcl 1 special_chars aligned based, /* table of special character sequences */ 5 27 2 nl_seq aligned like c_chars, /* new-line sequence */ 5 28 2 cr_seq aligned like c_chars, /* carriage-return sequence */ 5 29 2 bs_seq aligned like c_chars, /* backspace sequence */ 5 30 2 tab_seq aligned like c_chars, /* horizontal tab sequence */ 5 31 2 vt_seq aligned like c_chars, /* vertical tab sequence */ 5 32 2 ff_seq aligned like c_chars, /* form-feed sequence */ 5 33 2 printer_on aligned like c_chars, /* printer-on sequence */ 5 34 2 printer_off aligned like c_chars, /* printer_off sequence */ 5 35 2 red_ribbon_shift aligned like c_chars, /* red ribbon shift sequence */ 5 36 2 black_ribbon_shift aligned like c_chars, /* black ribbon shift sequence */ 5 37 2 end_of_page aligned like c_chars, /* end-of-page warning sequence */ 5 38 2 escape_length fixed bin, /* number of escape sequences */ 5 39 2 not_edited_escapes (sc_escape_len refer (special_chars.escape_length)) like c_chars, 5 40 /* use in ^edited mode */ 5 41 2 edited_escapes (sc_escape_len refer (special_chars.escape_length)) like c_chars, 5 42 /* use in edited mode */ 5 43 2 input_escapes aligned, 5 44 3 len fixed bin (8) unaligned, /* length of string */ 5 45 3 str char (sc_input_escape_len refer (special_chars.input_escapes.len)) unaligned, 5 46 /* escape sequence characters */ 5 47 2 input_results aligned, 5 48 3 pad bit (9) unaligned, /* so that strings will look the same */ 5 49 3 str char (sc_input_escape_len refer (special_chars.input_escapes.len)) unaligned; 5 50 /* results of escape sequences */ 5 51 5 52 5 53 dcl c_chars_ptr ptr; 5 54 dcl 1 c_chars based (c_chars_ptr) aligned, 5 55 2 count fixed bin (8) unaligned, 5 56 2 chars (15) char (1) unaligned; 5 57 5 58 dcl sc_escape_len fixed bin; /* count of output escapes to allocate in special_chars */ 5 59 dcl sc_input_escape_len fixed bin; /* count of input escapes to allocate in special_chars */ 5 60 5 61 5 62 dcl 1 cv_trans based aligned, /* conversion/translation table format */ 5 63 2 value (0:255) fixed bin (8) unal; 5 64 5 65 5 66 dcl 1 delay based aligned, /* delay counts for output */ 5 67 2 vert_nl fixed bin, 5 68 2 horz_nl float bin, 5 69 2 const_tab fixed bin, 5 70 2 var_tab float bin, 5 71 2 backspace fixed bin, 5 72 2 vt_ff fixed bin; 5 73 5 74 /* info structures used with orders */ 5 75 5 76 dcl 1 special_chars_struc aligned based, 5 77 2 version fixed bin, 5 78 2 default fixed bin, /* non-zero indicates use default */ 5 79 2 special_chars, /* same as level-1 above */ 5 80 /* has to be spelled out instead of using like */ 5 81 /* because of refer options */ 5 82 3 nl_seq aligned like c_chars, /* new-line sequence */ 5 83 3 cr_seq aligned like c_chars, /* carriage-return sequence */ 5 84 3 bs_seq aligned like c_chars, /* backspace sequence */ 5 85 3 tab_seq aligned like c_chars, /* horizontal tab sequence */ 5 86 3 vt_seq aligned like c_chars, /* vertical tab sequence */ 5 87 3 ff_seq aligned like c_chars, /* form-feed sequence */ 5 88 3 printer_on aligned like c_chars, /* printer-on sequence */ 5 89 3 printer_off aligned like c_chars, /* printer_off sequence */ 5 90 3 red_ribbon_shift aligned like c_chars, /* red ribbon shift sequence */ 5 91 3 black_ribbon_shift aligned like c_chars, /* black ribbon shift sequence */ 5 92 3 end_of_page aligned like c_chars, /* end-of-page warning sequence */ 5 93 3 escape_length fixed bin, /* number of escape sequences */ 5 94 3 not_edited_escapes (sc_escape_len refer (special_chars_struc.escape_length)) like c_chars, 5 95 /* use in ^edited mode */ 5 96 3 edited_escapes (sc_escape_len refer (special_chars_struc.escape_length)) like c_chars, 5 97 /* use in edited mode */ 5 98 3 input_escapes aligned, 5 99 4 len fixed bin (8) unaligned, /* length of string */ 5 100 4 str char (sc_input_escape_len refer (special_chars_struc.input_escapes.len)) unaligned, 5 101 /* escape sequence characters */ 5 102 3 input_results aligned, 5 103 4 pad bit (9) unaligned, /* so that strings will look the same */ 5 104 4 str char (sc_input_escape_len refer (special_chars_struc.input_escapes.len)) unaligned; 5 105 /* results of escape sequences */ 5 106 5 107 dcl 1 cv_trans_struc aligned based, /* all conversion/translation tables */ 5 108 2 version fixed bin, 5 109 2 default fixed bin, /* as above */ 5 110 2 cv_trans like cv_trans; 5 111 5 112 dcl 1 delay_struc aligned based, 5 113 2 version fixed bin, 5 114 2 default fixed bin, /* as above */ 5 115 2 delay like delay; 5 116 5 117 dcl 1 get_special_info_struc based aligned, /* get_special order */ 5 118 2 version char (8), 5 119 2 area_ptr pointer, 5 120 2 table_ptr pointer; 5 121 5 122 dcl SPECIAL_INFO_STRUCT_VERSION_1 5 123 char (8) int static options (constant) init ("sisv1000"); 5 124 dcl SPECIAL_VERSION fixed bin int static options (constant) init (1); 5 125 dcl SPECIAL_VERSION_2 fixed bin int static options (constant) init (2); 5 126 dcl DELAY_VERSION fixed bin int static options (constant) init (1); 5 127 dcl CV_TRANS_VERSION fixed bin int static options (constant) init (2); 5 128 5 129 dcl CV_TRANS_SIZE (2) fixed bin int static options (constant) init (127, 255); 5 130 /* indexed by version number */ 5 131 5 132 5 133 /* values for input and output conversion tables */ 5 134 5 135 dcl ( 5 136 INPUT_CONVERT_ORDINARY init (0), 5 137 INPUT_CONVERT_BREAK init (1), 5 138 INPUT_CONVERT_ESCAPE init (2), 5 139 INPUT_CONVERT_DISCARD init (3), 5 140 INPUT_CONVERT_FORMFEED init (4), 5 141 INPUT_CONVERT_PRECEDENCE_DISCARD 5 142 init (5), 5 143 INPUT_CONVERT_DSA_CR_PROCESSING 5 144 init (6) 5 145 ) fixed bin (8) unaligned internal static options (constant); 5 146 5 147 dcl ( 5 148 OUTPUT_CONVERT_ORDINARY init (0), 5 149 OUTPUT_CONVERT_NEWLINE init (1), 5 150 OUTPUT_CONVERT_CR init (2), 5 151 OUTPUT_CONVERT_HT init (3), 5 152 OUTPUT_CONVERT_BS init (4), 5 153 OUTPUT_CONVERT_VT init (5), 5 154 OUTPUT_CONVERT_FF init (6), 5 155 OUTPUT_CONVERT_OCTAL init (7), 5 156 OUTPUT_CONVERT_RRS init (8), 5 157 OUTPUT_CONVERT_BRS init (9), 5 158 OUTPUT_CONVERT_NO_MOTION init (10), 5 159 OUTPUT_CONVERT_PRECEDENCE_NO_MOTION 5 160 init (11), 5 161 OUTPUT_CONVERT_DONT_SEND init (12), 5 162 OUTPUT_CONVERT_NOT_USED_13 5 163 init (13), 5 164 OUTPUT_CONVERT_NOT_USED_14 5 165 init (14), 5 166 OUTPUT_CONVERT_NOT_USED_15 5 167 init (15), 5 168 OUTPUT_CONVERT_NOT_USED_16 5 169 init (16), 5 170 OUTPUT_CONVERT_FIRST_SPECIAL 5 171 init (17) 5 172 ) fixed bin (8) unaligned internal static options (constant); 5 173 5 174 /* END INCLUDE FILE ... tty_convert.incl.pl1 */ 117 118 119 return; 120 121 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 122 123 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 124 125 126 set_line_modes: entry (A_infop, /* subsystem info pointer */ 127 A_code); /* error code */ 128 129 /********************************************************************/ 130 /* */ 131 /*n Name: kermit_comm_mgr_$set_line_modes external */ 132 /*i Input: info_ptr */ 133 /*f Function: Sets up the communications channel for file */ 134 /*f transfer. */ 135 /*o Output: error_code */ 136 /* */ 137 /*l Written: 84-10-25 by Dean Elhard */ 138 /*l Modified: 84-10-27 by Dean Elhard to add X.25 support */ 139 /* */ 140 /********************************************************************/ 141 142 /* If transfer modes are currently set, then return */ 143 144 if comm_info.transfer_modes_set then return; 145 146 147 /* get the prevailing kermit modes */ 148 149 t_selector (1) = I_eol_char; 150 t_selector (2) = G_parity; 151 152 call kermit_mode_mgr_$retrieve (A_infop, Temporary, t_selector, 153 addr (ft_modes), A_code); 154 155 p_selector (1) = Line_byte_size; 156 157 call kermit_mode_mgr_$retrieve (A_infop, Permanent, p_selector, 158 addr (line_byte_size), A_code); 159 160 /* determine what tty_ modes to use for the file transfer */ 161 162 if line_byte_size = Eight_bit_byte_size 163 then special_modes = "no_outp,8bit,"; 164 else if ft_modes.parity = Mark_parity | 165 ft_modes.parity = Space_parity | 166 ft_modes.parity = No_parity 167 then special_modes = "no_outp,"; 168 else if ft_modes.parity = Odd_parity 169 then special_modes = "^no_outp,oddp,"; 170 else special_modes = "^no_outp,^oddp,"; 171 172 new_modes = special_modes || Constant_modes; 173 174 /* determine what framing characters to use */ 175 176 framing_chars.frame_begin = No_frame_begin; 177 framing_chars.frame_end = ft_modes.eol_char; 178 179 /* determine what break characters to use */ 180 181 break_info.version = swt_info_version_1; 182 break_info.new_table.wake_map (*) = false; 183 break_info.new_table.mbz = ""b; 184 break_info.old_table.wake_map (*) = false; 185 break_info.old_table.mbz = ""b; 186 187 break_info.new_table.wake_map (rank (ft_modes.eol_char)) = true; 188 189 /* set the delays to zero */ 190 191 delays.version = DELAY_VERSION; 192 delays.default = 0; 193 delays.vert_nl = 0; 194 delays.horz_nl = 0; 195 delays.const_tab = 0; 196 delays.var_tab = 0.0; 197 delays.backspace = 0; 198 delays.vt_ff = 0; 199 200 /* get the old framing chars from tty_ */ 201 202 call iox_$control (comm_info.ft_iocbp, "get_framing_chars", 203 addr (comm_info.old_framing_chars), A_code); 204 if A_code = 0 205 then do; /* get the old delay values */ 206 comm_info.old_delays.version = DELAY_VERSION; 207 call iox_$control (comm_info.ft_iocbp, "get_delay", 208 addr (comm_info.old_delays), A_code); 209 end; 210 211 if A_code = 0 212 then do; /* set the new framing chars */ 213 call iox_$control (comm_info.ft_iocbp, "set_framing_chars", 214 addr (framing_chars), A_code); 215 end; 216 217 if A_code = 0 218 then do; /* set the new wakeup table and get the old one */ 219 call iox_$control (comm_info.ft_iocbp, "set_wakeup_table", 220 addr (break_info), A_code); 221 end; 222 223 if A_code = 0 224 then do; /* copy out the old wakeup table for later reference */ 225 comm_info.old_wake_table = break_info.old_table; 226 end; 227 228 /* set the new modes */ 229 call iox_$modes (comm_info.ft_iocbp, new_modes, 230 comm_info.old_modes, A_code); 231 232 /* if that failed, try setting up an X.25 connection */ 233 234 if A_code ^= 0 235 then call iox_$modes (comm_info.ft_iocbp, X25_modes, 236 comm_info.old_modes, A_code); 237 else call iox_$control (comm_info.ft_iocbp, "set_delay", 238 addr (delays), A_code); 239 240 if A_code ^= 0 241 then A_code = kermit_et_$cannot_initialize_line; 242 243 comm_info.transfer_modes_set = "1"b; 244 245 return; 246 247 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 248 249 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 250 251 252 reset_line_modes: entry (A_infop, /* subsystem info pointer */ 253 A_code); /* error code */ 254 255 /********************************************************************/ 256 /* */ 257 /*n Name: kermit_comm_mgr_$reset_line_modes external */ 258 /*i Input: info_ptr */ 259 /*f Function: Resets the communications environment for a */ 260 /*f user interface. */ 261 /*o Output: error_code */ 262 /* */ 263 /*l Written: 84-10-25 by Dean Elhard */ 264 /* */ 265 /********************************************************************/ 266 267 /* If transfer modes are currently reset, then return. Else reset */ 268 269 if ^comm_info.transfer_modes_set then return; 270 else comm_info.transfer_modes_set = "0"b; 271 272 /* reset the prevailing tty_ modes */ 273 274 call iox_$modes (comm_info.ft_iocbp, comm_info.old_modes, (""), A_code); 275 if A_code ^= 0 276 then return; 277 278 /* reset the framing characters */ 279 280 call iox_$control (comm_info.ft_iocbp, "set_framing_chars", 281 addr (comm_info.old_framing_chars), A_code); 282 if A_code ^= 0 283 then return; 284 285 /* reset the wakeup table */ 286 287 break_info.version = swt_info_version_1; 288 break_info.new_table = comm_info.old_wake_table; 289 break_info.old_table.mbz = ""b; 290 291 call iox_$control (comm_info.ft_iocbp, "set_wakeup_table", 292 addr (break_info), A_code); 293 294 /* reset the delays */ 295 296 call iox_$control (comm_info.ft_iocbp, "set_delay", 297 addr (comm_info.old_delays), A_code); 298 299 return; 300 301 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 302 303 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 304 305 306 flush_input: entry (A_infop, /* subsystem info pointer */ 307 A_code); /* error code */ 308 309 /********************************************************************/ 310 /* */ 311 /*n Name: kermit_comm_mgr_$flush_input external */ 312 /*i Input: info_ptr */ 313 /*f Function: Flushes all pending input from the communications */ 314 /*f channel. */ 315 /*o Output: error_code */ 316 /* */ 317 /* Written: 84-10-25 by Dean Elhard */ 318 /* */ 319 /********************************************************************/ 320 321 call iox_$control (comm_info.ft_iocbp, "resetread", null, A_code); 322 323 return; 324 325 end kermit_comm_mgr_; 326 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/17/88 1033.2 kermit_comm_mgr_.pl1 >spec>install>MR12.2-1171>kermit_comm_mgr_.pl1 109 1 11/20/84 1351.4 kermit_dcls.incl.pl1 >ldd>include>kermit_dcls.incl.pl1 111 2 07/07/88 2041.4 kermit_info.incl.pl1 >ldd>include>kermit_info.incl.pl1 113 3 07/07/88 2041.4 kermit_mode_info.incl.pl1 >ldd>include>kermit_mode_info.incl.pl1 115 4 04/27/79 1615.0 set_wakeup_table_info.incl.pl1 >ldd>include>set_wakeup_table_info.incl.pl1 117 5 10/17/88 1024.1 tty_convert.incl.pl1 >spec>install>MR12.2-1171>tty_convert.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. A_code parameter fixed bin(35,0) dcl 63 set ref 126 152* 157* 202* 204 207* 211 213* 217 219* 223 229* 234 234* 237* 240 240* 252 274* 275 280* 282 291* 296* 306 321* A_infop parameter pointer dcl 62 set ref 126 144 152* 157* 202 202 202 206 207 207 207 213 219 225 229 229 234 234 237 243 252 269 270 274 274 280 280 280 288 291 296 296 296 306 321 Constant_modes 000007 constant char(80) initial packed unaligned dcl 46 ref 172 DELAY_VERSION constant fixed bin(17,0) initial dcl 5-126 ref 191 206 Eight_bit_byte_size constant fixed bin(8,0) initial dcl 51 ref 162 G_parity constant fixed bin(17,0) initial dcl 3-87 ref 150 I_eol_char constant fixed bin(17,0) initial dcl 3-75 ref 149 Line_byte_size constant fixed bin(17,0) initial dcl 3-42 ref 155 Mark_parity constant char(1) initial packed unaligned dcl 54 ref 164 No_frame_begin constant char(1) initial packed unaligned dcl 58 ref 176 No_parity constant char(1) initial packed unaligned dcl 53 ref 164 Odd_parity constant char(1) initial packed unaligned dcl 56 ref 168 Permanent 000044 constant fixed bin(17,0) initial dcl 3-21 set ref 157* Space_parity constant char(1) initial packed unaligned dcl 55 ref 164 Temporary 000042 constant fixed bin(17,0) initial dcl 3-22 set ref 152* X25_modes 000000 constant char(26) initial packed unaligned dcl 48 set ref 234* addr builtin function dcl 102 ref 152 152 157 157 202 202 207 207 213 213 219 219 237 237 280 280 291 291 296 296 backspace 6 000113 automatic fixed bin(17,0) level 3 dcl 90 set ref 197* break_info 000100 automatic structure level 1 dcl 83 set ref 219 219 291 291 c_chars based structure level 1 dcl 5-54 comm_info based structure level 1 dcl 78 comm_infop 12 based pointer level 2 dcl 77 ref 144 202 202 202 206 207 207 207 213 219 225 229 229 234 234 237 243 269 270 274 274 280 280 280 288 291 296 296 296 321 const_tab 4 000113 automatic fixed bin(17,0) level 3 dcl 90 set ref 195* cv_trans based structure level 1 dcl 5-62 default 1 000113 automatic fixed bin(17,0) level 2 dcl 90 set ref 192* delay 2 000113 automatic structure level 2 in structure "delays" dcl 90 in procedure "kermit_comm_mgr_" delay based structure level 1 dcl 5-66 in procedure "kermit_comm_mgr_" delay_struc based structure level 1 dcl 5-112 delays 000113 automatic structure level 1 dcl 90 set ref 237 237 eol_char 000112 automatic char(1) level 2 packed packed unaligned dcl 87 set ref 177 187 false constant bit(1) initial packed unaligned dcl 44 ref 182 184 frame_begin 000111 automatic char(1) level 2 packed packed unaligned dcl 84 set ref 176* frame_end 0(09) 000111 automatic char(1) level 2 packed packed unaligned dcl 84 set ref 177* framing_chars 000111 automatic structure level 1 dcl 84 set ref 213 213 ft_iocbp 2 based pointer level 2 dcl 78 set ref 202* 207* 213* 219* 229* 234* 237* 274* 280* 291* 296* 321* ft_modes 000112 automatic structure level 1 dcl 87 set ref 152 152 horz_nl 3 000113 automatic float bin(27) level 3 dcl 90 set ref 194* info based structure level 1 dcl 77 iox_$control 000010 constant entry external dcl 67 ref 202 207 213 219 237 280 291 296 321 iox_$modes 000012 constant entry external dcl 68 ref 229 234 274 kermit_comm_info based structure level 1 dcl 2-176 kermit_et_$cannot_initialize_line 000014 external static fixed bin(35,0) dcl 72 ref 240 kermit_info based structure level 1 dcl 2-52 kermit_mode_mgr_$retrieve 000016 constant entry external dcl 1-78 ref 152 157 kermit_stats_info based structure level 1 dcl 2-147 line_byte_size 000123 automatic fixed bin(8,0) packed unaligned dcl 94 set ref 157 157 162 mbz 10(20) 000100 automatic bit(16) level 3 in structure "break_info" packed packed unaligned dcl 83 in procedure "kermit_comm_mgr_" set ref 185* 289* mbz 4(20) 000100 automatic bit(16) level 3 in structure "break_info" packed packed unaligned dcl 83 in procedure "kermit_comm_mgr_" set ref 183* new_modes 000124 automatic char(512) packed unaligned dcl 95 set ref 172* 229* new_table 1 000100 automatic structure level 2 dcl 83 set ref 288* null builtin function dcl 103 ref 321 321 old_delays 220 based structure level 2 dcl 78 set ref 207 207 296 296 old_framing_chars 213 based structure level 2 dcl 78 set ref 202 202 280 280 old_modes 13 based char(512) level 2 packed packed unaligned dcl 78 set ref 229* 234* 274* old_table 5 000100 automatic structure level 2 dcl 83 set ref 225 old_wake_table 214 based structure level 2 dcl 78 set ref 225* 288 p_selector 000326 automatic fixed bin(17,0) array dcl 97 set ref 155* 157* parity 0(09) 000112 automatic char(1) level 2 packed packed unaligned dcl 87 set ref 164 164 164 168 rank builtin function dcl 104 ref 187 special_modes 000327 automatic varying char(32) dcl 98 set ref 162* 164* 168* 170* 172 swt_info based structure level 1 dcl 4-9 swt_info_version_1 constant fixed bin(17,0) initial dcl 4-7 ref 181 287 t_selector 000324 automatic fixed bin(17,0) array dcl 96 set ref 149* 150* 152* transfer_modes_set 213(19) based bit(1) level 3 packed packed unaligned dcl 78 set ref 144 243* 269 270* true constant bit(1) initial packed unaligned dcl 43 ref 187 var_tab 5 000113 automatic float bin(27) level 3 dcl 90 set ref 196* version 220 based fixed bin(17,0) level 3 in structure "comm_info" dcl 78 in procedure "kermit_comm_mgr_" set ref 206* version 000100 automatic fixed bin(17,0) level 2 in structure "break_info" dcl 83 in procedure "kermit_comm_mgr_" set ref 181* 287* version 000113 automatic fixed bin(17,0) level 2 in structure "delays" dcl 90 in procedure "kermit_comm_mgr_" set ref 191* vert_nl 2 000113 automatic fixed bin(17,0) level 3 dcl 90 set ref 193* vt_ff 7 000113 automatic fixed bin(17,0) level 3 dcl 90 set ref 198* wake_map 5 000100 automatic bit(1) array level 3 in structure "break_info" packed packed unaligned dcl 83 in procedure "kermit_comm_mgr_" set ref 184* wake_map 1 000100 automatic bit(1) array level 3 in structure "break_info" packed packed unaligned dcl 83 in procedure "kermit_comm_mgr_" set ref 182* 187* wakeup_table based structure level 1 dcl 4-16 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. CV_TRANS_SIZE internal static fixed bin(17,0) initial array dcl 5-129 CV_TRANS_VERSION internal static fixed bin(17,0) initial dcl 5-127 Capabilities internal static fixed bin(17,0) initial dcl 3-46 Check_type internal static fixed bin(17,0) initial dcl 3-36 Eight_bit_char internal static fixed bin(17,0) initial dcl 3-33 Eol_char internal static fixed bin(17,0) initial dcl 3-31 Ext_Headers internal static bit(9) initial packed unaligned dcl 3-120 File_type internal static fixed bin(17,0) initial dcl 3-40 File_warning internal static fixed bin(17,0) initial dcl 3-39 G_capabilities internal static fixed bin(17,0) initial dcl 3-93 G_check_type internal static fixed bin(17,0) initial dcl 3-86 G_eight_bit_char internal static fixed bin(17,0) initial dcl 3-83 G_repeat_char internal static fixed bin(17,0) initial dcl 3-84 G_start_char internal static fixed bin(17,0) initial dcl 3-85 G_window internal static fixed bin(17,0) initial dcl 3-88 INPUT_CONVERT_BREAK internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INPUT_CONVERT_DISCARD internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INPUT_CONVERT_DSA_CR_PROCESSING internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INPUT_CONVERT_ESCAPE internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INPUT_CONVERT_FORMFEED internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INPUT_CONVERT_ORDINARY internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INPUT_CONVERT_PRECEDENCE_DISCARD internal static fixed bin(8,0) initial packed unaligned dcl 5-135 I_max_lenx1 internal static fixed bin(17,0) initial dcl 3-89 I_max_lenx2 internal static fixed bin(17,0) initial dcl 3-90 I_maxl internal static fixed bin(17,0) initial dcl 3-71 I_n_pads internal static fixed bin(17,0) initial dcl 3-73 I_pad_char internal static fixed bin(17,0) initial dcl 3-74 I_quote_char internal static fixed bin(17,0) initial dcl 3-76 I_timeout internal static fixed bin(17,0) initial dcl 3-72 Incomplete internal static fixed bin(17,0) initial dcl 3-38 Max_len_ext_1 internal static fixed bin(17,0) initial dcl 3-44 Max_len_ext_2 internal static fixed bin(17,0) initial dcl 3-45 Maxl internal static fixed bin(17,0) initial dcl 3-27 N_pads internal static fixed bin(17,0) initial dcl 3-29 OUTPUT_CONVERT_BRS internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_BS internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_CR internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_DONT_SEND internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_FF internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_FIRST_SPECIAL internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_HT internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_NEWLINE internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_NOT_USED_13 internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_NOT_USED_14 internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_NOT_USED_15 internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_NOT_USED_16 internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_NO_MOTION internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_OCTAL internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_ORDINARY internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_PRECEDENCE_NO_MOTION internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_RRS internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_VT internal static fixed bin(8,0) initial packed unaligned dcl 5-147 O_eol_char internal static fixed bin(17,0) initial dcl 3-81 O_max_lenx1 internal static fixed bin(17,0) initial dcl 3-91 O_max_lenx2 internal static fixed bin(17,0) initial dcl 3-92 O_maxl internal static fixed bin(17,0) initial dcl 3-77 O_n_pads internal static fixed bin(17,0) initial dcl 3-79 O_pad_char internal static fixed bin(17,0) initial dcl 3-80 O_quote_char internal static fixed bin(17,0) initial dcl 3-82 O_timeout internal static fixed bin(17,0) initial dcl 3-78 Pad_char internal static fixed bin(17,0) initial dcl 3-30 Parity internal static fixed bin(17,0) initial dcl 3-37 Perm_defaults internal static structure level 1 dcl 3-48 Quote_char internal static fixed bin(17,0) initial dcl 3-32 Repeat_char internal static fixed bin(17,0) initial dcl 3-34 Retrieve_all internal static fixed bin(17,0) initial array dcl 3-25 Retry_threshold internal static fixed bin(17,0) initial dcl 3-41 SPECIAL_INFO_STRUCT_VERSION_1 internal static char(8) initial packed unaligned dcl 5-122 SPECIAL_VERSION internal static fixed bin(17,0) initial dcl 5-124 SPECIAL_VERSION_2 internal static fixed bin(17,0) initial dcl 5-125 Start_char internal static fixed bin(17,0) initial dcl 3-35 Store_all internal static fixed bin(17,0) initial array dcl 3-24 Temp_defaults internal static structure level 1 dcl 3-95 Timeout internal static fixed bin(17,0) initial dcl 3-28 Window_size internal static fixed bin(17,0) initial dcl 3-43 c_chars_ptr automatic pointer dcl 5-53 cv_trans_struc based structure level 1 dcl 5-107 get_special_info_struc based structure level 1 dcl 5-117 kermit_bit_constants internal static structure level 1 packed packed unaligned dcl 2-27 kermit_char_constants based structure level 1 packed packed unaligned dcl 2-31 kermit_comm_info_version internal static char(8) initial packed unaligned dcl 2-206 kermit_comm_infop automatic pointer dcl 2-205 kermit_comm_mgr_$flush_input 000000 constant entry external dcl 1-15 kermit_comm_mgr_$reset_line_modes 000000 constant entry external dcl 1-20 kermit_comm_mgr_$set_line_modes 000000 constant entry external dcl 1-25 kermit_fixed_constants based structure level 1 packed packed unaligned dcl 2-35 kermit_get_filenames_ 000000 constant entry external dcl 1-30 kermit_info_version internal static char(8) initial packed unaligned dcl 2-61 kermit_infop automatic pointer dcl 2-60 kermit_log_info based structure level 1 dcl 2-122 kermit_log_info_version internal static char(8) initial packed unaligned dcl 2-133 kermit_log_infop automatic pointer dcl 2-132 kermit_log_mgr_$close_log 000000 constant entry external dcl 1-37 kermit_log_mgr_$disable 000000 constant entry external dcl 1-42 kermit_log_mgr_$display_stats 000000 constant entry external dcl 1-46 kermit_log_mgr_$enable 000000 constant entry external dcl 1-51 kermit_log_mgr_$log_message 000000 constant entry external dcl 1-55 kermit_log_mgr_$open_log 000000 constant entry external dcl 1-60 kermit_log_mgr_$start 000000 constant entry external dcl 1-66 kermit_log_mgr_$stop 000000 constant entry external dcl 1-70 kermit_mode_mgr_$get 000000 constant entry external dcl 1-74 kermit_mode_mgr_$set 000000 constant entry external dcl 1-86 kermit_mode_mgr_$store 000000 constant entry external dcl 1-90 kermit_pad_$receive 000000 constant entry external dcl 1-97 kermit_pad_$send 000000 constant entry external dcl 1-108 kermit_perm_mode_count internal static fixed bin(17,0) initial dcl 2-83 kermit_perm_modes based structure level 1 dcl 2-77 kermit_perm_modes_version internal static char(8) initial packed unaligned dcl 2-84 kermit_perm_modesp automatic pointer dcl 2-82 kermit_receive_$receive_from_remote 000000 constant entry external dcl 1-118 kermit_send_$send_to_remote 000000 constant entry external dcl 1-128 kermit_server_ 000000 constant entry external dcl 1-138 kermit_stats_infop automatic pointer dcl 2-160 kermit_temp_mode_count internal static fixed bin(17,0) initial dcl 2-105 kermit_temp_modes based structure level 1 dcl 2-99 kermit_temp_modes_version internal static char(8) initial packed unaligned dcl 2-106 kermit_temp_modesp automatic pointer dcl 2-104 kermit_xfer_modes_$check_params 000000 constant entry external dcl 1-144 kermit_xfer_modes_$get_local_params 000000 constant entry external dcl 1-157 kermit_xfer_modes_$init 000000 constant entry external dcl 1-152 kermit_xfer_modes_$process_params 000000 constant entry external dcl 1-166 sc_escape_len automatic fixed bin(17,0) dcl 5-58 sc_input_escape_len automatic fixed bin(17,0) dcl 5-59 special_chars based structure level 1 dcl 5-26 special_chars_struc based structure level 1 dcl 5-76 swt_infop automatic pointer dcl 4-6 wakeup_tablep automatic pointer dcl 4-14 NAMES DECLARED BY EXPLICIT CONTEXT. flush_input 001201 constant entry external dcl 306 kermit_comm_mgr_ 000124 constant entry external dcl 18 reset_line_modes 000764 constant entry external dcl 252 set_line_modes 000136 constant entry external dcl 126 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1366 1406 1247 1376 Length 1702 1247 20 257 116 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME kermit_comm_mgr_ 268 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME kermit_comm_mgr_ 000100 break_info kermit_comm_mgr_ 000111 framing_chars kermit_comm_mgr_ 000112 ft_modes kermit_comm_mgr_ 000113 delays kermit_comm_mgr_ 000123 line_byte_size kermit_comm_mgr_ 000124 new_modes kermit_comm_mgr_ 000324 t_selector kermit_comm_mgr_ 000326 p_selector kermit_comm_mgr_ 000327 special_modes kermit_comm_mgr_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc return_mac shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. iox_$control iox_$modes kermit_mode_mgr_$retrieve THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. kermit_et_$cannot_initialize_line LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 18 000123 119 000131 126 000132 144 000143 149 000152 150 000154 152 000156 155 000210 157 000212 162 000245 164 000257 168 000277 170 000307 172 000314 176 000332 177 000335 181 000340 182 000342 183 000354 184 000356 185 000370 187 000372 191 000377 192 000401 193 000402 194 000403 195 000405 196 000406 197 000407 198 000410 202 000411 204 000451 206 000454 207 000461 211 000513 213 000516 217 000552 219 000555 223 000614 225 000617 229 000625 234 000654 237 000710 240 000746 243 000754 245 000761 252 000762 269 000771 270 001000 274 001002 275 001027 280 001032 282 001066 287 001071 288 001073 289 001101 291 001103 296 001137 299 001176 306 001177 321 001206 323 001244 ----------------------------------------------------------- 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