COMPILATION LISTING OF SEGMENT print_spooling_tape Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/15/82 1741.4 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 print_spooling_tape: pst: proc; 12 13 /* PRINT_SPOOLING_TAPE -- routine to attach a printer thru the printer DIM 14* and print a spooling tape. 15* 0) Created 1/5/75 by Janice B. Phillipps 16* 1) Updated 7/21/75 by J.Phillipps for new printer DIM. 17* 2) Modified 1/78 by J. C. Whitmore for new printer features and prtdim/spooldim merge 18**/ 19 20 1 1 /* BEGIN INCLUDE FILE ... spooling_info.incl.pl1 */ 1 2 /* Spooling IO Module control structure. Created 11/4/74 by Janice Phillipps */ 1 3 /* Modified 1/25/78 by J. C. Whitmore during spool driver update */ 1 4 1 5 dcl sip ptr; /* pointer to spooling info structure */ 1 6 1 7 dcl 1 spooling_info based (sip) aligned, /* spooling info structure */ 1 8 2 version fixed bin, /* version of structure */ 1 9 2 pad1 fixed bin, /* space broken for ptr allocation */ 1 10 2 iocbp ptr, /* ptr to io control block used by tape_ansi_ */ 1 11 2 switch_name char (32), /* name of io switch attached to tape_ansi_ */ 1 12 2 nvols fixed bin, /* number of tape volumes requested */ 1 13 2 density char (4), 1 14 2 block_lnth char (4), 1 15 2 volids (3) char (6), /* array of tape volume ids */ 1 16 2 filesetid char (6), /* name of current ansi file set */ 1 17 2 comment char (64), /* comment to operator at mount */ 1 18 2 phys_line_length fixed bin, 1 19 2 phys_page_length fixed bin, 1 20 2 filenumber fixed bin, /* number of current file on tape */ 1 21 2 static_number char (6) aligned, 1 22 2 flgs, 1 23 3 fst_call bit (1) unaligned, /* indicates first time thru attach code */ 1 24 3 lst_call bit (1) unaligned, /* indicates spooling tape will be detached */ 1 25 3 io_sw bit (1) unaligned, /* = "1"b if ring in tape */ 1 26 3 vol_mount bit (1) unaligned, 1 27 3 pad1 bit (32) unaligned, 1 28 2 spooling_limits, 1 29 3 spool_file_limit_sw fixed bin, /* = 1 when reached specified spooling file limit */ 1 30 3 spool_line_limit_sw fixed bin, /* = 1 when reached specifid spooling line limit */ 1 31 3 file_limit fixed bin (35), /* count of files to spool until */ 1 32 3 line_limit fixed bin (35), /* count of lines to spool until */ 1 33 2 spooling_file_count fixed bin (35), /* count of files spooled so far */ 1 34 2 spooling_line_count fixed bin (35); /* count of lines spooled so far */ 1 35 1 36 dcl spooling_info_version_4 fixed bin int static init (4) options (constant); 1 37 1 38 1 39 /* END INCLUDE FILE ... spooling_info.incl.pl1 */ 21 2 1 2 2 /* BEGIN INCLUDE FILE ... status.incl.pl1 */ 2 3 /* Overlay for ios status string. Created 11/4/74 by J. Phillipps */ 2 4 2 5 dcl 1 stat based (addr (status)) aligned, 2 6 2 fbpart fixed bin (35), /* error_table_ entry overlay */ 2 7 2 ios, 2 8 (3 pad1 bit (4), 2 9 3 bit41_trans_term bit (1), /* bit 41 -- transaction terminated */ 2 10 3 pad2 bit (10), 2 11 3 bit52_ion_detached bit (1), /* bit 52 -- ioname detached */ 2 12 2 pad3 bit (20)) unaligned; 2 13 2 14 /* END INCLUDE FILE ... status.incl.pl1 */ 22 23 24 dcl (addr, null, convert, string) builtin; 25 26 dcl (cleanup, conversion) condition; 27 28 29 dcl 1 counts aligned, /* structure used in "get_count" call */ 30 2 line fixed bin, /* line number */ 31 2 page_length fixed bin, /* length of page */ 32 2 lmarg fixed bin, /* left margin indentation */ 33 2 rmarg fixed bin, /* line length */ 34 2 line_count fixed bin, /* count of lines printed */ 35 2 page_count fixed bin; /* count of pages printed */ 36 37 dcl al fixed bin, 38 ap ptr, 39 areap ptr, 40 arg1 char (8) aligned, 41 bptr ptr, 42 code fixed bin (35), 43 db_flg bit (1) aligned, 44 dev_id char (4) aligned, 45 ec fixed bin, 46 fnbr fixed bin, /* number of file to start printing from */ 47 fnbr_flg bit (1) aligned, 48 i fixed bin, 49 narg fixed bin, 50 nargs fixed bin, 51 opt char (3) aligned, 52 output_dim char (7) aligned, 53 retry_sw bit (1) aligned init ("1"b), 54 scode fixed bin (35), 55 statp ptr, 56 status bit (72) aligned; 57 58 dcl arg char (al) based (ap) aligned, 59 listen_area area ((16374)) based (areap), 60 device_name char (al) unaligned based (ap), 61 dim_name char (al) unaligned based (ap), 62 63 file_number char (al) unaligned based (ap); 64 65 66 dcl 1 basics aligned based (bptr), 67 2 areap ptr, 68 2 info like spooling_info aligned; 69 70 dcl error_table_$no_file ext fixed bin (35); 71 dcl error_table_$fatal_error ext fixed bin (35); 72 73 dcl spool_static_$debug ext fixed bin; 74 75 dcl cu_$arg_count entry (fixed bin); 76 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin); 77 dcl com_err_ entry options (variable); 78 dcl file_monitor_$attach entry (ptr, char (*) aligned, fixed bin, fixed bin (35)); 79 dcl file_monitor_$cleanup entry (ptr, char (*) aligned, fixed bin (35)); 80 dcl file_monitor_$detach entry (ptr, fixed bin, fixed bin (35)); 81 dcl get_spooling_data_$initial entry (ptr, char (*) aligned, fixed bin (35)); 82 dcl get_spooling_data_$renew_limits entry (ptr, char (*) aligned, fixed bin (35)); 83 dcl get_system_free_area_ entry (ptr); 84 dcl ioa_ entry options (variable); 85 dcl ios_$attach entry (char (*) aligned, char (*) aligned, char (*) aligned, char (*) aligned, bit (72) aligned); 86 dcl ios_$changemode entry (char (*) aligned, char (*) aligned, char (*) aligned, bit (72) aligned); 87 dcl ios_$detach entry (char (*) aligned, char (*) aligned, char (*) aligned, bit (72) aligned); 88 dcl ios_$order entry (char (*) aligned, char (*) aligned, ptr, bit (72) aligned); 89 dcl unspool_ entry (ptr, fixed bin (35)); 90 91 92 93 code = 0; 94 db_flg = "0"b; 95 fnbr_flg = "0"b; 96 scode = 0; 97 status = (72)"0"b; /* clear return status */ 98 statp = addr (status); 99 call get_system_free_area_ (areap); /* get ptr to area in listen_ */ 100 allocate basics in (listen_area) set (bptr); /* create block */ 101 if bptr = null then do; 102 call com_err_ (0, "print_spooling_tape", "Unable to allocate spooling info structure."); 103 return; 104 end; 105 bptr -> basics.areap = areap; /* save ptr to free area */ 106 sip = addr (bptr -> basics.info); /* get pointer to spooling_data */ 107 108 call cu_$arg_count (nargs); 109 if nargs < 2 then do; 110 call ioa_ ("Usage is: print_spooling_tape prtdim device -options-"); 111 go to free_storage; 112 end; 113 114 call cu_$arg_ptr (1, ap, al, ec); 115 if ec ^= 0 then do; 116 err: call com_err_ (ec, "print_spooling_tape", "Error while processing arguments."); 117 go to free_storage; 118 end; 119 120 /* 1st argument is the IO Module name to use */ 121 arg1 = ap -> dim_name; 122 output_dim = arg1; 123 124 /* 2nd argument is device/stream name */ 125 call cu_$arg_ptr (2, ap, al, ec); /* usually arg is ptrb */ 126 if ec ^= 0 then go to err; 127 arg1 = ap -> device_name; 128 dev_id = arg1; /* device name to attach to */ 129 130 on conversion go to err; /* in case op types a letter, or ... */ 131 132 if nargs = 2 then go to default; /* no options */ 133 134 do narg = 3 repeat (narg+1) while (narg <= nargs); 135 call cu_$arg_ptr (narg, ap, al, ec); 136 if ec ^= 0 then go to err; 137 138 if arg = "-nbr" | arg = "-number" then do; 139 narg = narg + 1; 140 call cu_$arg_ptr (narg, ap, al, ec); 141 if ec ^= 0 then go to err; 142 arg1 = ap -> file_number; 143 fnbr = convert (i, arg1); 144 fnbr_flg = "1"b; 145 end; 146 else if arg = "-db" | arg = "-debug" then db_flg = "1"b; 147 else go to err; 148 end; 149 150 default: 151 if ^fnbr_flg then fnbr = 1; 152 153 call ioa_ ("^/Printing will begin with FILE ^d.^/", fnbr); 154 155 if db_flg then spool_static_$debug = 1; 156 else spool_static_$debug = 0; 157 158 spooling_info.iocbp = null; /* in case the cleaner_up is called */ 159 160 on cleanup begin; 161 call cleaner_up; 162 free basics in (listen_area); 163 end; 164 165 call ios_$attach ("printer_output", output_dim, dev_id, "", status); 166 if statp -> stat.fbpart ^= 0 then do; 167 call com_err_ (statp -> stat.fbpart, "print_spooling_tape", 168 " Could not attach device: ^a", dev_id); 169 go to free_storage; /* streams not attached yet */ 170 end; 171 172 call ios_$changemode ("printer_output", "noskip,", "", status); /* want control of the printer here */ 173 if statp -> stat.fbpart ^= 0 then 174 call com_err_ (statp -> stat.fbpart, "print_spooling_tape", "Could not set printer modes."); 175 176 spooling_info.version = spooling_info_version_4; /* the current version */ 177 spooling_info.switch_name = "spool_input"; /* device is the switch attached to tape_ansi_ */ 178 string (spooling_info.flgs) = ""b; 179 spooling_info.flgs.fst_call = "1"b; /* mark as the first attachment */ 180 181 spooling_info.filesetid = ""; /* no previous ANSI file-set being processed */ 182 spooling_info.spooling_line_count = 0; 183 spooling_info.spooling_file_count = 0; 184 spooling_info.phys_line_length = 136; /* this is the default for the spooling dim */ 185 spooling_info.phys_page_length = 66; /* assume 11 inch paper at 6 lpi */ 186 spooling_info.flgs.io_sw = "0"b; /* set up to read tape */ 187 counts.line_count = 0; /* initialize */ 188 counts.page_count = 0; 189 190 call get_spooling_data_$initial (sip, opt, code); /* get spooling limits and volids */ 191 if opt = "det" | code ^= 0 then do; 192 call cleaner_up; /* release devices */ 193 go to free_storage; 194 end; 195 196 spooling_info.filenumber = fnbr; /* start at the given file */ 197 198 repeat: 199 call file_monitor_$attach (sip, "", spooling_info.filenumber, code); /* attach and open file on ansi tape */ 200 if code = error_table_$no_file then do; /* thats all for this volume */ 201 call ioa_ ("^/Reached end of data for current fileset."); 202 call cleaner_up; 203 go to free_storage; 204 end; 205 206 else if code ^= 0 then do; /* got a problem trying to attach the tape file */ 207 if retry_sw then do; 208 call com_err_ (code, "print_spooling_tape", 209 "Error while calling file_monitor_$attach; ^/ Will try attachment and opening once more."); 210 retry_sw = "0"b; /* reset */ 211 go to repeat; 212 end; 213 call cleaner_up; 214 go to free_storage; 215 end; 216 217 call ioa_ ("Printing FILE ^d", spooling_info.filenumber); 218 219 call ios_$order ("printer_output", "reset", null (), status); /* clear the counts */ 220 call ios_$changemode ("printer_output", "noskip,", "", status); /* set noskip mode after reset */ 221 222 call unspool_ (sip, code); /* format the input for the printer DIM */ 223 if code ^= 0 then 224 if code = error_table_$fatal_error then do; 225 call cleaner_up; 226 go to free_storage; 227 end; 228 else call com_err_ (code, "print_spooling_tape", "^/Processing of tape will continue."); 229 230 call ios_$order ("printer_output", "runout", null (), status); 231 232 call ios_$order ("printer_output", "get_count", addr (counts), status); 233 234 /* update the file number and limit counts */ 235 236 spooling_info.filenumber = spooling_info.filenumber + 1; /* ready for the next file */ 237 spooling_info.spooling_line_count = spooling_info.spooling_line_count + counts.line_count; 238 spooling_info.spooling_file_count = spooling_info.spooling_file_count + 1; /* one more file done */ 239 240 call file_monitor_$detach (sip, 0, scode); /* close the current file on the tape */ 241 if code ^= 0 then do; /* trouble ... give up */ 242 call com_err_ (code, "print_spooling_tape", "Error while calling to detach tape file."); 243 call cleaner_up; 244 end; 245 246 /* now check to see if we have hit any limits */ 247 248 if spooling_info.file_limit ^= 0 then 249 if spooling_info.file_limit <= spooling_info.spooling_file_count then do; 250 spooling_info.spool_file_limit_sw = 1; 251 end; 252 if spooling_info.line_limit ^= 0 then 253 if spooling_info.line_limit <= spooling_info.spooling_line_count then do; 254 spooling_info.spool_line_limit_sw = 1; 255 end; 256 257 if spooling_info.spool_file_limit_sw = 1 | spooling_info.spool_line_limit_sw = 1 then do; 258 opt = ""; 259 call get_spooling_data_$renew_limits (sip, opt, code); 260 if opt = "det" then do; /* going to detach spooler */ 261 call cleaner_up; 262 go to free_storage; 263 end; 264 end; 265 266 go to repeat; /* on to the next file on the tape */ 267 268 free_storage: 269 270 free basics in (listen_area); 271 272 return; 273 274 275 /* - - - - - - - - - - - - - - - - - - - - - - - */ 276 cleaner_up: proc; 277 278 call file_monitor_$cleanup (sip, "", code); /* take down volume */ 279 280 call ios_$order ("printer_output", "runout", null (), status); 281 282 call ios_$detach ("printer_output", "", "", status); /* detach printer */ 283 284 call ioa_ ("Printer detached.^/Processing of tape ended.^/"); 285 call ioa_ ("Spooling file count is ^d", spooling_info.spooling_file_count); 286 call ioa_ ("Spooling line count is ^d", spooling_info.spooling_line_count); 287 288 return; 289 290 end cleaner_up; 291 292 end print_spooling_tape; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/15/82 1524.2 print_spooling_tape.pl1 >dumps>old>recomp>print_spooling_tape.pl1 21 1 02/23/78 1619.8 spooling_info.incl.pl1 >ldd>include>spooling_info.incl.pl1 22 2 02/05/76 1532.2 status.incl.pl1 >ldd>include>status.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. addr builtin function dcl 24 ref 98 106 232 232 al 000124 automatic fixed bin(17,0) dcl 37 set ref 114* 121 125* 127 135* 138 138 140* 142 146 146 ap 000126 automatic pointer dcl 37 set ref 114* 121 125* 127 135* 138 138 140* 142 146 146 areap 000130 automatic pointer dcl 37 in procedure "pst" set ref 99* 100 105 162 268 areap based pointer level 2 in structure "basics" dcl 66 in procedure "pst" set ref 105* arg based char dcl 58 ref 138 138 146 146 arg1 000132 automatic char(8) dcl 37 set ref 121* 122 127* 128 142* 143 basics based structure level 1 dcl 66 set ref 100 162 268 bptr 000134 automatic pointer dcl 37 set ref 100* 101 105 106 162 268 cleanup 000102 stack reference condition dcl 26 ref 160 code 000136 automatic fixed bin(35,0) dcl 37 set ref 93* 190* 191 198* 200 206 208* 222* 223 223 228* 241 242* 259* 278* com_err_ 000022 constant entry external dcl 77 ref 102 116 167 173 208 228 242 conversion 000110 stack reference condition dcl 26 ref 130 convert builtin function dcl 24 ref 143 counts 000116 automatic structure level 1 dcl 29 set ref 232 232 cu_$arg_count 000016 constant entry external dcl 75 ref 108 cu_$arg_ptr 000020 constant entry external dcl 76 ref 114 125 135 140 db_flg 000137 automatic bit(1) dcl 37 set ref 94* 146* 155 dev_id 000140 automatic char(4) dcl 37 set ref 128* 165* 167* device_name based char unaligned dcl 58 ref 127 dim_name based char unaligned dcl 58 ref 121 ec 000141 automatic fixed bin(17,0) dcl 37 set ref 114* 115 116* 125* 126 135* 136 140* 141 error_table_$fatal_error 000012 external static fixed bin(35,0) dcl 71 ref 223 error_table_$no_file 000010 external static fixed bin(35,0) dcl 70 ref 200 fbpart based fixed bin(35,0) level 2 dcl 2-5 set ref 166 167* 173 173* file_limit 57 based fixed bin(35,0) level 3 dcl 1-7 ref 248 248 file_monitor_$attach 000024 constant entry external dcl 78 ref 198 file_monitor_$cleanup 000026 constant entry external dcl 79 ref 278 file_monitor_$detach 000030 constant entry external dcl 80 ref 240 file_number based char unaligned dcl 58 ref 142 filenumber 51 based fixed bin(17,0) level 2 dcl 1-7 set ref 196* 198* 217* 236* 236 filesetid 25 based char(6) level 2 dcl 1-7 set ref 181* flgs 54 based structure level 2 dcl 1-7 set ref 178* fnbr 000142 automatic fixed bin(17,0) dcl 37 set ref 143* 150* 153* 196 fnbr_flg 000143 automatic bit(1) dcl 37 set ref 95* 144* 150 fst_call 54 based bit(1) level 3 packed unaligned dcl 1-7 set ref 179* get_spooling_data_$initial 000032 constant entry external dcl 81 ref 190 get_spooling_data_$renew_limits 000034 constant entry external dcl 82 ref 259 get_system_free_area_ 000036 constant entry external dcl 83 ref 99 i automatic fixed bin(17,0) dcl 37 ref 143 info 2 based structure level 2 dcl 66 set ref 106 io_sw 54(02) based bit(1) level 3 packed unaligned dcl 1-7 set ref 186* ioa_ 000040 constant entry external dcl 84 ref 110 153 201 217 284 285 286 iocbp 2 based pointer level 2 dcl 1-7 set ref 158* ios_$attach 000042 constant entry external dcl 85 ref 165 ios_$changemode 000044 constant entry external dcl 86 ref 172 220 ios_$detach 000046 constant entry external dcl 87 ref 282 ios_$order 000050 constant entry external dcl 88 ref 219 230 232 280 line_count 4 000116 automatic fixed bin(17,0) level 2 dcl 29 set ref 187* 237 line_limit 60 based fixed bin(35,0) level 3 dcl 1-7 ref 252 252 listen_area based area(16374) dcl 58 ref 100 162 268 narg 000144 automatic fixed bin(17,0) dcl 37 set ref 134* 134* 135* 139* 139 140* 148 nargs 000145 automatic fixed bin(17,0) dcl 37 set ref 108* 109 132 134 null builtin function dcl 24 ref 101 158 219 219 230 230 280 280 opt 000146 automatic char(3) dcl 37 set ref 190* 191 258* 259* 260 output_dim 000150 automatic char(7) dcl 37 set ref 122* 165* page_count 5 000116 automatic fixed bin(17,0) level 2 dcl 29 set ref 188* phys_line_length 47 based fixed bin(17,0) level 2 dcl 1-7 set ref 184* phys_page_length 50 based fixed bin(17,0) level 2 dcl 1-7 set ref 185* retry_sw 000152 automatic bit(1) initial dcl 37 set ref 37* 207 210* scode 000153 automatic fixed bin(35,0) dcl 37 set ref 96* 240* sip 000100 automatic pointer dcl 1-5 set ref 106* 158 176 177 178 179 181 182 183 184 185 186 190* 196 198* 198 217 222* 236 236 237 237 238 238 240* 248 248 248 250 252 252 252 254 257 257 259* 278* 285 286 spool_file_limit_sw 55 based fixed bin(17,0) level 3 dcl 1-7 set ref 250* 257 spool_line_limit_sw 56 based fixed bin(17,0) level 3 dcl 1-7 set ref 254* 257 spool_static_$debug 000014 external static fixed bin(17,0) dcl 73 set ref 155* 156* spooling_file_count 61 based fixed bin(35,0) level 2 dcl 1-7 set ref 183* 238* 238 248 285* spooling_info based structure level 1 dcl 1-7 spooling_info_version_4 constant fixed bin(17,0) initial dcl 1-36 ref 176 spooling_limits 55 based structure level 2 dcl 1-7 spooling_line_count 62 based fixed bin(35,0) level 2 dcl 1-7 set ref 182* 237* 237 252 286* stat based structure level 1 dcl 2-5 statp 000154 automatic pointer dcl 37 set ref 98* 166 167 173 173 status 000156 automatic bit(72) dcl 37 set ref 97* 98 165* 172* 219* 220* 230* 232* 280* 282* string builtin function dcl 24 set ref 178* switch_name 4 based char(32) level 2 dcl 1-7 set ref 177* unspool_ 000052 constant entry external dcl 89 ref 222 version based fixed bin(17,0) level 2 dcl 1-7 set ref 176* NAMES DECLARED BY EXPLICIT CONTEXT. cleaner_up 002031 constant entry internal dcl 276 ref 161 192 202 213 225 243 261 default 000723 constant label dcl 150 ref 132 err 000477 constant label dcl 116 ref 126 130 136 141 146 free_storage 002025 constant label dcl 268 ref 111 117 169 193 203 214 226 262 print_spooling_tape 000334 constant entry external dcl 11 pst 000324 constant entry external dcl 11 repeat 001257 constant label dcl 198 ref 211 266 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2476 2552 2234 2506 Length 3022 2234 54 233 242 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME pst 312 external procedure is an external procedure. on unit on line 130 64 on unit on unit on line 160 64 on unit cleaner_up 102 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME pst 000100 sip pst 000116 counts pst 000124 al pst 000126 ap pst 000130 areap pst 000132 arg1 pst 000134 bptr pst 000136 code pst 000137 db_flg pst 000140 dev_id pst 000141 ec pst 000142 fnbr pst 000143 fnbr_flg pst 000144 narg pst 000145 nargs pst 000146 opt pst 000150 output_dim pst 000152 retry_sw pst 000153 scode pst 000154 statp pst 000156 status pst THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this call_int_other return tra_ext enable ext_entry int_entry any_to_any_tr alloc_based free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr file_monitor_$attach file_monitor_$cleanup file_monitor_$detach get_spooling_data_$initial get_spooling_data_$renew_limits get_system_free_area_ ioa_ ios_$attach ios_$changemode ios_$detach ios_$order unspool_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$fatal_error error_table_$no_file spool_static_$debug LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 37 000317 11 000323 93 000342 94 000343 95 000344 96 000345 97 000346 98 000350 99 000352 100 000361 101 000366 102 000372 103 000422 105 000423 106 000425 108 000427 109 000436 110 000441 111 000455 114 000456 115 000475 116 000477 117 000526 121 000527 122 000534 125 000537 126 000556 127 000560 128 000565 130 000567 132 000606 134 000611 135 000616 136 000633 138 000635 139 000647 140 000650 141 000665 142 000667 143 000674 144 000704 145 000706 146 000707 148 000721 150 000723 153 000727 155 000747 156 000755 158 000757 160 000762 161 000776 162 001003 163 001006 165 001007 166 001046 167 001050 169 001103 172 001104 173 001141 176 001172 177 001174 178 001200 179 001201 181 001203 182 001206 183 001207 184 001210 185 001212 186 001214 187 001216 188 001217 190 001220 191 001241 192 001247 193 001253 196 001254 198 001257 200 001305 201 001311 202 001324 203 001330 206 001331 207 001333 208 001335 210 001363 211 001364 213 001365 214 001371 217 001372 219 001415 220 001454 222 001511 223 001522 225 001527 226 001533 228 001534 230 001562 232 001621 236 001662 237 001664 238 001670 240 001674 241 001710 242 001712 243 001741 248 001745 250 001752 252 001754 254 001760 257 001762 258 001770 259 001772 260 002013 261 002017 262 002023 266 002024 268 002025 272 002027 276 002030 278 002036 280 002057 282 002117 284 002152 285 002166 286 002210 288 002232 ----------------------------------------------------------- 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