COMPILATION LISTING OF SEGMENT get_uid_with_lastname Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/12/82 1304.6 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 get_uid_with_lastname: procedure (Name); 12 13 declare Name character (*) parameter; 14 15 /* Originally written April 1971 by K. Willis. */ 16 /* Rewritten for new URF format July 1979 by C. Hornig. */ 17 18 /* This procedure lists all users with a given last name. */ 19 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 */ 20 21 22 declare ME character (32) init ("get_uid_with_lastname") static options (constant); 23 24 declare (error_table_$bad_index, 25 error_table_$no_record) fixed bin (35) external; 26 27 declare cu_$arg_count entry returns (fixed bin), 28 urf_manager_$get_abs_entry entry (fixed bin (35), character (*), pointer, fixed bin (35)), 29 (ioa_, com_err_) entry options (variable); 30 31 declare code fixed bin (35), 32 rec fixed bin (35), 33 count fixed bin (35), 34 uid character (32), 35 1 urfe aligned like urf_entry; 36 37 declare addr builtin; 38 39 /* * * * * * * * * * GET_UID_WITH_LASTNAME * * * * * * * * * */ 40 41 if cu_$arg_count () ^= 1 then do; 42 call com_err_ (0, ME, "Usage: get_uid_with_lastname "); 43 return; 44 end; 45 46 count = 0; 47 do rec = 1 by 1; 48 call urf_manager_$get_abs_entry (rec, uid, addr (urfe), code); 49 if code ^= error_table_$no_record 50 then if code ^= 0 51 then do; 52 if code ^= error_table_$bad_index 53 then call com_err_ (code, ME); 54 else if count = 0 55 then call ioa_ ("No users found with last name of ""^a"".", Name); 56 else call ioa_ ("^d users found with last name of ""^a"".", count, Name); 57 return; 58 end; 59 else if ((substr (urfe.last_name, 1, 1) = "*") 60 & (substr (urfe.last_name, 2) = Name)) 61 | (urfe.last_name = Name) 62 then do; 63 call ioa_ ("User ID for ^a, ^a is ""^a"".", urfe.last_name, urfe.first_name, uid); 64 count = count + 1; 65 end; 66 end; 67 end get_uid_with_lastname; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/12/82 1045.5 get_uid_with_lastname.pl1 >spec>on>11/12/82>get_uid_with_lastname.pl1 20 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. ME 000000 constant char(32) initial unaligned dcl 22 set ref 42* 52* Name parameter char unaligned dcl 13 set ref 11 54* 56* 59 59 addr builtin function dcl 37 ref 48 48 code 000100 automatic fixed bin(35,0) dcl 31 set ref 48* 49 49 52 52* com_err_ 000022 constant entry external dcl 27 ref 42 52 count 000102 automatic fixed bin(35,0) dcl 31 set ref 46* 54 56* 64* 64 cu_$arg_count 000014 constant entry external dcl 27 ref 41 error_table_$bad_index 000010 external static fixed bin(35,0) dcl 24 ref 52 error_table_$no_record 000012 external static fixed bin(35,0) dcl 24 ref 49 first_name 10 000113 automatic char(24) level 2 dcl 31 set ref 63* ioa_ 000020 constant entry external dcl 27 ref 54 56 63 last_name 000113 automatic char(32) level 2 dcl 31 set ref 59 59 59 63* rec 000101 automatic fixed bin(35,0) dcl 31 set ref 47* 48* uid 000103 automatic char(32) unaligned dcl 31 set ref 48* 63* urf_entry based structure level 1 dcl 1-4 urf_manager_$get_abs_entry 000016 constant entry external dcl 27 ref 48 urfe 000113 automatic structure level 1 dcl 31 set ref 48 48 NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. urfep automatic pointer dcl 1-3 NAME DECLARED BY EXPLICIT CONTEXT. get_uid_with_lastname 000073 constant entry external dcl 11 NAME DECLARED BY CONTEXT OR IMPLICATION. substr builtin function ref 59 59 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 464 510 360 474 Length 704 360 24 157 104 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME get_uid_with_lastname 174 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME get_uid_with_lastname 000100 code get_uid_with_lastname 000101 rec get_uid_with_lastname 000102 count get_uid_with_lastname 000103 uid get_uid_with_lastname 000113 urfe get_uid_with_lastname THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count ioa_ urf_manager_$get_abs_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 000070 41 000106 42 000117 43 000144 46 000145 47 000146 48 000150 49 000176 52 000204 54 000223 56 000247 57 000274 59 000275 63 000317 64 000346 66 000352 67 000357 ----------------------------------------------------------- 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