COMPILATION LISTING OF SEGMENT kermit_receive_request_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/05/88 1401.7 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 kermit_receive_request_: proc (kermit_scip, infop); 7 8 /**********************************************************************/ 9 /* */ 10 /*n Name: kermit_receive_request_ external */ 11 /*i Input: kermit_scip, infop */ 12 /*f Function: Extracts the filename from the */ 13 /*f request line. Sets up the communications */ 14 /*f environment for file transfer. */ 15 /*f Calls receive_from_remote_ to receive the files. */ 16 /*o Output: none */ 17 /* */ 18 /*l Written: 84-10-27 by Maureen Mallmes */ 19 /*l Modified: 85-01-17 by Maureen Mallmes to detect invalid */ 20 /*l control arguments. See problem number */ 21 /*l 3 in the kermit error list. */ 22 /*l Modified to disallow starnames and */ 23 /*l archive components for the local file. */ 24 /* */ 25 /**********************************************************************/ 26 27 28 29 /* automatic */ 30 31 dcl arg_idx fixed binary; 32 dcl arg_lth fixed binary (21); 33 dcl arg_ptr ptr; 34 dcl argument character (arg_lth) based (arg_ptr); 35 dcl argument_count fixed bin; 36 dcl 01 cl_info_struc aligned, 37 02 resetread bit (1) unal, 38 02 mbz bit (35) unal; 39 dcl code fixed bin (35); 40 dcl dname char (168); 41 dcl ename char (32); 42 dcl file_sw bit (1); 43 dcl first_filename char (168); 44 dcl files_received fixed bin; 45 dcl infop ptr; 46 dcl initial_seq_n fixed bin; 47 dcl initial_state fixed bin; 48 dcl kermit_scip ptr; 49 dcl transfer_modes_set bit (1); 50 51 /* constants */ 52 53 dcl False bit (1) internal static options (constant) init ("0"b); 54 dcl Rec_init fixed bin internal static options (constant) init (0); 55 dcl Five_seconds fixed bin (71) internal static options (constant) init (5); 56 dcl True bit (1) internal static options (constant) init ("1"b); 57 58 /* external */ 59 60 dcl error_table_$badopt fixed bin (35) ext static; 61 dcl error_table_$nostars fixed bin (35) ext static; 62 dcl error_table_$pathlong fixed bin (35) ext static; 63 dcl error_table_$too_many_args fixed bin (35) ext static; 64 65 /* builtin */ 66 67 dcl index builtin; 68 69 /* procedures */ 70 71 dcl check_star_name_$entry entry (char (*), fixed bin (35)); 72 dcl continue_to_signal_ entry (fixed bin (35)); 73 dcl cu_$cl entry (1 aligned, 2 bit (1) unal, 2 bit (35) unal); 74 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 75 dcl ioa_ entry () options (variable); 76 dcl ssu_$abort_line entry () options (variable); 77 dcl ssu_$arg_count entry (ptr, fixed bin); 78 dcl ssu_$arg_ptr entry (ptr, fixed bin, ptr, fixed bin (21)); 79 dcl ssu_$get_request_name entry (ptr) returns (char (32)); 80 dcl timer_manager_$sleep entry (fixed bin (71), bit (2)); 81 82 /* Conditions */ 83 84 dcl cleanup condition; 85 dcl quit condition; 86 87 /* Include files */ 88 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 * * * * * */ 89 90 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 * * * * * */ 91 92 93 94 /* initialize receive_request_data */ 95 code = 0; 96 first_filename = " "; 97 file_sw = False; 98 transfer_modes_set = False; 99 cl_info_struc.resetread = True; 100 cl_info_struc.mbz = False; 101 initial_state = Rec_init; 102 initial_seq_n = 0; 103 104 105 /* Handlers */ 106 on quit begin; 107 if transfer_modes_set then do; 108 /* Reset the modes for user input and output */ 109 call kermit_comm_mgr_$reset_line_modes (infop, code); 110 transfer_modes_set = False; 111 /* Pass control */ 112 call cu_$cl (cl_info_struc); 113 /* Back (restart) so set the modes for file transfer */ 114 call kermit_comm_mgr_$set_line_modes (infop, code); 115 transfer_modes_set = True; 116 end; 117 else call continue_to_signal_ (0); /* do nothing */ 118 end; 119 120 121 on cleanup call receive_request_cleanup; 122 123 call ssu_$arg_count (kermit_scip, argument_count); 124 125 /* get the first and only user-supplied filename, if given */ 126 do arg_idx = 1 to argument_count; 127 call ssu_$arg_ptr (kermit_scip, arg_idx, arg_ptr, arg_lth); 128 129 if index (argument, "-") ^= 1 then do; 130 if ^file_sw then do; 131 call expand_pathname_ (argument, dname, ename, code); 132 if code = 0 then do; 133 call check_star_name_$entry (ename, code); 134 if code ^= 0 & code < 3 then code = error_table_$nostars; 135 end; 136 137 if code ^= 0 then call ssu_$abort_line (kermit_scip, code, "^a", argument); 138 139 first_filename = argument; 140 file_sw = True; 141 end; 142 143 else call ssu_$abort_line (kermit_scip, error_table_$too_many_args, "^/Usage: ^a {path}", ssu_$get_request_name (kermit_scip)); 144 end; 145 146 else call ssu_$abort_line (kermit_scip, error_table_$badopt, "^a", argument); 147 end; 148 149 /* ...greet the user */ 150 call ioa_ ("^/Receiving..."); 151 152 153 /* Get ready to receive the segment(s) */ 154 /* Give the user some time get back to remote */ 155 call timer_manager_$sleep (Five_seconds, "11"b); 156 157 /* Initialize the temporary modes data base */ 158 call kermit_xfer_modes_$init (infop, code); 159 /* this should never happen */ 160 if code ^= 0 then call ssu_$abort_line (kermit_scip, code); 161 162 /* Set the tty_ modes */ 163 call kermit_comm_mgr_$set_line_modes (infop, code); 164 if code ^= 0 then call ssu_$abort_line (kermit_scip, code, "^/^a", "Unable to set line modes for file transfer"); 165 transfer_modes_set = True; 166 167 call kermit_receive_$receive_from_remote (infop, initial_state, initial_seq_n, first_filename, file_sw, files_received, code); 168 169 call kermit_comm_mgr_$reset_line_modes (infop, (0)); 170 transfer_modes_set = False; 171 172 if code ^= 0 then 173 call ssu_$abort_line (kermit_scip, code, "^/^d files received.", files_received); 174 175 176 call ioa_ ("^/Transaction completed: ^d file(s) received.", files_received); 177 return; 178 179 180 /* Reset the line modes and free filenames storage */ 181 receive_request_cleanup: 182 proc; 183 184 if transfer_modes_set then call kermit_comm_mgr_$reset_line_modes (infop, code); 185 transfer_modes_set = False; 186 return; 187 end receive_request_cleanup; 188 189 end kermit_receive_request_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/05/88 1400.0 kermit_receive_request_.pl1 >special_ldd>install>MR12.2-1054>kermit_receive_request_.pl1 89 1 11/20/84 1351.4 kermit_dcls.incl.pl1 >ldd>include>kermit_dcls.incl.pl1 91 2 07/05/88 1357.8 kermit_info.incl.pl1 >special_ldd>install>MR12.2-1054>kermit_info.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. False constant bit(1) initial packed unaligned dcl 53 ref 97 98 100 110 170 185 Five_seconds 000000 constant fixed bin(71,0) initial dcl 55 set ref 155* Rec_init constant fixed bin(17,0) initial dcl 54 ref 101 True constant bit(1) initial packed unaligned dcl 56 ref 99 115 140 165 arg_idx 000100 automatic fixed bin(17,0) dcl 31 set ref 126* 127* arg_lth 000101 automatic fixed bin(21,0) dcl 32 set ref 127* 129 131 131 137 137 139 146 146 arg_ptr 000102 automatic pointer dcl 33 set ref 127* 129 131 137 139 146 argument based char packed unaligned dcl 34 set ref 129 131* 137* 139 146* argument_count 000104 automatic fixed bin(17,0) dcl 35 set ref 123* 126 check_star_name_$entry 000016 constant entry external dcl 71 ref 133 cl_info_struc 000105 automatic structure level 1 dcl 36 set ref 112* cleanup 000250 stack reference condition dcl 84 ref 121 code 000106 automatic fixed bin(35,0) dcl 39 set ref 95* 109* 114* 131* 132 133* 134 134 134* 137 137* 158* 160 160* 163* 164 164* 167* 172 172* 184* continue_to_signal_ 000020 constant entry external dcl 72 ref 117 cu_$cl 000022 constant entry external dcl 73 ref 112 dname 000107 automatic char(168) packed unaligned dcl 40 set ref 131* ename 000161 automatic char(32) packed unaligned dcl 41 set ref 131* 133* error_table_$badopt 000010 external static fixed bin(35,0) dcl 60 set ref 146* error_table_$nostars 000012 external static fixed bin(35,0) dcl 61 ref 134 error_table_$too_many_args 000014 external static fixed bin(35,0) dcl 63 set ref 143* expand_pathname_ 000024 constant entry external dcl 74 ref 131 file_sw 000171 automatic bit(1) packed unaligned dcl 42 set ref 97* 130 140* 167* files_received 000244 automatic fixed bin(17,0) dcl 44 set ref 167* 172* 176* first_filename 000172 automatic char(168) packed unaligned dcl 43 set ref 96* 139* 167* index builtin function dcl 67 ref 129 infop parameter pointer dcl 45 set ref 6 109* 114* 158* 163* 167* 169* 184* initial_seq_n 000245 automatic fixed bin(17,0) dcl 46 set ref 102* 167* initial_state 000246 automatic fixed bin(17,0) dcl 47 set ref 101* 167* ioa_ 000026 constant entry external dcl 75 ref 150 176 kermit_comm_mgr_$reset_line_modes 000042 constant entry external dcl 1-20 ref 109 169 184 kermit_comm_mgr_$set_line_modes 000044 constant entry external dcl 1-25 ref 114 163 kermit_receive_$receive_from_remote 000046 constant entry external dcl 1-118 ref 167 kermit_scip parameter pointer dcl 48 set ref 6 123* 127* 137* 143* 143* 143* 146* 160* 164* 172* kermit_stats_info based structure level 1 dcl 2-147 kermit_xfer_modes_$init 000050 constant entry external dcl 1-152 ref 158 mbz 0(01) 000105 automatic bit(35) level 2 packed packed unaligned dcl 36 set ref 100* quit 000256 stack reference condition dcl 85 ref 106 resetread 000105 automatic bit(1) level 2 packed packed unaligned dcl 36 set ref 99* ssu_$abort_line 000030 constant entry external dcl 76 ref 137 143 146 160 164 172 ssu_$arg_count 000032 constant entry external dcl 77 ref 123 ssu_$arg_ptr 000034 constant entry external dcl 78 ref 127 ssu_$get_request_name 000036 constant entry external dcl 79 ref 143 143 timer_manager_$sleep 000040 constant entry external dcl 80 ref 155 transfer_modes_set 000247 automatic bit(1) packed unaligned dcl 49 set ref 98* 107 110* 115* 165* 170* 184 185* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. error_table_$pathlong external static fixed bin(35,0) dcl 62 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 based structure level 1 dcl 2-176 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_fixed_constants based structure level 1 packed packed unaligned dcl 2-35 kermit_get_filenames_ 000000 constant entry external dcl 1-30 kermit_info based structure level 1 dcl 2-52 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_$retrieve 000000 constant entry external dcl 1-78 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_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_$process_params 000000 constant entry external dcl 1-166 NAMES DECLARED BY EXPLICIT CONTEXT. kermit_receive_request_ 000077 constant entry external dcl 6 receive_request_cleanup 001020 constant entry internal dcl 181 ref 121 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1312 1364 1041 1322 Length 1640 1041 52 237 251 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME kermit_receive_request_ 266 external procedure is an external procedure. on unit on line 106 71 on unit on unit on line 121 76 on unit receive_request_cleanup internal procedure shares stack frame of on unit on line 121. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME kermit_receive_request_ 000100 arg_idx kermit_receive_request_ 000101 arg_lth kermit_receive_request_ 000102 arg_ptr kermit_receive_request_ 000104 argument_count kermit_receive_request_ 000105 cl_info_struc kermit_receive_request_ 000106 code kermit_receive_request_ 000107 dname kermit_receive_request_ 000161 ename kermit_receive_request_ 000171 file_sw kermit_receive_request_ 000172 first_filename kermit_receive_request_ 000244 files_received kermit_receive_request_ 000245 initial_seq_n kermit_receive_request_ 000246 initial_state kermit_receive_request_ 000247 transfer_modes_set kermit_receive_request_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac enable_op ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. check_star_name_$entry continue_to_signal_ cu_$cl expand_pathname_ ioa_ kermit_comm_mgr_$reset_line_modes kermit_comm_mgr_$set_line_modes kermit_receive_$receive_from_remote kermit_xfer_modes_$init ssu_$abort_line ssu_$arg_count ssu_$arg_ptr ssu_$get_request_name timer_manager_$sleep THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$nostars error_table_$too_many_args LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 6 000073 95 000104 96 000105 97 000110 98 000111 99 000112 100 000114 101 000116 102 000120 106 000121 107 000135 109 000140 110 000151 112 000153 114 000162 115 000175 116 000200 117 000201 118 000210 121 000211 123 000227 126 000241 127 000251 129 000267 130 000303 131 000306 132 000336 133 000340 134 000355 137 000364 139 000421 140 000426 141 000430 143 000431 144 000474 146 000475 147 000530 150 000532 155 000547 158 000562 160 000574 163 000614 164 000626 165 000663 167 000665 169 000725 170 000740 172 000741 176 000777 177 001017 181 001020 184 001021 185 001036 186 001040 ----------------------------------------------------------- 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