COMPILATION LISTING OF SEGMENT bce_map_over_requests_ Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 11/11/89 1013.6 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* *********************************************************** */ 8 9 /* format: style2 */ 10 11 /* Routine for bce that runs (maps) a specified procedure over each entry of 12* a bce ssu_-style request table. Written in the past by Benson Margulies. */ 13 14 bce_map_over_requests_: 15 procedure (Procedure, Info_ptr, Request_table_ptr); 16 17 declare Procedure entry (pointer, pointer) variable parameter; 18 declare Info_ptr pointer; 19 declare Request_table_ptr pointer; 20 21 declare rq_idx fixed bin; 22 23 declare addr builtin; 24 25 rqt_ptr = Request_table_ptr; 26 do rq_idx = 1 to rqt.n_requests; 27 rq_data_ptr = addr (rqt.requests (rq_idx)); 28 call Procedure (rq_data_ptr, Info_ptr); 29 end; 30 return; 31 1 1 /* BEGIN INCLUDE FILE ... _ssu_request_table.incl.pl1 */ 1 2 /* Created: by W. Olin Sibert */ 1 3 1 4 /* format: style4,delnl,insnl,ifthenstmt,ifthen */ 1 5 1 6 1 7 /* Definition of a subsystem request table */ 1 8 1 9 dcl 1 rqt aligned based (rqt_ptr), 1 10 2 version character (8), 1 11 2 name character (32), /* name of this table */ 1 12 2 flags, /* this field is completely unused */ 1 13 3 pad2 (6) bit (36) unaligned, 1 14 2 n_requests fixed binary, 1 15 2 requests (0 refer (rqt.n_requests)) like rq_data; 1 16 1 17 dcl rqt_ptr pointer; 1 18 1 19 dcl RQT_VERSION_4 character (8) static options (constant) initial ("srqt_4.0"); 1 20 1 21 1 22 /* Definition of a single request's entry in the table */ 1 23 1 24 dcl 1 rq_data aligned based (rq_data_ptr), 1 25 2 code_loc bit (18) unaligned, /* -> (RTBOS) code sequence to invoke request */ 1 26 2 namelist_loc bit (18) unaligned, /* -> (RTBOS) list of names for this request */ 1 27 2 info_string, 1 28 3 loc bit (18) unaligned, /* -> (RTBOS) short description of request */ 1 29 3 lth fixed binary (17) unaligned, /* length of description (0 if none) */ 1 30 2 flags aligned like request_flags; /* miscellaneous flags */ 1 31 1 32 dcl rq_data_ptr pointer; 1 33 1 34 /* END INCLUDE FILE ... _ssu_request_table.incl.pl1 */ 32 2 1 /* BEGIN INCLUDE FILE ... _ssu_request_data.incl.pl1 */ 2 2 /* Created: 13 May 1980 by W. Olin Sibert */ 2 3 /* Modified: 28 February 1982 by G. Palter to add dont_summarize and dont_list */ 2 4 /* Modified: 2 August 1982 by Jay Pattin to add unknown flag */ 2 5 2 6 /* format: style4,delnl,insnl,ifthenstmt,ifthen */ 2 7 2 8 2 9 /* Description of a subsystem request returned by ssu_$locate_request */ 2 10 2 11 dcl 1 request_data aligned based (request_data_ptr), 2 12 2 full_name character (32) unaligned, /* its primary name */ 2 13 2 entry entry (pointer, pointer) variable, /* entry to call to implement the request */ 2 14 2 call_info, /* describes current invocation of the request ... */ 2 15 3 arg_list_ptr pointer, /* ... -> argument list */ 2 16 3 arg_count fixed binary, 2 17 3 af_sw bit (1) aligned, /* ... ON => invoked as an active request */ 2 18 3 rv_ptr pointer, /* ... -> active request's return string */ 2 19 3 rv_lth fixed binary (21), /* ... maxlength of the return string */ 2 20 2 flags aligned like request_flags, /* attributes of the request (from the request table) */ 2 21 2 name_list_ptr pointer unaligned, /* -> list of all valid names for the request */ 2 22 2 info_string, /* brief description of the request (if any) */ 2 23 3 ptr pointer unaligned, 2 24 3 lth fixed binary (18), 2 25 2 pad (4) bit (36); 2 26 2 27 dcl request_data_ptr pointer; 2 28 2 29 2 30 /* Request attributes from the request table */ 2 31 2 32 dcl 1 request_flags aligned based, 2 33 2 system_flags unaligned, 2 34 3 allow_command bit (1) unaligned, /* ON => request may be called as a command */ 2 35 3 allow_af bit (1) unaligned, /* ON => request may be called as an active function */ 2 36 3 unimplemented bit (1) unaligned, /* ON => request is not yet implemented */ 2 37 3 multics_request bit (1) unaligned, /* ON => this request is really just a Multics command */ 2 38 3 dont_summarize bit (1) unaligned, /* ON => summarize_requests doesn't list this request */ 2 39 3 dont_list bit (1) unaligned, /* ON => list_requests doesn't match this one without -all */ 2 40 3 unknown bit (1) unaligned, /* ON => return unknown_request, don't list or summarize ever */ 2 41 3 pad bit (11) unaligned, 2 42 2 user_flags bit (18) unaligned; /* no longer used */ 2 43 2 44 2 45 /* List of all names for a given request */ 2 46 2 47 dcl 1 request_name_list aligned based (request_name_list_ptr), 2 48 2 n_names fixed binary, /* structure describing name list */ 2 49 2 name (request_name_list_n_names refer (request_name_list.n_names)) character (32) unaligned; 2 50 2 51 dcl request_name_list_ptr pointer; 2 52 dcl request_name_list_n_names fixed binary; 2 53 2 54 2 55 /* Brief description of a request */ 2 56 2 57 dcl request_info_string character (request_info_string_lth) based (request_info_string_ptr); 2 58 dcl request_info_string_lth fixed binary (21); 2 59 dcl request_info_string_ptr pointer; 2 60 2 61 /* END INCLUDE FILE ... _ssu_request_data.incl.pl1 */ 33 34 end bce_map_over_requests_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0839.1 bce_map_over_requests_.pl1 >special_ldd>install>MR12.3-1114>bce_map_over_requests_.pl1 32 1 04/13/82 1620.2 _ssu_request_table.incl.pl1 >ldd>include>_ssu_request_table.incl.pl1 33 2 09/28/82 1437.6 _ssu_request_data.incl.pl1 >ldd>include>_ssu_request_data.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. Info_ptr parameter pointer dcl 18 set ref 14 28* Procedure parameter entry variable dcl 17 ref 14 28 Request_table_ptr parameter pointer dcl 19 ref 14 25 addr builtin function dcl 23 ref 27 n_requests 20 based fixed bin(17,0) level 2 dcl 1-9 ref 26 request_flags based structure level 1 dcl 2-32 requests 21 based structure array level 2 dcl 1-9 set ref 27 rq_data based structure level 1 dcl 1-24 rq_data_ptr 000104 automatic pointer dcl 1-32 set ref 27* 28* rq_idx 000100 automatic fixed bin(17,0) dcl 21 set ref 26* 27* rqt based structure level 1 dcl 1-9 rqt_ptr 000102 automatic pointer dcl 1-17 set ref 25* 26 27 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. RQT_VERSION_4 internal static char(8) initial packed unaligned dcl 1-19 request_data based structure level 1 dcl 2-11 request_data_ptr automatic pointer dcl 2-27 request_info_string based char packed unaligned dcl 2-57 request_info_string_lth automatic fixed bin(21,0) dcl 2-58 request_info_string_ptr automatic pointer dcl 2-59 request_name_list based structure level 1 dcl 2-47 request_name_list_n_names automatic fixed bin(17,0) dcl 2-52 request_name_list_ptr automatic pointer dcl 2-51 NAME DECLARED BY EXPLICIT CONTEXT. bce_map_over_requests_ 000006 constant entry external dcl 14 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 76 106 47 106 Length 312 47 10 170 27 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME bce_map_over_requests_ 80 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME bce_map_over_requests_ 000100 rq_idx bce_map_over_requests_ 000102 rqt_ptr bce_map_over_requests_ 000104 rq_data_ptr bce_map_over_requests_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ent_var return_mac ext_entry NO EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 000002 25 000013 26 000017 27 000027 28 000033 29 000044 30 000046 ----------------------------------------------------------- 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