COMPILATION LISTING OF SEGMENT print_urf Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/12/82 1306.9 mst Fri 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_urf: procedure options (variable); 12 1 1 /* Begin include file urfe.incl.pl1 */ 1 2 1 3 declare urfep pointer automatic; 1 4 declare 1 urf_entry aligned based (urfep), 1 5 2 last_name character (32), 1 6 2 first_name character (24), 1 7 2 title character (8), 1 8 2 address character (32), 1 9 2 prog_number character (32), 1 10 2 project character (32), 1 11 2 notes character (32); 1 12 1 13 /* End include file urfe.incl.pl1 */ 13 14 15 dcl argument char (al) based (ap); 16 17 dcl (error_table_$bad_index, 18 error_table_$no_record) fixed bin (35) external; 19 20 dcl (ioa_, com_err_) entry options (variable); 21 dcl cu_$arg_count entry returns (fixed bin); 22 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 23 dcl urf_manager_$get_abs_entry entry (fixed bin (35), char (*), ptr, fixed bin (35)); 24 dcl urf_manager_$get_entry entry (char (*), ptr, fixed bin (35)); 25 26 dcl 1 urfe aligned like urf_entry; 27 dcl rec fixed bin (35); 28 dcl i fixed bin; 29 dcl ap ptr; 30 dcl al fixed bin (21); 31 dcl code fixed bin (35); 32 dcl uid char (32); 33 34 if cu_$arg_count () = 0 35 then do rec = 1 by 1; 36 call urf_manager_$get_abs_entry (rec, uid, addr (urfe), code); 37 if code = error_table_$bad_index then return; 38 if code = 0 then call print_entry; 39 else if code ^= error_table_$no_record then do; 40 call com_err_ (code, "print_urf"); 41 return; 42 end; 43 end; 44 else do i = 1 by 1; 45 call cu_$arg_ptr (i, ap, al, code); 46 if code ^= 0 then return; 47 uid = argument; 48 call urf_manager_$get_entry (uid, addr (urfe), code); 49 if code = 0 50 then call print_entry; 51 else call com_err_ (code, "print_urf", "Getting entry for ^a.", uid); 52 end; 53 return; 54 55 print_entry: procedure; 56 call ioa_ ("^20a ^9a ^a ^a, ^[^a: ^;^s^]^a; ^a; ^a", 57 uid, urfe.project, urfe.prog_number, urfe.last_name, (urfe.title ^= ""), urfe.title, urfe.first_name, 58 urfe.address, urfe.notes); 59 end; 60 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/12/82 1045.6 print_urf.pl1 >spec>on>11/12/82>print_urf.pl1 13 1 11/26/79 1801.5 urf_entry.incl.pl1 >ldd>include>urf_entry.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. address 20 000100 automatic char(32) level 2 dcl 26 set ref 56* al 000164 automatic fixed bin(21,0) dcl 30 set ref 45* 47 ap 000162 automatic pointer dcl 29 set ref 45* 47 argument based char unaligned dcl 15 ref 47 code 000165 automatic fixed bin(35,0) dcl 31 set ref 36* 37 38 39 40* 45* 46 48* 49 51* com_err_ 000016 constant entry external dcl 20 ref 40 51 cu_$arg_count 000020 constant entry external dcl 21 ref 34 cu_$arg_ptr 000022 constant entry external dcl 22 ref 45 error_table_$bad_index 000010 external static fixed bin(35,0) dcl 17 ref 37 error_table_$no_record 000012 external static fixed bin(35,0) dcl 17 ref 39 first_name 10 000100 automatic char(24) level 2 dcl 26 set ref 56* i 000161 automatic fixed bin(17,0) dcl 28 set ref 44* 45* ioa_ 000014 constant entry external dcl 20 ref 56 last_name 000100 automatic char(32) level 2 dcl 26 set ref 56* notes 50 000100 automatic char(32) level 2 dcl 26 set ref 56* prog_number 30 000100 automatic char(32) level 2 dcl 26 set ref 56* project 40 000100 automatic char(32) level 2 dcl 26 set ref 56* rec 000160 automatic fixed bin(35,0) dcl 27 set ref 34* 36* title 16 000100 automatic char(8) level 2 dcl 26 set ref 56 56* uid 000166 automatic char(32) unaligned dcl 32 set ref 36* 47* 48* 51* 56* urf_entry based structure level 1 dcl 1-4 urf_manager_$get_abs_entry 000024 constant entry external dcl 23 ref 36 urf_manager_$get_entry 000026 constant entry external dcl 24 ref 48 urfe 000100 automatic structure level 1 dcl 26 set ref 36 36 48 48 NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. urfep automatic pointer dcl 1-3 NAMES DECLARED BY EXPLICIT CONTEXT. print_entry 000266 constant entry internal dcl 55 ref 38 49 print_urf 000037 constant entry external dcl 11 NAME DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 36 36 48 48 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 466 516 351 476 Length 706 351 30 153 114 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME print_urf 230 external procedure is an external procedure. print_entry internal procedure shares stack frame of external procedure print_urf. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME print_urf 000100 urfe print_urf 000160 rec print_urf 000161 i print_urf 000162 ap print_urf 000164 al print_urf 000165 code print_urf 000166 uid print_urf THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as 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 ioa_ urf_manager_$get_abs_entry urf_manager_$get_entry THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_index error_table_$no_record LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000036 34 000044 36 000056 37 000104 38 000110 39 000114 40 000116 41 000137 43 000140 44 000146 45 000150 46 000165 47 000167 48 000174 49 000217 51 000223 52 000263 53 000265 55 000266 56 000267 59 000350 ----------------------------------------------------------- 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