COMPILATION LISTING OF SEGMENT clear_reqfile Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 09/18/84 1203.2 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 /* ****************************************************** 8* * * 9* * * 10* * Copyright (c) 1972 by Massachusetts Institute of * 11* * Technology and Honeywell Information Systems, Inc. * 12* * * 13* * * 14* ****************************************************** */ 15 16 clear_reqfile: proc; 17 18 dcl (path, dn) char (168) aligned, 19 en char (32) aligned, 20 (i, j, k, l, m, n) fixed bin, 21 movelen fixed bin, 22 ap ptr, 23 al fixed bin, 24 bchr char (al) unaligned based (ap), 25 ec fixed bin, 26 (p, q, p1, q1, qp) ptr; 27 28 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin), 29 expand_path_ entry (ptr, fixed bin, ptr, ptr, fixed bin), 30 com_err_ entry options (variable); 31 32 dcl (addr, null, substr) builtin; 33 34 dcl hcs_$initiate entry (char (*) aligned, char (*) aligned, char (*) aligned, fixed bin (1), 35 fixed bin (2), ptr, fixed bin), 36 hcs_$make_seg entry (char (*) aligned, char (*) aligned, char (*) aligned, fixed bin (5), ptr, fixed bin), 37 hcs_$set_bc entry (char (*) aligned, char (*) aligned, fixed bin (24), fixed bin), 38 hcs_$terminate_noname entry (ptr, fixed bin), 39 hcs_$delentry_seg entry (ptr, fixed bin), 40 hcs_$truncate_seg entry (ptr, fixed bin, fixed bin); 41 42 43 dcl 1 movetable based aligned, 44 2 moveary (movelen) fixed bin (35); 45 1 1 /* Requisition file declaration */ 1 2 /* Modified BIM 1984-07-10 for unaligned strings */ 1 3 /* Modified BIM 1984-09-14 foor 3000 size-array */ 1 4 1 5 dcl 1 reqfile based (qp) aligned, /* MIT accounting data */ 1 6 2 nacts fixed, 1 7 2 version fixed bin, 1 8 2 pad (6) bit (36) aligned, 1 9 2 reqfiletab (3000), /* one entry per Multics account */ 1 10 /* same size as projfile */ 1 11 3 acctid char (12) unal, /* account id. usually same as Proj */ 1 12 3 mitacct char (12) unal, /* MIT account no. */ 1 13 3 reqno char (12) unal, /* requisition or PO no. */ 1 14 3 qflag char (8), /* class & activity */ 1 15 3 procssd fixed bin, /* temp for usage report */ 1 16 3 qdn fixed bin (71), /* date on for account */ 1 17 3 qdf fixed bin (71), /* date off */ 1 18 3 billing_name char (32) unal, /* where to send bill */ 1 19 3 billing_addr char (32) unal, 1 20 3 chg_mo float bin (63), /* charges this month */ 1 21 3 chg_tr float bin (63), /* charges this req */ 1 22 3 req_amt float bin (63), /* req face value */ 1 23 3 cutoff fixed bin (71); /* term date for req */ 1 24 1 25 dcl loqh int static fixed bin (17) init (8), /* length of reqfile head */ 1 26 loqe int static fixed bin (17) init (40); /* lth of reqfile entry */ 1 27 1 28 declare REQFILE_VERSION fixed bin init (2) int static options (constant); 1 29 1 30 /* End include file reqfile.incl.pl1 */ 46 47 48 /* ====================================================== */ 49 50 call cu_$arg_ptr (1, ap, al, ec); 51 if ec ^= 0 then do; 52 path = "reqfile"; 53 al = 7; 54 end; 55 else path = bchr; 56 call expand_path_ (addr (path), al, addr (dn), addr (en), ec); 57 if ec ^= 0 then do; 58 er: call com_err_ (ec, "clear_reqfile", path); 59 return; 60 end; 61 62 call hcs_$initiate (dn, en, "", 0, 1, qp, ec); 63 if qp = null then go to er; 64 65 call hcs_$make_seg ("", "", "", 1011b, p, ec); 66 if p = null then go to er; 67 68 movelen = loqh; 69 p -> movetable = qp -> movetable; 70 71 movelen = loqe; 72 73 m = 0; 74 do i = 1 to nacts; 75 if qdf(i) ^= 0 then go to skip; 76 m = m + 1; 77 p1 = addr (reqfiletab (i)); 78 q1 = addr (p -> reqfiletab (m)); 79 q1 -> movetable = p1 -> movetable; 80 skip: end; 81 82 movelen = loqh + m * loqe; 83 84 call hcs_$truncate_seg (qp, 0, ec); 85 qp -> movetable = p -> movetable; 86 nacts = m; 87 call hcs_$set_bc(dn,en,movelen*36,ec); 88 89 call hcs_$terminate_noname (qp, ec); 90 call hcs_$delentry_seg (p, ec); 91 92 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/18/84 0754.6 clear_reqfile.pl1 >special_ldd>online>09/18/84>clear_reqfile.pl1 46 1 09/18/84 1000.6 reqfile.incl.pl1 >special_ldd>online>09/18/84>reqfile.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 32 ref 56 56 56 56 56 56 77 78 al 000242 automatic fixed bin(17,0) dcl 18 set ref 50* 53* 55 56* ap 000240 automatic pointer dcl 18 set ref 50* 55 bchr based char unaligned dcl 18 ref 55 com_err_ 000014 constant entry external dcl 28 ref 58 cu_$arg_ptr 000010 constant entry external dcl 28 ref 50 dn 000152 automatic char(168) dcl 18 set ref 56 56 62* 87* ec 000243 automatic fixed bin(17,0) dcl 18 set ref 50* 51 56* 57 58* 62* 65* 84* 87* 89* 90* en 000224 automatic char(32) dcl 18 set ref 56 56 62* 87* expand_path_ 000012 constant entry external dcl 28 ref 56 hcs_$delentry_seg 000026 constant entry external dcl 34 ref 90 hcs_$initiate 000016 constant entry external dcl 34 ref 62 hcs_$make_seg 000020 constant entry external dcl 34 ref 65 hcs_$set_bc 000022 constant entry external dcl 34 ref 87 hcs_$terminate_noname 000024 constant entry external dcl 34 ref 89 hcs_$truncate_seg 000030 constant entry external dcl 34 ref 84 i 000234 automatic fixed bin(17,0) dcl 18 set ref 74* 75 77* loqe constant fixed bin(17,0) initial dcl 1-25 ref 71 82 loqh constant fixed bin(17,0) initial dcl 1-25 ref 68 82 m 000235 automatic fixed bin(17,0) dcl 18 set ref 73* 76* 76 78 82 86 movelen 000236 automatic fixed bin(17,0) dcl 18 set ref 68* 69 71* 79 82* 85 87 movetable based structure level 1 dcl 43 set ref 69* 69 79* 79 85* 85 nacts based fixed bin(17,0) level 2 dcl 1-5 set ref 74 86* null builtin function dcl 32 ref 63 66 p 000244 automatic pointer dcl 18 set ref 65* 66 69 78 85 90* p1 000246 automatic pointer dcl 18 set ref 77* 79 path 000100 automatic char(168) dcl 18 set ref 52* 55* 56 56 58* q1 000250 automatic pointer dcl 18 set ref 78* 79 qdf 26 based fixed bin(71,0) array level 3 dcl 1-5 set ref 75 qp 000252 automatic pointer dcl 18 set ref 62* 63 69 74 75 77 84* 85 86 89* reqfile based structure level 1 dcl 1-5 reqfiletab 10 based structure array level 2 dcl 1-5 set ref 77 78 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. REQFILE_VERSION internal static fixed bin(17,0) initial dcl 1-28 j automatic fixed bin(17,0) dcl 18 k automatic fixed bin(17,0) dcl 18 l automatic fixed bin(17,0) dcl 18 n automatic fixed bin(17,0) dcl 18 q automatic pointer dcl 18 substr builtin function dcl 32 NAMES DECLARED BY EXPLICIT CONTEXT. clear_reqfile 000023 constant entry external dcl 16 er 000112 constant label dcl 58 ref 63 66 skip 000316 constant label dcl 80 ref 75 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 550 602 426 560 Length 1004 426 32 165 121 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME clear_reqfile 249 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME clear_reqfile 000100 path clear_reqfile 000152 dn clear_reqfile 000224 en clear_reqfile 000234 i clear_reqfile 000235 m clear_reqfile 000236 movelen clear_reqfile 000240 ap clear_reqfile 000242 al clear_reqfile 000243 ec clear_reqfile 000244 p clear_reqfile 000246 p1 clear_reqfile 000250 q1 clear_reqfile 000252 qp clear_reqfile THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_ptr expand_path_ hcs_$delentry_seg hcs_$initiate hcs_$make_seg hcs_$set_bc hcs_$terminate_noname hcs_$truncate_seg NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 16 000022 50 000030 51 000046 52 000050 53 000053 54 000055 55 000056 56 000063 57 000110 58 000112 59 000137 62 000140 63 000204 65 000210 66 000245 68 000251 69 000253 71 000261 73 000263 74 000264 75 000273 76 000300 77 000301 78 000304 79 000311 80 000316 82 000320 84 000326 85 000342 86 000351 87 000353 89 000403 90 000414 92 000425 ----------------------------------------------------------- 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