COMPILATION LISTING OF SEGMENT convert_MR10_2_reqfile Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 05/14/85 1048.7 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* convert_MR10_2_reqfile.pl1 -- converts to MR11 reqfile-entry format */ 7 /* To be run over >udd>sa>a>reqfile */ 8 /* format: style2 */ 9 10 /* BIM 1984-07-05 */ 11 /* Modified 1985-04-24 by E. Swenson to terminate the reqfile properly. */ 12 13 convert_MR10_2_reqfile: 14 procedure options (variable); 15 16 declare com_err_ entry () options (variable); 17 declare cu_$arg_count entry (fixed bin, fixed bin (35)); 18 declare cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 19 declare expand_pathname_ entry (character (*), character (*), character (*), fixed binary (35)); 20 declare get_temp_segment_ entry (character (*), pointer, fixed binary (35)); 21 declare initiate_file_ entry (character (*), character (*), bit (*), pointer, fixed binary (24), 22 fixed binary (35)); 23 declare pathname_ entry (character (*), character (*)) returns (character (168)); 24 declare release_temp_segment_ entry (character (*), pointer, fixed binary (35)); 25 declare terminate_file_ entry (pointer, fixed binary (24), bit (*), fixed binary (35)); 26 27 28 declare arg_count fixed bin; 29 declare ap pointer; 30 declare al fixed bin (21); 31 declare argument char (al) based (ap); 32 declare code fixed bin (35); 33 declare dir_name char (168); 34 declare entryname char (32); 35 declare qp pointer; 36 declare reqfileex fixed bin; 37 38 declare ME char (32) init ("convert_MR10_2_reqfile") int static options (constant); 39 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 */ 40 2 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 2 2* 2 3* Values for the "access mode" argument so often used in hardcore 2 4* James R. Davis 26 Jan 81 MCR 4844 2 5* Added constants for SM access 4/28/82 Jay Pattin 2 6* Added text strings 03/19/85 Chris Jones 2 7**/ 2 8 2 9 2 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 2 11 dcl ( 2 12 N_ACCESS init ("000"b), 2 13 R_ACCESS init ("100"b), 2 14 E_ACCESS init ("010"b), 2 15 W_ACCESS init ("001"b), 2 16 RE_ACCESS init ("110"b), 2 17 REW_ACCESS init ("111"b), 2 18 RW_ACCESS init ("101"b), 2 19 S_ACCESS init ("100"b), 2 20 M_ACCESS init ("010"b), 2 21 A_ACCESS init ("001"b), 2 22 SA_ACCESS init ("101"b), 2 23 SM_ACCESS init ("110"b), 2 24 SMA_ACCESS init ("111"b) 2 25 ) bit (3) internal static options (constant); 2 26 2 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 2 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 2 29 2 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 2 31 static options (constant); 2 32 2 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 2 34 static options (constant); 2 35 2 36 dcl ( 2 37 N_ACCESS_BIN init (00000b), 2 38 R_ACCESS_BIN init (01000b), 2 39 E_ACCESS_BIN init (00100b), 2 40 W_ACCESS_BIN init (00010b), 2 41 RW_ACCESS_BIN init (01010b), 2 42 RE_ACCESS_BIN init (01100b), 2 43 REW_ACCESS_BIN init (01110b), 2 44 S_ACCESS_BIN init (01000b), 2 45 M_ACCESS_BIN init (00010b), 2 46 A_ACCESS_BIN init (00001b), 2 47 SA_ACCESS_BIN init (01001b), 2 48 SM_ACCESS_BIN init (01010b), 2 49 SMA_ACCESS_BIN init (01011b) 2 50 ) fixed bin (5) internal static options (constant); 2 51 2 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 41 3 1 /* BEGIN INCLUDE FILE ... terminate_file.incl.pl1 */ 3 2 /* format: style2,^inddcls,idind32 */ 3 3 3 4 declare 1 terminate_file_switches based, 3 5 2 truncate bit (1) unaligned, 3 6 2 set_bc bit (1) unaligned, 3 7 2 terminate bit (1) unaligned, 3 8 2 force_write bit (1) unaligned, 3 9 2 delete bit (1) unaligned; 3 10 3 11 declare TERM_FILE_TRUNC bit (1) internal static options (constant) initial ("1"b); 3 12 declare TERM_FILE_BC bit (2) internal static options (constant) initial ("01"b); 3 13 declare TERM_FILE_TRUNC_BC bit (2) internal static options (constant) initial ("11"b); 3 14 declare TERM_FILE_TERM bit (3) internal static options (constant) initial ("001"b); 3 15 declare TERM_FILE_TRUNC_BC_TERM bit (3) internal static options (constant) initial ("111"b); 3 16 declare TERM_FILE_FORCE_WRITE bit (4) internal static options (constant) initial ("0001"b); 3 17 declare TERM_FILE_DELETE bit (5) internal static options (constant) initial ("00001"b); 3 18 3 19 /* END INCLUDE FILE ... terminate_file.incl.pl1 */ 42 43 44 45 call cu_$arg_count (arg_count, code); 46 if code ^= 0 47 then do; 48 call com_err_ (code, ME); 49 return; 50 end; 51 52 if arg_count ^= 1 53 then do; 54 call com_err_ (0, ME, "Usage: ^a REQFILE_PATH.reqfile", ME); 55 return; 56 end; 57 58 qp = null (); 59 60 call cu_$arg_ptr (1, ap, al, (0)); 61 call expand_pathname_ (argument, dir_name, entryname, code); 62 if code ^= 0 63 then do; 64 call com_err_ (code, ME, "^a", argument); 65 return; 66 end; 67 68 call initiate_file_ (dir_name, entryname, RW_ACCESS, qp, (0), code); 69 if code ^= 0 70 then do; 71 call com_err_ (code, ME, "^a", pathname_ (dir_name, entryname)); 72 return; 73 end; 74 75 reqfile.version = REQFILE_VERSION; 76 call terminate_file_ (qp, (0), TERM_FILE_TERM, (0)); 77 return; 78 end convert_MR10_2_reqfile; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/14/85 1047.8 convert_MR10_2_reqfile.pl1 >spec>on>convert_MR10_2_reqfile-05/14/85>convert_MR10_2_reqfile.pl1 40 1 09/20/84 0925.7 reqfile.incl.pl1 >ldd>include>reqfile.incl.pl1 41 2 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 42 3 04/06/83 1239.4 terminate_file.incl.pl1 >ldd>include>terminate_file.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. ME 000002 constant char(32) initial unaligned dcl 38 set ref 48* 54* 54* 64* 71* REQFILE_VERSION constant fixed bin(17,0) initial dcl 1-28 ref 75 RW_ACCESS 000001 constant bit(3) initial unaligned dcl 2-11 set ref 68* TERM_FILE_TERM 000000 constant bit(3) initial unaligned dcl 3-14 set ref 76* al 000104 automatic fixed bin(21,0) dcl 30 set ref 60* 61 61 64 64 ap 000102 automatic pointer dcl 29 set ref 60* 61 64 arg_count 000100 automatic fixed bin(17,0) dcl 28 set ref 45* 52 argument based char unaligned dcl 31 set ref 61* 64* code 000105 automatic fixed bin(35,0) dcl 32 set ref 45* 46 48* 61* 62 64* 68* 69 71* com_err_ 000010 constant entry external dcl 16 ref 48 54 64 71 cu_$arg_count 000012 constant entry external dcl 17 ref 45 cu_$arg_ptr 000014 constant entry external dcl 18 ref 60 dir_name 000106 automatic char(168) unaligned dcl 33 set ref 61* 68* 71* 71* entryname 000160 automatic char(32) unaligned dcl 34 set ref 61* 68* 71* 71* expand_pathname_ 000016 constant entry external dcl 19 ref 61 initiate_file_ 000020 constant entry external dcl 21 ref 68 pathname_ 000022 constant entry external dcl 23 ref 71 71 qp 000170 automatic pointer dcl 35 set ref 58* 68* 75 76* reqfile based structure level 1 dcl 1-5 terminate_file_ 000024 constant entry external dcl 25 ref 76 version 1 based fixed bin(17,0) level 2 dcl 1-5 set ref 75* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_ACCESS internal static bit(3) initial unaligned dcl 2-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 DIR_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 2-33 E_ACCESS internal static bit(3) initial unaligned dcl 2-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 M_ACCESS internal static bit(3) initial unaligned dcl 2-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 N_ACCESS internal static bit(3) initial unaligned dcl 2-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 REW_ACCESS internal static bit(3) initial unaligned dcl 2-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 RE_ACCESS internal static bit(3) initial unaligned dcl 2-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 R_ACCESS internal static bit(3) initial unaligned dcl 2-11 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SA_ACCESS internal static bit(3) initial unaligned dcl 2-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 2-30 SMA_ACCESS internal static bit(3) initial unaligned dcl 2-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SM_ACCESS internal static bit(3) initial unaligned dcl 2-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 S_ACCESS internal static bit(3) initial unaligned dcl 2-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 TERM_FILE_BC internal static bit(2) initial unaligned dcl 3-12 TERM_FILE_DELETE internal static bit(5) initial unaligned dcl 3-17 TERM_FILE_FORCE_WRITE internal static bit(4) initial unaligned dcl 3-16 TERM_FILE_TRUNC internal static bit(1) initial unaligned dcl 3-11 TERM_FILE_TRUNC_BC internal static bit(2) initial unaligned dcl 3-13 TERM_FILE_TRUNC_BC_TERM internal static bit(3) initial unaligned dcl 3-15 W_ACCESS internal static bit(3) initial unaligned dcl 2-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 get_temp_segment_ 000000 constant entry external dcl 20 loqe internal static fixed bin(17,0) initial dcl 1-25 loqh internal static fixed bin(17,0) initial dcl 1-25 release_temp_segment_ 000000 constant entry external dcl 24 reqfileex automatic fixed bin(17,0) dcl 36 terminate_file_switches based structure level 1 packed unaligned dcl 3-4 NAME DECLARED BY EXPLICIT CONTEXT. convert_MR10_2_reqfile 000041 constant entry external dcl 13 NAME DECLARED BY CONTEXT OR IMPLICATION. null builtin function ref 58 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 512 540 404 522 Length 776 404 26 221 105 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME convert_MR10_2_reqfile 226 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME convert_MR10_2_reqfile 000100 arg_count convert_MR10_2_reqfile 000102 ap convert_MR10_2_reqfile 000104 al convert_MR10_2_reqfile 000105 code convert_MR10_2_reqfile 000106 dir_name convert_MR10_2_reqfile 000160 entryname convert_MR10_2_reqfile 000170 qp convert_MR10_2_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_count cu_$arg_ptr expand_pathname_ initiate_file_ pathname_ terminate_file_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 13 000040 45 000046 46 000056 48 000060 49 000075 52 000076 54 000101 55 000131 58 000132 60 000134 61 000154 62 000204 64 000206 65 000240 68 000241 69 000277 71 000301 72 000350 75 000351 76 000354 77 000403 ----------------------------------------------------------- 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