COMPILATION LISTING OF SEGMENT dial_out_util_ Compiled by: Multics PL/I Compiler, Release 33d, of April 24, 1992 Compiled at: ACTC Technologies Inc. Compiled on: 92-04-24_1439.16_Fri_mdt Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1991 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* *********************************************************** */ 8 9 /* format: style4,delnl,insnl,ifthenstmt,indnoniterend */ 10 dial_out_util_: 11 procedure; 12 13 /* Written January 1983 by C. Hornig */ 14 /* Modified March 1983 by K. Loepere to fix bugs, enhance for waiting */ 15 /* Modified September 1983 by R.J.C. Kissel to send lines to the remote */ 16 /* system wth their terminators in one put_chars call. (Mostly for 6M). */ 17 /* Modified December 1983 by B. Margolin to change reset_do_modes to just 18* call iox_$modes and iox_$control, rather than calling set_modes (which 19* would set some tty modes improperly for a reset), and remove the minor 20* optimization in set_modes which is no longer valid. */ 21 22 23 /****^ HISTORY COMMENTS: 24* 1) change(91-07-15,Oke), approve(91-09-09,MCR8247), 25* audit(92-04-24,WAAnderson), install(92-04-24,MR12.5-1012): 26* To setup a length for substr's of input_buffer in escape and special 27* character processing. Previously this did not account for num_chars_read 28* and thus indexed into uninitialized parts of the automatic variable 29* input_buffer, with amusing results. 30* 2) change(91-08-15,Schroth), approve(91-09-09,MCR8247), 31* audit(92-04-24,WAAnderson), install(92-04-24,MR12.5-1012): 32* Added cleanup handler to interaction_loop entry to reset the wait alarm 33* timer when unwinding. 34* END HISTORY COMMENTS */ 35 36 37 dcl Active_function bit (1) aligned; 38 dcl Arg_list ptr parameter; 39 dcl Code fixed bin (35) parameter; 40 dcl Dop ptr parameter; 41 dcl Data_ptr ptr parameter; 42 dcl Entry variable entry parameter; 43 dcl Nelem fixed bin (21) parameter; 44 dcl Silent bit (1) aligned parameter; 45 dcl Waiting bit (1) aligned parameter; 46 47 dcl CR char (1) static options (constant) init (" "); 48 dcl NL char (1) static options (constant) init (" 49 "); 50 51 dcl cleanup condition; 52 dcl program_interrupt condition; 53 dcl quit condition; 54 55 dcl active_function bit (1) aligned init ("0"b); 56 dcl active_len_before_quotes fixed bin (21); /* see if final quotes pair */ 57 dcl active_result char (do_info.active_result_max_len) based (do_info.active_result_ptr) var; 58 dcl cmd_buff char (do_info.cmd_buff_len) based (do_info.cmd_ptr); 59 /* accumulated stuff to either send out or execute */ 60 dcl cmd_len fixed bin (21); 61 dcl code fixed bin (35); 62 dcl escape_seen bit (1) aligned; /* last char was an escape char */ 63 dcl 1 ev_msg aligned like event_wait_info; 64 dcl in_command bit (1) aligned; /* now reading a command */ 65 dcl need_to_echo_command bit (1) aligned; /* have processed the command character */ 66 dcl need_to_check_net bit (1) aligned; /* chars may be present at net */ 67 dcl need_to_check_term bit (1) aligned; /* chars may be present at term */ 68 dcl net_input_buff char (do_info.net_input_buff_len) based (do_info.net_input_buff_ptr); 69 dcl silent bit (1) aligned init ("0"b); /* don't print stuff from net */ 70 dcl 1 term_rs aligned like do_info.net_rs; 71 dcl 1 wait_list aligned, 72 2 count fixed bin, 73 2 pad fixed bin, 74 2 ev_chn (2) fixed bin (71); 75 dcl waiting bit (1) aligned init ("0"b); /* in mode ignoring terminal input waiting for something from net */ 76 77 dcl error_table_$line_status_pending fixed bin (35) ext static; 78 dcl error_table_$timeout fixed bin (35) ext static; 79 80 dcl com_err_ entry () options (variable); 81 dcl cu_$arg_list_ptr entry () returns (ptr); 82 dcl cu_$generate_call entry (entry, ptr); 83 dcl cu_$set_cl_intermediary entry (entry); 84 dcl get_user_free_area_ entry returns (ptr); 85 dcl ioa_$nnl entry () options (variable); 86 dcl ipc_$block entry (ptr, ptr, fixed bin (35)); 87 dcl ssu_$execute_line entry (ptr, ptr, fixed bin (21), fixed bin (35)); 88 dcl timer_manager_$alarm_call entry (fixed bin (71), bit (2), entry, ptr); 89 dcl timer_manager_$reset_alarm_call entry (entry); 90 dcl requote_string_$quote_string entry (char (*)) returns (char (*)); 91 92 dcl (addcharno, addr, divide, index, length, min, mod, null, rtrim, substr) builtin; 93 94 /* * * * * * * * * SEND_CHARS * * * * * * * * * * */ 95 96 send_chars: 97 entry (Dop, Data_ptr, Nelem, Code); 98 99 dop = Dop; 100 call send (Data_ptr, Nelem, Code); 101 return; 102 103 /* * * * * * * * * * SEND_NL * * * * * * * * * */ 104 105 send_nl: 106 entry (Dop, Code); 107 108 dop = Dop; 109 call send (addr (CR), 1, Code); 110 if Code ^= 0 then return; 111 if do_info.flags.send_lf_sw then do; 112 call send (addr (NL), 1, Code); 113 if Code ^= 0 then return; 114 end; 115 return; 116 117 /* * * * * * * * * * SEND * * * * * * * * */ 118 119 send: 120 procedure (Data_ptr, Nelem, Code); 121 122 dcl Code fixed bin (35) parameter; 123 dcl Data_ptr ptr parameter; 124 dcl Nelem fixed bin (21) parameter; 125 126 rewrite: 127 call iox_$put_chars (do_info.ci.net_iocb, Data_ptr, Nelem, Code); 128 if Code = error_table_$line_status_pending then do; 129 call line_status; 130 goto rewrite; 131 end; 132 return; 133 end send; 134 135 /* * * * * * * * * * PROCESS_LINE_STATUS * * * * * * * * * * */ 136 137 process_line_status: 138 entry (Dop); 139 140 dop = Dop; 141 call line_status; 142 return; 143 144 /* * * * * * * * * * SET_DO_MODES * * * * * * * * * */ 145 146 set_do_modes: 147 entry (Dop); 148 149 dop = Dop; 150 call set_modes (do_info.ci.raw_sw, do_info.ci.echo_sw, do_info.ci.lfecho_sw); 151 return; 152 153 /* * * * * * * * * * RESET_DO_MODES * * * * * * * * * */ 154 155 reset_do_modes: 156 entry (Dop); 157 158 dop = Dop; 159 call iox_$modes (iox_$user_input, do_info.old_modes, (""), (0)); 160 call iox_$control (iox_$user_input, "printer_on", null (), (0)); 161 return; 162 163 /* * * * * * * * * LINE_STATUS * * * * * * * * * * */ 164 165 line_status: 166 procedure; 167 168 dcl ls_data bit (72) aligned; 169 dcl code fixed bin (35); 170 171 call iox_$control (do_info.ci.net_iocb, "line_status", addr (ls_data), code); 172 call get_modes; 173 return; 174 end line_status; 175 176 /* * * * * * * * * GET_MODES * * * * * * * * * */ 177 178 get_modes: 179 procedure; 180 181 dcl code fixed bin (35); 182 dcl 1 ftd aligned like foreign_terminal_data; 183 dcl i fixed bin; 184 185 ftd.version = FOREIGN_TERMINAL_DATA_VERSION_1; 186 ftd.area_ptr = get_user_free_area_ (); 187 call iox_$control (do_info.ci.net_iocb, "get_foreign_terminal_data", addr (ftd), code); 188 if code ^= 0 then return; 189 190 mode_string_info_ptr = ftd.mode_string_info_ptr; 191 if mode_string_info.version = mode_string_info_version_2 then do; 192 do_info.flags.echo_sw = "0"b; 193 do i = 1 to mode_string_info.number; /* process each mode */ 194 mode_value_ptr = addr (mode_string_info.modes (i)); 195 if mode_value.version = mode_value_version_3 then do; 196 if /* case */ ((mode_value.mode_name = "echoplex") | (mode_value.mode_name = "echo")) 197 & mode_value.flags.boolean_valuep & mode_value.flags.boolean_value 198 then do_info.ci.flags.echo_sw = "1"b; 199 else if (mode_value.mode_name = "lfecho") & mode_value.flags.boolean_valuep 200 then do_info.ci.flags.lfecho_sw = mode_value.flags.boolean_value; 201 else if (mode_value.mode_name = "breakall") & mode_value.flags.boolean_valuep 202 then do_info.ci.flags.no_breakall_sw = ^mode_value.flags.boolean_value; 203 end; 204 end; 205 end; 206 call set_modes (do_info.ci.raw_sw, do_info.ci.echo_sw, do_info.ci.lfecho_sw); 207 free mode_string_info; 208 return; 209 1 1 /* BEGIN INCLUDE FILE mode_string_info.incl.pl1 */ 1 2 1 3 /* Structure for parse_mode_string_ JRDavis 20 October 1980 1 4* Last modified 12 January 1981 by J. Spencer Love for version 2, make char_value varying string */ 1 5 1 6 declare mode_value_ptr ptr, 1 7 number_of_modes fixed bin; 1 8 1 9 declare 1 mode_string_info aligned based (mode_string_info_ptr), 1 10 2 version fixed bin, 1 11 2 number fixed bin, 1 12 2 modes (number_of_modes refer (mode_string_info.number)) like mode_value; 1 13 1 14 declare mode_string_info_ptr ptr; 1 15 1 16 declare 1 mode_value aligned based (mode_value_ptr), 1 17 2 version fixed bin, 1 18 2 mode_name char (32) unaligned, 1 19 2 flags, 1 20 3 boolean_valuep bit (1) unaligned, 1 21 3 numeric_valuep bit (1) unaligned, 1 22 3 char_valuep bit (1) unaligned, 1 23 3 boolean_value bit (1) unaligned, 1 24 3 pad1 bit (32) unaligned, 1 25 2 numeric_value fixed bin (35), 1 26 2 char_value char (32) varying, 1 27 2 code fixed bin (35), 1 28 2 pad2 bit (36); 1 29 1 30 declare mode_string_info_version_2 fixed bin static options (constant) initial (2), 1 31 mode_value_version_3 fixed bin static options (constant) initial (3); 1 32 1 33 /* END INCLUDE FILE mode_string_info.incl.pl1 */ 210 211 212 end get_modes; 213 214 /* * * * * * * * * * SET_MODES * * * * * * * * * */ 215 216 set_modes: 217 procedure (Raw, Echo, Lfecho); 218 219 dcl (Raw, Echo, Lfecho) bit (1) unaligned parameter; 220 dcl code fixed bin (35); 221 222 call iox_$modes (iox_$user_input, do_info.old_modes, (""), code); 223 call iox_$control (iox_$user_input, "printer_on", null (), code); 224 225 if Raw then call iox_$modes (iox_$user_input, "force,rawi,rawo,^replay,^polite,^prefixnl", (""), code); 226 227 if ^do_info.no_breakall_sw then do; 228 call iox_$modes (iox_$user_input, "breakall", (""), code); 229 if ^Lfecho | ^Echo then call iox_$modes (iox_$user_input, "^lfecho", (""), code); 230 end; 231 232 if ^Echo then do; 233 call iox_$modes (iox_$user_input, "force,^tabecho,^crecho", (""), code); 234 call iox_$control (iox_$user_input, "printer_off", null (), code); 235 end; 236 237 do_info.raw_mode = Raw; 238 do_info.echo_mode = Echo; 239 do_info.lfecho_mode = Lfecho; 240 return; 241 end set_modes; 242 243 interaction_loop: 244 entry (Dop, Waiting, Active_function); 245 246 /* This is the main loop that looks for chars coming from either end and 247* normally just sends them to the other end. The terminals chars are examined 248* for escape sequences. */ 249 250 dop = Dop; 251 waiting = Waiting; 252 active_function, silent = Active_function; 253 if active_function then do; 254 do_info.active_result_max_len = do_info.active_result_max_len - 1; 255 /* leave room for final quote */ 256 active_result = """"; 257 end; 258 259 if ^waiting 260 then on program_interrupt /* set only for main usage, not wait */ 261 begin; 262 call set_do_modes (dop); /* just in case */ 263 call cu_$set_cl_intermediary (do_info.my_cl_intermediary); 264 call ioa_$nnl ("^1aInput: ", do_info.ci.esc_char); 265 call terminal_input ("1"b); 266 waiting = "0"b; 267 goto reenter_interaction_loop; 268 end; 269 270 on cleanup 271 begin; 272 if waiting & do_info.time_out > 0 then call timer_manager_$reset_alarm_call (abort_wait); 273 end; 274 275 reenter_interaction_loop: 276 if waiting 277 then if do_info.match_length > 0 278 then /* did what he wants already come */ 279 if net_input_found () then goto interaction_done; 280 in_command, need_to_echo_command, escape_seen = "0"b; 281 need_to_check_net, need_to_check_term = "1"b; /* set everything to give us a chance to see what's there */ 282 cmd_len = 0; 283 term_rs.ev_chn = 0; 284 do_info.abort_code = 0; 285 286 do while ("1"b); 287 if need_to_check_net then do; 288 call iox_$control (do_info.ci.net_iocb, "read_status", addr (do_info.net_rs), code); 289 if code ^= 0 then do_info.net_rs.data_available = "1"b; 290 291 if do_info.net_rs.data_available 292 then call net_input; 293 else need_to_check_net = "0"b; 294 end; 295 296 if need_to_check_term & ^waiting then do; 297 call iox_$control (iox_$user_input, "read_status", addr (term_rs), code); 298 if code ^= 0 then term_rs.data_available = "1"b; 299 300 if term_rs.data_available 301 then call terminal_input ("0"b); 302 else do; 303 need_to_check_term = "0"b; 304 if need_to_echo_command then do; 305 call reset_do_modes (dop); 306 if ^do_info.ci.flags.echo_sw 307 then call ioa_$nnl ("^1a^a", do_info.ci.esc_char, substr (cmd_buff, 1, cmd_len)); 308 need_to_echo_command = "0"b; 309 end; 310 end; 311 end; 312 313 if (^need_to_check_term | waiting) & ^need_to_check_net then do; 314 /* if we're convinced no one has something for us, wait */ 315 wait_list.ev_chn (1) = do_info.net_rs.ev_chn; 316 if (term_rs.ev_chn ^= 0) & ^waiting then do; 317 wait_list.ev_chn (2) = term_rs.ev_chn; 318 wait_list.count = 2; 319 end; 320 else wait_list.count = 1; 321 322 if waiting & do_info.time_out > 0 323 then call timer_manager_$alarm_call ((do_info.time_out), "11"b, abort_wait, null ()); 324 call ipc_$block (addr (wait_list), addr (ev_msg), do_info.abort_code); 325 if waiting & do_info.time_out > 0 then call timer_manager_$reset_alarm_call (abort_wait); 326 327 if do_info.abort_code ^= 0 then goto return_to_caller; 328 if ev_msg.channel_index = 1 329 then need_tvinc incremental_volume_dumper: Processed rpv: 89 13 410 42 2$ 'TTCvinc incremental_volume_dumper: Processed root_01: 63 10 1494 60 5$ (TTZX4Bvinc incremental_volume_dumper: Processed root_02: 65 13 848 55 1$ )TTnCvinc incremental_volume_dumper: Processed root_03: 25 10 1148 60 3$ *TTp9Bvinc incremental_volume_dumper: Processed root_04: 58 10 511 46 2$ +TT,1;vinc incremental_volume_dumper: Processed tr01: 0 0 1 1 16$ ,TT#A>vinc incremental_volume_dumper: Processed bull01: 0 0 119 2 5$ -TTh<vinc incremental_volume_dumper: Processed bull02: 0 0 1 1 3$ .TT c<vinc incremental_volume_dumper: Processed bull03: 0 0 0 0 4$ /TT"m<vinc incremental_volume_dumper: Processed bull04: 0 0 0 0 4$ 0TT%W<vinc incremental_volume_dumper: Processed bull05: 0 0 0 0 7$ 1TT'9<vinc incremental_volume_dumper: Processed pub_01: 0 0 0 0 0$ 2TT(<vinc incremental_volume_dumper: Processed pub_02: 0 0 0 0 0$ 3TT*;<vinc incremental_volume_dumper: Processed pub_03: 0 0 1 1 0$ 4TT-ma<vinc incremental_volume_dumper: Processed pub_04: 0 0 1 1 0$ 5TT/<vinc incremental_volume_dumper: Processed pub_05: 0 0 2 1 0$ 6TT4!=vinc incremental_volume_dumper: Processed pub_06: 0 0 17 1 0$ 7TT5̄<vinc incremental_volume_dumper: Processed pub_07: 0 0 0 0 0$ 8TT8!~<vinc incremental_volume_dumper: Processed pub_08: 0 0 0 0 0$ 9TT:+;vinc incremental_volume_dumper: Processed abb01: 0 0 0 0 0$ :TTTTCf;vinc incremental_volume_dumper: Processed abb06: 0 0 0 0 0$ ?TTEo;vinc incremental_volume_dumper: Processed abb07: 0 0 0 0 0$ @TTF%;vinc incremental_volume_dumper: Processed abb08: 0 0 0 0 0$ ATTF8vinc incremental_volume_dumper: Dump finished at 0435.1$ BTTGZ86vinc incremental_volume_dumper: Dumper going to sleep$ CTEm4vinc wakeup_volume_dump: Dumper waking up at 0712.8$ DT08vinc wakeup_volume_dump: Processed rpv: 115 41 369 37 3$ ET<vinc wakeup_volume_dump: Processed root_01: 127 44 859 53 1$ FT6%F<vinc wakeup_volume_dump: Processed root_02: 144 48 298 46 4$ GTEY<vinc wakeup_volume_dump: Processed root_03: 110 39 910 58 0$ HTg;vinc wakeup_volume_dump: Processed root_04: 99 38 296 40 3$ IT5vinc wakeup_volume_dump: Processed tr01: 0 0 40 3 17$ JTO7vinc wakeup_volume_dump: Processed bull01: 0 0 119 2 9$ KT5vinc wakeup_volume_dump: Processed bull02: 0 0 1 1 8$ LT!6vinc wakeup_volume_dump: Processed bull03: 0 0 0 0 13$ MTo6vinc wakeup_volume_dump: Processed bull04: 0 0 0 0 11$ NT>6vinc wakeup_volume_dump: Processed bull05: 0 0 0 0 20$ OT5vinc wakeup_volume_dump: Processed pub_01: 0 0 8 5 0$ PTZ6vinc wakeup_volume_dump: Processed pub_02: 0 0 11 4 0$ QT=6vinc wakeup_volume_dump: Processed pub_03: 0 0 56 8 0$ RT :5vinc wakeup_volume_dump: Processed pub_04: 0 0 8 4 0$ ST)w6vinc wakeup_volume_dump: Processed pub_05: 0 0 14 7 0$ TT_,6vinc wakeup_volume_dump: Processed pub_06: 0 0 25 4 0$ UTq5vinc wakeup_volume_dump: Processed pub_07: 0 0 3 2 0$ VTA5vinc wakeup_volume_dump: Processed pub_08: 0 0 5 3 0$ WT!u5vinc wakeup_volume_dump: Processed abb01: 0 0 30 1 0$ XT$?a4vinc wakeup_volume_dump: Processed abb02: 0 0 5 2 0$ YT' 4vinc wakeup_volume_dump: Processed abb03: 0 0 7 4 1$ ZT)œ4vinc wakeup_volume_dump: Processed abb04: 0 0 0 0 3$ [T>-9vinc dmpr_output_: Finished AV0118: 3149 1014 19979 1675$ \TQN5vinc wakeup_volume_dump: Processed abb05: 0 0 93 3 1$ ]TR4vinc wakeup_volume_dump: Processed abb06: 0 0 0 1 0$ ^TVw4vinc wakeup_volume_dump: Processed abb07: 0 0 5 3 3$ _TZ5vinc wakeup_volume_dump: Processed abb08: 0 0 14 3 0$ `TZ!1vinc wakeup_volume_dump: Dump finished at 0715.1$ aT[ H/vinc wakeup_volume_dump: Dumper going to sleep$ bT[Qx9vinc end_volume_dump: Finished volume AV0082: 0 0 112 10$ cT¢vcons r 07:17 1.689 33$ dT¬vcons $ eTԧCvcons dmpr_report_: Error file dmpr_err.cons.04/11/95.0717 created$ fT,vcons manage_volume_pool_: No free volumes.$ gTONvcons dmpr_output_: Unable to get next dump volume name from dump volume pool$ hTվ]vcons $ iTR-vcons dmpr_output_: Type output volume name:$ jT v vcons QUIT$ kTŠvcons r 07:18 1.650 36 level 2$ lT٤vcons $ mTOGF&vabb Mounting tape AV0091 for writing$ nTOalvcons r 13:56 1.648 42$ oTOakvcons $ pTOt>'vcons Mounting tape AV0195 for writing$ qTQ.jOvabb Mounted Multics volume "AV0091" (recorded at 6250 BPI), on device tapa_00$ rTQ ;vcons Mounted unreadable volume "AV0195" on device tapa_01$ sTQBvcons consolidated_volume_dump: Begin dump of physical volume rpv$ tTQ@vcons consolidated_volume_dump: Processed rpv: 303 96 671 76 14$ uTQZvcons purge_volume_log_: Volume log rpv.volog purged. Entry count changed from 170 to 153$ vTQy8Fvcons consolidated_volume_dump: Begin dump of physical volume root_01$ wTR$=vabb complete_volume_dump: Processed abb06: 0 0 49230 6454 0$ xTR!?vabb complete_volume_dump: Begin dump of physical volume abb07$ yTR\Fvcons consolidated_volume_dump: Processed root_01: 294 108 1649 98 12$ zTR^vcons purge_volume_log_: Volume log root_01.volog purged. Entry count changed from 172 to 155$ {TRFvcons consolidated_volume_dump: Begin dump of physical volume root_02$ |TRdFvcons consolidated_volume_dump: Processed root_02: 306 128 1046 97 11$ }TR-^vcons purge_volume_log_: Volume log root_02.volog purged. Entry count changed from 171 to 155$ ~TRFvcons consolidated_volume_dump: Begin dump of physical volume root_03$ TSDEvcons consolidated_volume_dump: Processed root_03: 247 95 1949 107 8$ ˀTSHW^vcons purge_volume_log_: Volume log root_03.volog purged. Entry count changed from 180 to 164$ ˁTSIFvcons consolidated_volume_dump: Begin dump of physical volume root_04$ ˂TT.=Cvcons consolidated_volume_dump: Processed root_04: 307 99 880 79 6$ ˃TT;a^vcons purge_volume_log_: Volume log root_04.volog purged. Entry count changed from 170 to 154$ ˄TT;xCvcons consolidated_volume_dump: Begin dump of physical volume tr01$ ˅TTKϪ=vcons consolidated_volume_dump: Processed tr01: 0 0 40 3 112$ ˆTTO2[vcons purge_volume_log_: Volume log tr01.volog purged. Entry count changed from 169 to 153$ ˇTTP/TEvcons consolidated_volume_dump: Begin dump of physical volume bull01$ ˈTTi?vcons consolidated_volume_dump: Processed bull01: 0 0 118 2 24$ ˉTTm]vcons p_dumper: Processed abb07: 0 0 15 5 7$ T<vinc incremental_volume_dumper: Processed abb08: 0 0 12 1 2$ Tӏ8vinc incremental_volume_dumper: Dump finished at 1636.6$ T 6vinc incremental_volume_dumper: Dumper going to sleep$ Tvinc r 16:36 62.367 3222$ Tãvinc $ Tb;vinc incremental_volume_dumper: Dumper waking up at 1933.1$ TbA?vinc incremental_volume_dumper: Processed rpv: 164 50 347 38 2$ TbbCvinc incremental_volume_dumper: Processed root_01: 119 47 890 50 2$ Tb!Cvinc incremental_volume_dumper: Processed root_02: 156 55 272 45 7$ TcCvinc incremental_volume_dumper: Processed root_03: 107 39 981 56 2$ TcG3Bvinc incremental_volume_dumper: Processed root_04: 92 41 280 38 2$ TcK1 ;vinc incremental_volume_dumper: Processed tr01: 0 0 1 1 18$ TcR>vinc incremental_volume_dumper: Processed bull01: 0 0 119 2 6$ TcU<vinc incremental_volume_dumper: Processed bull02: 0 0 1 1 4$ TcW<vinc incremental_volume_dumper: Processed bull03: 0 0 0 0 4$ TcZ <vinc incremental_volume_dumper: Processed bull04: 0 0 0 0 6$ Tc\<vinc incremental_volume_dumper: Processed bull05: 0 0 0 0 8$ Tc`H=vinc incremental_volume_dumper: Processed pub_01: 0 0 10 6 0$ Tcm>vinc incremental_volume_dumper: Processed pub_02: 0 0 77 12 0$ TczpV>vinc incremental_volume_dumper: Processed pub_03: 0 0 56 18 0$ Tcd=vinc incremental_volume_dumper: Processed pub_04: 0 0 10 6 1$ TcE>vinc incremental_volume_dumper: Processed pub_05: 0 0 29 12 0$ Tc>vinc incremental_volume_dumper: Processed pub_06: 0 0 31 10 0$ Tcf=vinc incremental_volume_dumper: Processed pub_07: 0 0 39 3 0$ TcRZ>vinc incremental_volume_dumper: Processed pub_08: 0 0 35 11 0$ Tc;vinc incremental_volume_dumper: Processed abb01: 0 0 0 0 0$ Tc;vinc incremental_volume_dumper: Processed abb02: 0 0 0 0 0$ TcB;vinc incremental_volume_dumper: Processed abb03: 0 0 0 0 0$ TcZ;vinc incremental_volume_dumper: Processed abb04: 0 0 0 0 0$ Tcp;vinc incremental_volume_dumper: Processed abb05: 0 0 0 0 0$ Tc(;vinc incremental_volume_dumper: Processed abb06: 0 0 0 0 0$ Tcu5;vinc incremental_volume_dumper: Processed abb07: 0 0 0 0 0$ TcL;vinc incremental_volume_dumper: Processed abb08: 0 0 0 0 0$ Tc8vinc incremental_volume_dumper: Dump finished at 1935.3$ Tcj6vinc incremental_volume_dumper: Dumper going to sleep$ TA;vinc incremental_volume_dumper: Dumper waking up at 2233.1$ T/U?vinc incremental_volume_dumper: Processed rpv: 132 40 264 31 3$ T_Cvinc incremental_volume_dumper: Processed root_01: 124 42 831 42 2$ T/Cvinc incremental_volume_dumper: Processed root_02: 104 42 268 42 1$ TKBvinc incremental_volume_dumper: Processed root_03: 91 32 839 53 1$ TiPBvinc incremental_volume_dumper: Processed root_04: 74 33 281 37 1$ TlE;vinc incremental_volume_dumper: Processed tr01: 0 0 1 1 15$ Ts#>vinc incremental_volume_dumper: Processed bull01: 0 0 119 2 3$ Tv <vinc incremental_volume_dumper: Processed bull02: 0 0 1 1 7$ Tx<vinc incremental_volume_dumper: Processed bull03: 0 0 0 0 7$ Tzм<vinc incremental_volume_dumper: Processed bull04: 0 0 0 0 3$ T}<vinc incremental_volume_dumper: Processed bull05: 0 0 0 0 9$ TN<vinc incremental_volume_dumper: Processed pub_01: 0 0 8 4 0$ T=vinc incremental_volume_dumper: Processed pub_02: 0 0 34 6 0$ T>vinc incremental_volume_dumper: Processed pub_03: 0 0 61 10 0$ T<vinc incremental_volume_dumper: Processed pub_04: 0 0 6 3 0$ T=vinc incremental_volume_dumper: Processed pub_05: 0 0 13 6 0$ TC=vinc incremental_volume_dumper: Processed pub_06: 0 0 17 3 0$ TP=vinc incremental_volume_dumper: Processed pub_07: 0 0 40 4 0$ T=vinc incremental_volume_dumper: Processed pub_08: 0 0 15 7 0$ T! ;vinc incremental_volume_dumper: Processed abb01: 0 0 0 0 0$ T;vinc incremental_volume_dumper: Processed abb02: 0 0 0 0 0$ T;vinc incremental_volume_dumper: Processed abb03: 0 0 0 0 0$ T>;vinc incremental_volume_dumper: Processed abb04: 0 0 0 0 0$ T$;vinc incremental_volume_dumper: Processed abb05: 0 0 0 0 0$ Tz;vinc incremental_volume_dumper: Processed abb06: 0 0 0 0 0$ Tc;vinc incremental_volume_dumper: Processed abb07: 0 0 0 0 0$ T;vinc incremental_volume_dumper: Processed abb08: 0 0 0 0 0$ T 8vinc incremental_volume_dumper: Dump finished at 2234.2$ T6vinc incremental_volume_dumper: Dumper going to sleep$ T$;vinc incremental_volume_dumper: Dumper waking up at 0133.1$ T>vinc incremental_volume_dumper: Processed rpv: 66 12 239 25 2$ T Bvinc incremental_volume_dumper: Processed root_01: 66 13 802 32 1$ TBvinc incremental_volume_dumper: Processed root_02: 54 13 161 31 1$ TuAvinc incremental_volume_dumper: Processed root_03: 20 8 633 31 1$ TAvinc incremental_volume_dumper: Processed root_04: 34 8 104 25 2$ Tq;vinc incremental_volume_dumper: Processed tr01: 0 0 1 1 15$ Tx>vinc incremental_volume_dumper: Processed bull01: 0 0 119 2 4$ T<vinc incremental_volume_dumper: Processed bull02: 0 0 1 1 6$ T #<vinc incremental_volume_dumper: Processed bull03: 0 0 0 0 4$ T"P<vinc incremental_volume_dumper: Processed bull04: 0 0 0 0 3$ T%<vinc incremental_volume_dumper: Processed bull05: 0 0 0 0 9$ T'<vinc incremental_volume_dumper: Processed pub_01: 0 0 0 0 0$ T(i<vinc incremental_volume_dumper: Processed pub_02: 0 0 0 0 0$ T,J=vinc incremental_volume_dumper: Processed pub_03: 0 0 29 2 0$ T/j<vinc incremental_volume_dumper: Processed pub_04: 0 0 8 2 0$ T1<vinc incremental_volume_dumper: Processed pub_05: 0 0 0 0 0$ T3J=vinc incremental_volume_dumper: Processed pub_06: 0 0 14 1 0$ T5<vinc incremental_volume_dumper: Processed pub_07: 0 0 0 0 0$ T7V<vinc incremental_volume_dumper: Processed pub_08: 0 0 0 0 0$ T8>;vinc incremental_volume_dumper: Processed abb01: 0 0 0 0 0$ T:P;vinc incremental_volume_dumper: Processed abb02: 0 0 0 0 0$ T<+B;vinc incremental_volume_dumper: Processed abb03: 0 0 0 0 0$ T>J;vinc incremental_volume_dumper: Processed abb04: 0 0 0 0 0$ T?;vinc incremental_volume_dumper: Processed abb05: 0 0 0 0 0$ TAM*;vinc incremental_volume_dumper: Processed abb06: 0 0 0 0 0$ !TCY;vinc incremental_volume_dumper: Processed abb07: 0 0 0 0 0$ "TEJ;vinc incremental_volume_dumper: Processed abb08: 0 0 0 0 0$ #TEg8vinc incremental_volume_dumper: Dump finished at 0133.9$ $TE76vinc incremental_volume_dumper: Dumper going to sleep$ %TS`;vinc incremental_volume_dumper: Dumper waking up at 0433.1$ &TS > 7 2 ci like dial_out_info, /* user supplied */ 2 8 2 version varying char (16), 2 9 2 sci_ptr ptr, /* ssu_ info found here */ 2 10 2 abort_label label, /* place to die to */ 2 11 2 fo_iocbp ptr, /* non-null => file output in progress */ 2 12 2 temp_seg_p ptr, 2 13 2 match_string_p ptr, /* pts to string to match on wait */ 2 14 2 match_length fixed bin (21), /* length of string we are waiting to find */ 2 15 2 match_max_length fixed bin (21), /* len area for match string */ 2 16 2 net_rs, /* read_status result about net */ 2 17 3 ev_chn fixed bin (71), 2 18 3 data_available bit (1), 2 19 2 abort_code fixed bin (35), /* general horrible error */ 2 20 2 flags, 2 21 3 raw_mode bit (1) unaligned, 2 22 3 echo_mode bit (1) unaligned, 2 23 3 lfecho_mode bit (1) unaligned, 2 24 3 pad1 bit (33) unaligned, 2 25 2 old_modes char (512) unaligned, /* modes before we screwed them up */ 2 26 2 saved_cl_intermediary entry variable, 2 27 2 my_cl_intermediary entry variable, 2 28 2 cmd_ptr ptr, /* to area to hold outgoing chars or request line being built */ 2 29 2 cmd_buff_len fixed bin (21), 2 30 2 time_out fixed bin, /* max time to wait for net line */ 2 31 2 net_input_buff_ptr ptr, /* area we accumulate net input so we can do match scan */ 2 32 2 net_input_buff_len fixed bin (21), 2 33 2 net_input_last_char_filled fixed bin (21), /* last pos in net_input_buff of chars read */ 2 34 2 net_input_last_char_output fixed bin (21), /* last pos in buffer output or used by wait scan */ 2 35 2 active_result_max_len fixed bin (21), 2 36 2 active_result_ptr ptr; 2 37 3 1 /* Begin include file dial_out_info.incl.pl1 */ 3 2 3 3 /* Written by C. Hornig, April 1982 */ 3 4 3 5 dcl DIAL_OUT_INFO_VERSION_2 3 6 char (8) static options (constant) init ("doinfo_2"); 3 7 dcl dial_out_info_ptr ptr; 3 8 dcl 1 dial_out_info aligned based (dial_out_info_ptr), 3 9 2 version char (8), /* version of this structure */ 3 10 2 command_name char (32) unaligned, /* name of command invoking subsystem */ 3 11 2 net_iocb pointer, /* switch to which data is sent */ 3 12 2 request_table_ptr 3 13 pointer, /* points to ssu_ request table */ 3 14 2 profile_ptr pointer, /* points to abbrev profile */ 3 15 2 request_ptr pointer, /* points to initial request */ 3 16 2 request_length fixed bin (21), /* length of initial request */ 3 17 2 esc_char character (1), /* command prefix character */ 3 18 2 flags, 3 19 3 raw_sw bit (1) unaligned, /* do not do Multics terminal management */ 3 20 3 echo_sw bit (1) unaligned, /* echo characters typed by user */ 3 21 3 abbrev_sw bit (1) unaligned, /* do abbrev processing in request lines */ 3 22 3 lfecho_sw bit (1) unaligned, /* treat CR's as LF's */ 3 23 3 send_lf_sw bit (1) unaligned, /* send LF on CR */ 3 24 3 quit_sw bit (1) unaligned, /* send interrupt on quit */ 3 25 3 brief_sw bit (1) unaligned, /* don't print unneeded messages */ 3 26 3 no_startup_sw bit (1) unaligned, /* don't run start_up. */ 3 27 3 no_breakall_sw 3 28 bit (1) unaligned, /* transmit on every vs. transmit on NL */ 3 29 3 pad bit (27) unaligned, /* END OF VERSION 0 STRUCTURE */ 3 30 2 cmd_version varying char (8), /* version of command calling dial_out */ 3 31 /* END OF VERSION 1 STRUCTURE */ 3 32 2 modes_ptr ptr, /* ptr to initial modes */ 3 33 2 modes_len fixed bin (21); /* length of same */ 3 34 /* END OF VERSION 2 STRUCTURE */ 3 35 3 36 /* End include file dial_out_info.incl.pl1 */ 2 38 2 39 2 40 /* End include file dial_out_invocation.incl.pl1 */ 692 4 1 /* BEGIN INCLUDE FILE event_wait_info.incl.pl1 */ 4 2 4 3 /* T. Casey, May 1978 */ 4 4 4 5 dcl event_wait_info_ptr ptr; 4 6 4 7 dcl 1 event_wait_info aligned based (event_wait_info_ptr), /* argument structure filled in on return from ipc_$block */ 4 8 2 channel_id fixed bin (71), /* event channel on which wakeup occurred */ 4 9 2 message fixed bin (71), /* 72 bits of information passed by sender of wakeup */ 4 10 2 sender bit (36), /* process id of sender */ 4 11 2 origin, 4 12 3 dev_signal bit (18) unaligned, /* "1"b if device signal */ 4 13 3 ring fixed bin (17) unaligned, /* ring from which sent */ 4 14 2 channel_index fixed bin; /* index of this channel in the event wait list */ 4 15 4 16 /* END INCLUDE FILE event_wait_info.incl.pl1 */ 693 5 1 /* Begin include file foreign_terminal.incl.pl1 */ 5 2 5 3 dcl foreign_terminal_data_ptr ptr; 5 4 dcl FOREIGN_TERMINAL_DATA_VERSION_1 char (8) aligned static options (constant) init ("ftd_1"); 5 5 dcl 1 foreign_terminal_data aligned based (foreign_terminal_data_ptr), 5 6 2 version char (8), /* (Input) version of this structure */ 5 7 2 area_ptr ptr, /* (Input) area in which to allocate modes */ 5 8 2 mode_string_info_ptr ptr; /* (Output) points to allocate mode_string_info */ 5 9 /* End of version 1 data */ 5 10 5 11 /* End include file foreign_terminal.incl.pl1 */ 694 6 1 /* --------------- BEGIN include file iox_dcls.incl.pl1 --------------- */ 6 2 6 3 /* Written 05/04/78 by C. D. Tavares */ 6 4 /* Fixed declaration of iox_$find_iocb_n 05/07/80 by R. Holmstedt */ 6 5 /* Modified 5/83 by S. Krupp to add declarations for: iox_$open_file, 6 6* iox_$close_file, iox_$detach and iox_$attach_loud entries. */ 6 7 6 8 dcl iox_$attach_name entry (char (*), pointer, char (*), pointer, fixed bin (35)), 6 9 iox_$attach_ptr entry (pointer, char (*), pointer, fixed bin (35)), 6 10 iox_$close entry (pointer, fixed bin (35)), 6 11 iox_$control entry (pointer, char (*), pointer, fixed bin (35)), 6 12 iox_$delete_record entry (pointer, fixed bin (35)), 6 13 iox_$destroy_iocb entry (pointer, fixed bin (35)), 6 14 iox_$detach_iocb entry (pointer, fixed bin (35)), 6 15 iox_$err_not_attached entry options (variable), 6 16 iox_$err_not_closed entry options (variable), 6 17 iox_$err_no_operation entry options (variable), 6 18 iox_$err_not_open entry options (variable), 6 19 iox_$find_iocb entry (char (*), pointer, fixed bin (35)), 6 20 iox_$find_iocb_n entry (fixed bin, ptr, fixed bin(35)), 6 21 iox_$get_chars entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 6 22 iox_$get_line entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 6 23 iox_$look_iocb entry (char (*), pointer, fixed bin (35)), 6 24 iox_$modes entry (pointer, char (*), char (*), fixed bin (35)), 6 25 iox_$move_attach entry (pointer, pointer, fixed bin (35)), 6 26 iox_$open entry (pointer, fixed bin, bit (1) aligned, fixed bin (35)), 6 27 iox_$position entry (pointer, fixed bin, fixed bin (21), fixed bin (35)), 6 28 iox_$propagate entry (pointer), 6 29 iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)), 6 30 iox_$read_key entry (pointer, char (256) v Mounting tape AV0096 for writing$ ˕Tژs:vabb Mounted unreadable volume "AV0096" on device tapa_01$ ˖Tޕ7=vabb complete_volume_dump: Processed abb05: 0 0 48576 6510 0$ ˗TޚWGFvabb purge_volume_log_: Output volume AV0091 is now available for use$ ˘Tޜ9-Fvabb purge_volume_log_: Output volume AV0118 is now available for use$ ˙TޣFvabb purge_volume_log_: Output volume AV0082 is now available for use$ ˚Tޣ3[vabb purge_volume_log_: Volume log abb05.volog purged. Entry count changed from 152 to 124$ ˛TޣS?vabb complete_volume_dump: Begin dump of physical volume abb06$ ˜T3vabb dmpr_output_: Finished AV0096: 0 0 25243 3079$ ˝Tr&vabb Mounting tape AV0014 for writing$ ˞Tw:vabb Mounted unreadable volume "AV0014" on device tapa_01$ ˟To3vabb dmpr_output_: Finished AV0014: 0 0 25419 3700$ ˠT?b&vabb Mounting tape AV0091 for writing$ ˡTVBjjvabb dmpr_output_: Unable to attach dump volume AV0091.: The Operator refused to honor the mount request.$ ˢTVvabb $ ˣTVMvabb dmpr_output_:$ ˤTVo+vabb Do you wish to re-try the attachment?$ ˥TSvinc r 16:31 1.630 59$ ˦T]vinc $ ˧TPvinc incremental_volume_dumper: Please get the following volumes: AV0118 AV0082$ ˨T:w&vinc Mounting tape AV0118 for writing$ ˩Tm\Ovinc Mounted Multics volume "AV0118" (recorded at 6250 BPI), on device tapa_00$ ˪Tm&vinc Mounting tape AV0082 for writing$ ˫TFOvinc Mounted Multics volume "AV0082" (recorded at 6250 BPI), on device tapa_01$ ˬT!C?vinc incremental_volume_dumper: Processed rpv: 176 52 458 47 7$ ˭TCvinc incremental_volume_dumper: Processed root_01: 171 55 920 64 5$ ˮTGCvinc incremental_volume_dumper: Processed root_02: 177 65 352 59 0$ ˯TDvinc incremental_volume_dumper: Processed root_03: 138 48 1061 68 4$ ˰TJCvinc incremental_volume_dumper: Processed root_04: 189 53 310 47 3$ ˱T%;vinc incremental_volume_dumper: Processed tr01: 0 0 1 1 57$ ˲TUD?vinc incremental_volume_dumper: Processed bull01: 0 0 119 2 18$ ˳T<vinc incremental_volume_dumper: Processed bull02: 0 0 2 2 8$ ˴Tz!=vinc incremental_volume_dumper: Processed bull03: 0 0 0 0 13$ ˵T=vinc incremental_volume_dumper: Processed bull04: 0 0 0 0 16$ ˶T=vinc incremental_volume_dumper: Processed bull05: 0 0 0 0 32$ ˷T#=vinc incremental_volume_dumper: Processed pub_01: 0 0 31 7 0$ ˸TD?vinc incremental_volume_dumper: Processed pub_02: 0 0 199 13 1$ ˹T_О?vinc incremental_volume_dumper: Processed pub_03: 0 0 144 21 0$ ˺Tm>vinc incremental_volume_dumper: Processed pub_04: 0 0 61 11 0$ ˻Tya>vinc incremental_volume_dumper: Processed pub_05: 0 0 29 16 0$ ˼T?vinc incremental_volume_dumper: Processed pub_06: 0 0 149 13 0$ ˽Tl=vinc incremental_volume_dumper: Processed pub_07: 0 0 41 5 0$ ˾T9>vinc incremental_volume_dumper: Processed pub_08: 0 0 82 13 0$ ˿Ty<vinc incremental_volume_dumper: Processed abb01: 0 0 30 1 3$ T;vinc incremental_volume_dumper: Processed abb02: 0 0 0 0 2$ T;vinc incremental_volume_dumper: Processed abb03: 0 0 2 2 2$ T?;vinc incremental_volume_dumper: Processed abb04: 0 0 7 2 1$ Tr<vinc incremental_volume_dumper: Processed abb05: 0 0 91 3 2$ T=vinc incremental_volume_dumper: Processed abb06: 0 0 159 3 3$ T<vinc incremental_volumeet ref 669 683* FOREIGN_TERMINAL_DATA_VERSION_1 000000 constant char(8) initial dcl 5-4 ref 185 Force_get_line parameter bit(1) dcl 475 ref 472 489 Lfecho parameter bit(1) packed unaligned dcl 219 ref 216 229 239 NL 000002 constant char(1) initial packed unaligned dcl 48 set ref 112 112 507 525 546 554 562* Nelem parameter fixed bin(21,0) dcl 43 in procedure "dial_out_util_" set ref 96 100* Nelem parameter fixed bin(21,0) dcl 124 in procedure "send" set ref 119 126* Raw parameter bit(1) packed unaligned dcl 219 ref 216 225 237 Sci_ptr parameter pointer dcl 639 ref 635 Silent parameter bit(1) dcl 44 ref 366 370 Waiting parameter bit(1) dcl 45 ref 243 251 abort_code 61 based fixed bin(35,0) level 2 dcl 2-6 set ref 284* 324* 327 359* 393* 396 400 457* 459 489* 492* 494 626* 627 abort_label 42 based label variable level 2 dcl 2-6 set ref 494 627 active_function 000122 automatic bit(1) initial dcl 55 set ref 55* 252* 253 334 448 active_len_before_quotes 000123 automatic fixed bin(21,0) dcl 56 set ref 341* 342 348 active_result based varying char dcl 57 set ref 256* 341 342 342* 342 348 348* 348 449* 449 active_result_max_len 305 based fixed bin(21,0) level 2 dcl 2-6 set ref 254* 254 256 339* 339 342 348 449 active_result_ptr 306 based pointer level 2 dcl 2-6 set ref 256 341 342 342 342 348 348 348 449 449 addcharno builtin function dcl 92 ref 393 393 457 457 462 462 addr builtin function dcl 92 ref 109 109 112 112 171 171 187 187 194 288 288 297 297 324 324 324 324 393 393 457 457 462 462 466 466 489 489 492 492 626 626 amount parameter fixed bin(21,0) dcl 445 set ref 441 447 449 449 457* 462* 469 area_ptr 2 000214 automatic pointer level 2 dcl 182 set ref 186* boolean_value 11(03) based bit(1) level 3 packed packed unaligned dcl 1-16 ref 196 199 201 boolean_valuep 11 based bit(1) level 3 packed packed unaligned dcl 1-16 ref 196 199 201 c 000100 automatic char(1) dcl 476 set ref 501* 502 507 507 530* 531 539* 540 546 546 554 554 channel_index 6 000130 automatic fixed bin(17,0) level 2 dcl 63 set ref 328 ci based structure ;vinc incremental_volume_dumper: Processed abb06: 0 0 0 0 0$ ]T\U*;vinc incremental_volume_dumper: Processed abb07: 0 0 1 1 0$ ^T^$;vinc incremental_volume_dumper: Processed abb08: 0 0 0 0 0$ _T^8vinc incremental_volume_dumper: Dump finished at 1343.7$ `T^6vinc incremental_volume_dumper: Dumper going to sleep$ aT/'vabb $ bT/>vabb dmpr_output_:$ cT/KI'vabb Do you wish to continue the dump?$ dT?H&vabb Mounting tape AV0014 for writing$ eTOvabb Mounted Multics volume "AV0014" (recorded at 6250 BPI), on device tapa_00$ fT_rvabb dmpr_output_: Error on opening dump volume AV0014: Unrecoverable data-transmission error on physical device.$ gTeYvabb $ hTevabb dmpr_output_:$ iTe$vabb The open operation has failed.$ jTe=5vabb Do you wish to delete the volume from the pool?$ kT{vabb $ lT{%vabb dmpr_output_:$ mT{¤'vabb Do you wish to continue the dump?$ nTȂ.~&vabb Mounting tape AV0178 for writing$ oTɀOvabb Mounted Multics volume "AV0178" (recorded at 6250 BPI), on device tapa_00$ pT 4vinc wakeup_volume_dump: Dumper waking up at 1357.9$ qT?ɉ7vinc wakeup_volume_dump: Processed rpv: 96 27 319 30 2$ rT̡ɂ<vinc wakeup_volume_dump: Processed root_01: 122 28 840 48 2$ sTO;vinc wakeup_volume_dump: Processed root_02: 85 29 269 34 1$ tT;vinc wakeup_volume_dump: Processed root_03: 69 24 804 32 0$ uTV8;vinc wakeup_volume_dump: Processed root_04: 80 32 355 36 2$ vTX3vinc wakeup_volume_dump: Processed tr01: 0 0 0 0 0$ wTaZ7vinc wakeup_volume_dump: Processed bull01: 0 0 109 1 4$ xTcʵ5vinc wakeup_volume_dump: Processed bull02: 0 0 0 0 1$ yTf5vinc wakeup_volume_dump: Processed bull03: 0 0 0 0 6$ zTh5vinc wakeup_volume_dump: Processed bull04: 0 0 0 0 4$ {Tk5vinc wakeup_volume_dump: Processed bull05: 0 0 0 0 9$ |To a5vinc wakeup_volume_dump: Processed pub_01: 0 0 7 3 0$ }Tsz86vinc wakeup_volume_dump: Processed pub_02: 0 0 18 3 0$ ~T|6vinc wakeup_volume_dump: Processed pub_03: 0 0 31 9 0$ T́5vinc wakeup_volume_dump: Processed pub_04: 0 0 6 3 0$ ˀT͇:6vinc wakeup_volume_dump: Processed pub_05: 0 0 14 7 0$ ˁT͊i5vinc wakeup_volume_dump: Processed pub_06: 0 0 4 2 0$ ˂T͒@6vinc wakeup_volume_dump: Processed pub_07: 0 0 52 4 0$ ˃T͙76vinc wakeup_volume_dump: Processed pub_08: 0 0 22 4 0$ ˄T͛p4vinc wakeup_volume_dump: Processed abb01: 0 0 0 0 0$ ˅T͟D 4vinc wakeup_volume_dump: Processed abb02: 0 0 4 1 0$ ˆT͢Z4vinc wakeup_volume_dump: Processed abb03: 0 0 4 1 0$ ˇTͥb4vinc wakeup_volume_dump: Processed abb04: 0 0 1 1 1$ ˈTͰxX5vinc wakeup_volume_dump: Processed abb05: 0 0 11 2 0$ ˉTͰ4vinc wakeup_volume_dump: Processed abb06: 0 0 0 0 0$ ˊTͳl4vinc wakeup_volume_dump: Processed abb07: 0 0 5 3 1$ ˋTͷ|5vinc wakeup_volume_dump: Processed abb08: 0 0 12 1 0$ ˌTͷ 51vinc wakeup_volume_dump: Dump finished at 1359.8$ ˍTͷ/vinc wakeup_volume_dump: Dumper going to sleep$ ˎTͷvinc r 13:59 350.998 15538$ ˏTͷ vinc $ ːT͹I@vinc end_volume_dump: Finished volume AV0031: 1429 472 7523 770$ ˑTͿjvinc r 13:59 1.280 16$ ˒Tjvinc $ ˓TO3vabb dmpr_output_: Finished AV0178: 0 0 25364 3327$ ˔TuI&vabb 306 306 306 306 315 322 322 324 325 327 339 339 341 342 342 342 342 348 348 348 348 359 369* 380 380 384 386 386 388 388 388 388 389 390 390 393 393 393 393 393 393 393 393 393 393 396 397* 400 403 403 408 408 424 427 427 427 427 427 427 427 434 449 449 449 449 449 449 449 449 449 457 457 457 457 457 457 457 459 461 462 462 462 462 462 462 462 465 466 466 469 469 489 489 492 494 494 502 507 507 517 523 523 531 540 546 546 562 584 584 584 584 584 584 587 587 604 604 614 614 626* 626 626 626 626 626 627 627 643* 646 646 659* 660 661 662 663 664 672* 675* 676 680* 681 685* 686 echo_mode 62(01) based bit(1) level 3 packed packed unaligned dcl 2-6 set ref 238* 507 523 546 echo_sw 24(01) based bit(1) level 4 packed packed unaligned dcl 2-6 set ref 150* 192* 196* 206* 306 584 error_table_$line_status_pending 000010 external static fixed bin(35,0) dcl 77 ref 128 396 error_table_$timeout 000012 external static fixed bin(35,0) dcl 78 ref 359 esc_char 23 based char(1) level 3 dcl 2-6 set ref 264* 306* 502 517 531 540 584* escape_seen 000126 automatic bit(1) dcl 62 set ref 280* 498 499* 535* ev_chn 2 000150 automatic fixed bin(71,0) array level 2 in structure "wait_list" dcl 71 in procedure "dial_out_util_" set ref 315* 317* ev_chn 56 based fixed bin(71,0) level 3 in structure "do_info" dcl 2-6 in procedure "dial_out_util_" set ref 315 ev_chn 000144 automatic fixed bin(71,0) level 2 in structure "term_rs" dcl 70 in procedure "dial_out_util_" set ref 283* 316 317 ev_msg 000130 automatic structure level 1 dcl 63 set ref 324 324 event_wait_info based structure level 1 dcl 4-7 flags 24 based structure level 3 in structure "do_info" dcl 2-6 in procedure "dial_out_util_" flags 62 based structure level 2 in structure "do_info" dcl 2-6 in procedure "dial_out_util_" flags 11 based structure level 2 in structure "mode_value" dcl 1-16 in procedure "get_modes" fo_iocbp 46 based pointer level 2 dcl 2-6 set ref 461 462* 660 661* 662* 663* 664* foreign_terminal_data based structure level 1 dcl 5-5 fragment_len 000102 automatic fixed bin(21,0) dcl 478 set ref 500* 532* 534 538* 555* 557 567* 569 604 604 605 ftd 000214 automatic structure level 1 dcl 182 set ref 187 187 get_user_free_area_ 000024 constant entry external dcl 84 ref 186 half_size 000250 automatic fixed bin(17,0) dcl 377 set ref 384* 386 386 388 388 388 389 390 i 000222 automatic fixed bin(17,0) dcl 183 set ref 193* 194* in_command 000137 automatic bit(1) dcl 64 set ref 280* 503 523 542 558 572 581 586* 591* index builtin function dcl 92 ref 427 517 520 525 indx 000103 automatic fixed bin(21,0) dcl 479 set ref 497* 501 512* 516 517 517 518 520 520 521 525 525 526 530 534* 534 535 539 551* 551 557* 557 569* 569 604 input_buffer 000104 automatic char(128) packed unaligned dcl 480 set ref 489 489 489 489 492 492 492 492 501 517 520 525 530 539 604 ioa_$nnl 000026 constant entry external dcl 85 ref 264 306 584 iox_$close 000042 constant entry external dcl 6-8 ref 661 iox_$control 000044 constant entry external dcl 6-8 ref 160 171 187 223 234 288 297 iox_$destroy_iocb 000046 constant entry external dcl 6-8 ref 663 iox_$detach_iocb 000050 constant entry external dcl 6-8 ref 662 iox_$get_chars 000052 constant entry external dcl 6-8 ref 393 492 iox_$get_line 000054 constant entry external dcl 6-8 ref 489 iox_$modes 000056 constant entry external dcl 6-8 ref 159 222 225 228 229 233 iox_$put_chars 000060 constant entry external dcl 6-8 ref 126 457 462 iox_$user_input 000064 external static pointer dcl 6-41 set ref 159* 160* 222* 223* 225* 228* 229* 233* 234* 297* 489* 492* iox_$user_output 000062 external static pointer dcl 6-41 set ref 457* ipc_$block 000030 constant entry external dcl 86 ref 324 length builtin function dcl 92 ref 341 342 348 489 489 492 492 lfecho_mode 62(02) based bit(1) level 3 packed packed unaligned dcl 2-6 set ref 239* 507 523 546 lfecho_sw 24(03) based bit(1) level 4 packed packed unaligned dcl 2-6 set ref 150* 199* 206* ls_data 000200 automatic bit(72) dcl 168 set ref 171 171 match_length 54 based fixed bin(21,0) level 2 dcl 2-6 set ref 275 424 427 434 match_string based char packed unaligned dcl 415 ref 427 match_string_p 52 based pointer level 2 dcl 2-6 set ref 427 matched_pos 000260 automatic fixed bin(17,0) dcl 416 set ref 427* 433 434 mc_ptr parameter pointer dcl 357 ref 354 min builtin function dcl 92 ref 522 527 mod builtin function dcl 92 ref 342 348 mode_name 1 based char(32) level 2 packed packed unaligned dcl 1-16 ref 196 196 199 201 mode_string_info based structure level 1 dcl 1-9 set ref 207 mode_string_info_ptr 4 000214 automatic pointer level 2 in structure "ftd" dcl 182 in procedure "get_modes" set ref 190 mode_string_info_ptr 000226 automatic pointer dcl 1-14 in procedure "get_modes" set ref 190* 191 193 194 207 mode_string_info_version_2 constant fixed bin(17,0) initial dcl 1-30 ref 191 mode_value based structure level 1 dcl 1-16 mode_value_ptr 000224 automatic pointer dcl 1-6 set ref 194* 195 196 196 196 196 199 199 199 201 201 201 mode_value_version_3 constant fixed bin(17,0) initial dcl 1-30 ref 195 modes 2 based structure array level 2 dcl 1-9 set ref 194 my_cl_intermediary 270 based entry variable level 2 dcl 2-6 set ref 263* 676* 686* name parameter char packed unaligned dcl 358 ref 354 need_to_check_net 000141 automatic bit(1) dcl 66 set ref 281* 287 293* 313 328* 645* need_to_check_term 000142 automatic bit(1) dcl 67 set ref 281* 296 303* 313 330* 644* need_to_echo_command 000140 automatic bit(1) dcl 65 set ref 280* 304 308* 584 586* 591* net_input_buff based char packed unaligned dcl 68 set ref 388* 388 393 393 427 449 449 457 457 462 462 net_input_buff_len 302 based fixed bin(21,0) level 2 dcl 2-6 set ref 380 384 388 388 393 393 393 427 449 449 457 457 462 462 net_input_buff_ptr 300 based pointer level 2 dcl 2-6 set ref 388 388 393 393 427 449 449 457 457 462 462 net_input_last_char_filled 303 based fixed bin(21,0) level 2 dcl 2-6 set ref 380 389* 393 393 393 403* 403 408 427 646 net_input_last_char_output 304 based fixed bin(21,0) level 2 dcl 2-6 set ref 386 386 390* 390 408 427 427 449 449 457 457 462 462 469* 469 646 net_iocb 12 based pointer level 3 dcl 2-6 set ref 126* 171* 187* 288* 393* net_rs 56 based structure level 2 dcl 2-6 set ref 288 288 next_char 000144 automatic fixed bin(21,0) dcl 481 set ref 517* 518 518* 522* 522 527* 527 530 532 555 567 next_whatever 000145 automatic fixed bin(21,0) dcl 482 set ref 520* 521 521* 522 525* 526 526* 527 no_breakall_sw 24(08) based bit(1) level 4 packed packed unaligned dcl 2-6 set ref 201* 227 null builtin function dcl 92 ref 160 160 223 223 234 234 322 322 461 660 664 num_bytes_read 000146 automatic fixed bin(21,0) dcl 483 set ref 487* 489* 492* 494 496 516 517 518 520 521 525 526 535 num_received 000251 automatic fixed bin(21,0) dcl 378 set ref 393* 400 402 403 number 1 based fixed bin(17,0) level 2 dcl 1-9 ref 193 207 old_modes 63 based char(512) level 2 packed packed unaligned dcl 2-6 set ref 159* 222* program_interrupt 000106 stack reference condition dcl 52 ref 259 quit 000114 stack reference condition dcl 53 ref 678 raw_mode 62 based bit(1) level 3 packed packed unaligned dcl 2-6 set ref 237* 489 raw_sw 24 based bit(1) level 4 packed packed unaligned dcl 2-6 set ref 150* 206* requote_string_$quote_string 000040 constant entry external dcl 90 ref 449 rtrim builtin function dcl 92 ref 341 saved_cl_intermediary 264 based entry variable level 2 dcl 2-6 set ref 681* sci_ptr 40 based pointer level 2 dcl 2-6 set ref 587* send_lf_sw 24(04) based bit(1) level 4 packed packed unaligned dcl 2-6 set ref 111 562 silent 000143 automatic bit(1) initial dcl 69 set ref 69* 252* 370* 456 ssu_$execute_line 000032 constant entry external dcl 87 ref 643 643 substr builtin function dcl 92 set ref 306 306 388* 388 427 449 449 501 517 520 525 530 539 584 584 604* 604 614* term_rs 000144 automatic structure level 1 dcl 70 set ref 297 297 this_cmd_len 000156 automatic fixed bin(21,0) dcl 579 set ref 582* 584 584 587* time_out 277 based fixed bin(17,0) level 2 dcl 2-6 set ref 272 322 322 325 timer_manager_$alarm_call 000034 constant entry external dcl 88 ref 322 timer_manager_$reset_alarm_call 000036 constant entry external dcl 89 ref 272 325 version based fixed bin(17,0) level 2 in structure "mode_string_info" dcl 1-9 in procedure "get_modes" ref 191 version 000214 automatic char(8) level 2 in structure "ftd" dcl 182 in procedure "get_modes" set ref 185* version based fixed bin(17,0) level 2 in structure "mode_value" dcl 1-16 in procedure "get_modes" ref 195 wait_list 000150 automatic structure level 1 dcl 71 set ref 324 324 waiting 000156 automatic bit(1) initial dcl 75 set ref 75* 251* 259 266* 272 275 296 313 316 322 325 404 wc_ptr parameter pointer dcl 357 ref 354 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. DIAL_OUT_INFO_VERSION_2 internal static char(8) initial packed unaligned dcl 3-5 dial_out_info_ptr automatic pointer dcl 3-7 event_wait_info_ptr automatic pointer dcl 4-5 foreign_terminal_data_ptr automatic pointer dcl 5-3 iox_$attach_loud 000000 constant entry external dcl 6-8 iox_$attach_name 000000 constant entry external dcl 6-8 iox_$attach_ptr 000000 constant entry external dcl 6-8 iox_$close_file 000000 constant entry external dcl 6-8 iox_$delete_record 000000 constant entry external dcl 6-8 iox_$detach 000000 constant entry external dcl 6-8 iox_$err_no_operation 000000 constant entry external dcl 6-8 iox_$err_not_attached 000000 constant entry external dcl 6-8 iox_$err_not_closed 000000 constant entry external dcl 6-8 iox_$err_not_open 000000 constant entry external dcl 6-8 iox_$error_output external static pointer dcl 6-41 iox_$find_iocb 000000 constant entry external dcl 6-8 iox_$find_iocb_n 000000 constant entry external dcl 6-8 iox_$look_iocb 000000 constant entry external dcl 6-8 iox_$move_attach 000000 constant entry external dcl 6-8 iox_$open 000000 constant entry external dcl 6-8 iox_$open_file 000000 constant entry external dcl 6-8 iox_$position 000000 constant entry external dcl 6-8 iox_$propagate 000000 constant entry external dcl 6-8 iox_$read_key 000000 constant entry external dcl 6-8 iox_$read_length 000000 constant entry external dcl 6-8 iox_$read_record 000000 constant entry external dcl 6-8 iox_$rewrite_record 000000 constant entry external dcl 6-8 iox_$seek_key 000000 constant entry external dcl 6-8 iox_$user_io external static pointer dcl 6-41 iox_$write_record 000000 constant entry external dcl 6-8 number_of_modes automatic fixed bin(17,0) dcl 1-6 NAMES DECLARED BY EXPLICIT CONTEXT. abort_wait 002373 constant entry internal dcl 354 ref 272 272 322 322 325 325 call_out 001410 constant entry external dcl 669 ref 643 cmd_proc 003637 constant entry internal dcl 635 ref 587 dial_out_util_ 000145 constant entry external dcl 10 get_modes 001633 constant entry internal dcl 178 ref 172 insert 003552 constant entry internal dcl 599 ref 502 505 509 533 540 544 548 556 568 insert_char 003571 constant entry internal dcl 609 ref 561 562 interaction_done 001226 constant label dcl 334 ref 275 360 404 interaction_loop 000453 constant entry external dcl 243 line_status 001575 constant entry internal dcl 165 ref 129 141 net_input 002415 constant entry internal dcl 374 ref 291 371 net_input_found 002546 constant entry internal dcl 413 ref 275 404 output_net_input 002612 constant entry internal dcl 441 ref 386 408 434 646 process_line_status 000302 constant entry external dcl 137 ref 397 process_net_input 001304 constant entry external dcl 366 reenter_interaction_loop 000645 constant label dcl 275 ref 267 reset_do_modes 000353 constant entry external dcl 155 ref 305 680 return_to_caller 001543 constant label dcl 689 set ref 327 400 459 revert_fo 001325 constant entry external dcl 656 ref 466 rewrite 001546 constant label dcl 126 ref 130 send 001544 constant entry internal dcl 119 ref 100 109 112 send_chars 000161 constant entry external dcl 96 ref 626 send_nl 000215 constant entry external dcl 105 set_do_modes 000320 constant entry external dcl 146 ref 262 675 685 set_modes 002042 constant entry internal dcl 216 ref 150 206 switch 003453 constant entry internal dcl 577 ref 504 508 543 547 558 terminal_input 003040 constant entry internal dcl 472 ref 265 300 transmit_buffer 003605 constant entry internal dcl 623 ref 563 572 590 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4416 4504 3742 4426 Length 5106 3742 66 366 453 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dial_out_util_ 350 external procedure is an external procedure. send internal procedure shares stack frame of external procedure dial_out_util_. line_status internal procedure shares stack frame of external procedure dial_out_util_. get_modes internal procedure shares stack frame of external procedure dial_out_util_. set_modes internal procedure shares stack frame of external procedure dial_out_util_. on unit on line 259 79 on unit on unit on line 270 72 on unit abort_wait 65 internal procedure is assigned to an entry variable, and is declared options(non_quick). net_input internal procedure shares stack frame of external procedure dial_out_util_. net_input_found internal procedure shares stack frame of external procedure dial_out_util_. output_net_input 98 internal procedure is called by several nonquick procedures. terminal_input 178 internal procedure is called by several nonquick procedures. switch internal procedure shares stack frame of internal procedure terminal_input. insert internal procedure shares stack frame of internal procedure terminal_input. insert_char internal procedure shares stack frame of internal procedure terminal_input. transmit_buffer internal procedure shares stack frame of internal procedure terminal_input. cmd_proc 83 internal procedure is declared options(non_quick). on unit on line 673 68 on unit on unit on line 678 64 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dial_out_util_ 000122 active_function dial_out_util_ 000123 active_len_before_quotes dial_out_util_ 000124 cmd_len dial_out_util_ 000125 code dial_out_util_ 000126 escape_seen dial_out_util_ 000130 ev_msg dial_out_util_ 000137 in_command dial_out_util_ 000140 need_to_echo_command dial_out_util_ 000141 need_to_check_net dial_out_util_ 000142 need_to_check_term dial_out_util_ 000143 silent dial_out_util_ 000144 term_rs dial_out_util_ 000150 wait_list dial_out_util_ 000156 waiting dial_out_util_ 000160 dop dial_out_util_ 000200 ls_data line_status 000202 code line_status 000212 code get_modes 000214 ftd get_modes 000222 i get_modes 000224 mode_value_ptr get_modes 000226 mode_string_info_ptr get_modes 000240 code set_modes 000250 half_size net_input 000251 num_received net_input 000260 matched_pos net_input_found terminal_input 000100 c terminal_input 000101 code terminal_input 000102 fragment_len terminal_input 000103 indx terminal_input 000104 input_buffer terminal_input 000144 next_char terminal_input 000145 next_whatever terminal_input 000146 num_bytes_read terminal_input 000156 this_cmd_len switch THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_in call_ext_out_desc call_ext_out call_int_this call_int_other return_mac move_label_var make_label_var tra_ext_1 tra_ext_2 mdfx1 enable_op shorten_stack ext_entry int_entry int_entry_desc set_chars_eis index_chars_eis op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_list_ptr cu_$generate_call cu_$set_cl_intermediary get_user_free_area_ ioa_$nnl iox_$close iox_$control iox_$destroy_iocb iox_$detach_iocb iox_$get_chars iox_$get_line iox_$modes iox_$put_chars ipc_$block requote_string_$quote_string ssu_$execute_line timer_manager_$alarm_call timer_manager_$reset_alarm_call THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$line_status_pending error_table_$timeout iox_$user_input iox_$user_output LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 55 000137 69 000140 75 000141 10 000144 96 000153 99 000172 100 000176 101 000210 105 000211 108 000226 109 000232 110 000250 111 000252 112 000256 113 000274 115 000276 137 000277 140 000310 141 000314 142 000315 146 000316 149 000326 150 000332 151 000350 155 000351 158 000361 159 000365 160 000413 161 000446 243 000447 250 000461 251 000465 252 000470 253 000474 254 000475 256 000477 259 000510 262 000526 263 000535 264 000546 265 000571 266 000602 267 000604 270 000607 272 000623 273 000644 275 000645 280 000657 281 000662 282 000665 283 000666 284 000670 287 000672 288 000674 289 000731 291 000736 293 000743 296 000744 297 000750 298 001003 300 001007 303 001022 304 001023 305 001025 306 001033 308 001072 313 001074 315 001102 316 001105 317 001111 318 001113 319 001115 320 001116 322 001120 324 001153 325 001173 327 001212 328 001215 330 001223 332 001225 334 001226 339 001230 341 001232 342 001246 347 001262 348 001263 352 001277 366 001300 369 001312 370 001316 371 001321 372 001322 656 001323 659 001333 660 001337 661 001343 662 001354 663 001366 664 001400 665 001403 669 001404 672 001416 673 001422 675 001436 676 001445 677 001456 678 001457 680 001474 681 001502 683 001512 685 001524 686 001532 687 001542 689 001543 119 001544 126 001546 128 001565 129 001572 130 001573 132 001574 165 001575 171 001576 172 001631 173 001632 178 001633 185 001634 186 001636 187 001645 188 001677 190 001702 191 001704 192 001707 193 001712 194 001723 195 001727 196 001732 199 001760 201 001775 204 002012 206 002014 207 002033 208 002041 216 002042 222 002044 223 002072 225 002124 227 002162 228 002166 229 002215 232 002257 233 002265 234 002320 237 002353 238 002361 239 002365 240 002371 354 002372 359 002406 360 002412 374 002415 380 002416 384 002422 386 002425 388 002437 389 002445 390 002447 393 002451 396 002501 397 002506 398 002514 400 002515 402 002521 403 002523 404 002524 407 002533 408 002534 410 002545 413 002546 424 002550 427 002556 433 002570 434 002571 435 002602 438 002606 441 002611 447 002617 448 002622 449 002625 454 002675 456 002676 457 002701 459 002727 461 002736 462 002744 464 002770 465 002773 466 003020 469 003031 470 003036 472 003037 487 003045 489 003046 492 003104 494 003126 496 003136 497 003140 498 003142 499 003144 500 003145 501 003146 502 003152 503 003160 504 003162 505 003163 506 003164 507 003165 508 003177 509 003200 512 003201 516 003203 517 003207 518 003227 520 003234 521 003246 522 003253 523 003257 525 003265 526 003277 527 003304 530 003310 531 003315 532 003321 533 003324 534 003325 535 003331 538 003337 539 003341 540 003346 542 003356 543 003360 544 003361 545 003362 546 003363 547 003375 548 003376 551 003377 553 003400 554 003401 555 003406 556 003411 557 003412 558 003416 561 003423 562 003425 563 003434 565 003435 567 003436 568 003440 569 003441 571 003443 572 003444 574 003452 577 003453 581 003454 582 003457 583 003461 584 003462 586 003522 587 003526 588 003543 590 003544 591 003545 594 003551 599 003552 604 003553 605 003566 607 003570 609 003571 614 003573 615 003603 617 003604 623 003605 626 003606 627 003626 628 003634 629 003635 635 003636 643 003644 644 003672 645 003676 646 003677 648 003712 ----------------------------------------------------------- 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