COMPILATION LISTING OF SEGMENT vrm_set_scope Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 11/21/84 1435.0 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 vrm_set_scope: set_scope: proc (I_rel_opening_id, I_this_process_permission, I_other_process_permission, O_code); 8 9 /* . BEGIN_DESCRIPTION 10* 11* Take the scope setting requested by MRDS for the use of the 12* page_file manager and convert it into a vfile_ opening mode. 13* 14* 15* 00 null 16* 01 write 17* 10 read 18* 11 read/write 19* 20* . END_DESCRIPTION */ 21 22 23 /* History: 24* 25* 82-08-20 R. Harvey: Initially written 26* 27**/ 28 29 /* Parameters */ 30 31 dcl I_rel_opening_id bit (36) aligned; 32 dcl I_this_process_permission bit (2) aligned; 33 dcl I_other_process_permission bit (2) aligned; 34 dcl O_code fixed bin (35); 35 36 37 /* vrm_set_scope: set_scope: proc (I_rel_opening_id, I_this_process_permission, I_other_process_permission, O_code); */ 38 39 if (I_this_process_permission | I_other_process_permission) = "00"b then 40 O_code = dm_error_$invalid_scope; 41 42 else call vrm_open_man$get_open_info_ptr (I_rel_opening_id, vrm_open_info_ptr, O_code); 43 44 if O_code = 0 then do; 45 46 if substr (I_other_process_permission, 2, 1) = "1"b then 47 vrm_open_info.switches.shared = "1"b; 48 49 else vrm_open_info.switches.shared = "0"b; 50 end; 51 52 return; 53 1 1 /* BEGIN INCLUDE vrm_open_info.incl.pl1 */ 1 2 1 3 /* R. Harvey 82-11-02 1 4* 82-09-82 Roger Lackey: added iocb_list_ptr */ 1 5 1 6 dcl 1 vrm_open_info aligned based (vrm_open_info_ptr), /* Vfile relation description */ 1 7 2 version char (8), /* Version number of this structure */ 1 8 2 opening_id bit (36) aligned, /* Opening id associated with this desc */ 1 9 2 file_uid bit (36) aligned, /* Unique id of msf dir */ 1 10 2 number_of_openings fixed bin, /* Number of separate calls to vrm$open */ 1 11 2 switches, 1 12 3 shared bit (1) unal, /* Open relation in shared mode */ 1 13 3 pad bit (35) unal init ("0"b), /* Unused must be zero */ 1 14 2 database_dir_path char (168) varying, /* Absolute path of database */ 1 15 2 relation_name char (30) varying, /* Name of relation */ 1 16 2 relation_model_ptr pointer, /* Pointer to the relation_model in the relation itself or a temp seg */ 1 17 2 com_ptr pointer, /* Temp seg for cursors and scratch space */ 1 18 2 iocb_list_ptr pointer, /* Pointer to first vrm_iocb_list_block */ 1 19 2 primary_key_info_ptr pointer, /* Special case collection info ptr */ 1 20 2 number_of_index_collections fixed bin, /* Count of index collections (include primary key) */ 1 21 2 index_collection (voi_no_of_index_collections 1 22 refer (vrm_open_info.number_of_index_collections)), 1 23 3 id bit (36), 1 24 3 info_ptr ptr unal; /* Points to more detailed info */ 1 25 1 26 1 27 dcl VRM_OPEN_INFO_VERSION_1 char (8) int static options (constant) init (" 1"); 1 28 dcl vrm_open_info_ptr ptr; 1 29 dcl voi_no_of_index_collections fixed bin; 1 30 1 31 /* END INCLUDE vrm_open_info.incl.pl1 */ 54 55 56 dcl dm_error_$invalid_scope fixed bin (35) ext static; 57 dcl vrm_open_man$get_open_info_ptr entry (bit (36) aligned, ptr, fixed bin (35)); 58 dcl substr builtin; 59 60 61 end vrm_set_scope; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/21/84 0933.9 vrm_set_scope.pl1 >special_ldd>online>mrds_install>vrm_set_scope.pl1 54 1 10/14/83 1609.1 vrm_open_info.incl.pl1 >ldd>include>vrm_open_info.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. I_other_process_permission parameter bit(2) dcl 33 ref 7 7 39 46 I_rel_opening_id parameter bit(36) dcl 31 set ref 7 7 42* I_this_process_permission parameter bit(2) dcl 32 ref 7 7 39 O_code parameter fixed bin(35,0) dcl 34 set ref 7 7 39* 42* 44 dm_error_$invalid_scope 000010 external static fixed bin(35,0) dcl 56 ref 39 shared 5 based bit(1) level 3 packed unaligned dcl 1-6 set ref 46* 49* substr builtin function dcl 58 ref 46 switches 5 based structure level 2 dcl 1-6 vrm_open_info based structure level 1 dcl 1-6 vrm_open_info_ptr 000100 automatic pointer dcl 1-28 set ref 42* 46 49 vrm_open_man$get_open_info_ptr 000012 constant entry external dcl 57 ref 42 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. VRM_OPEN_INFO_VERSION_1 internal static char(8) initial unaligned dcl 1-27 voi_no_of_index_collections automatic fixed bin(17,0) dcl 1-29 NAMES DECLARED BY EXPLICIT CONTEXT. set_scope 000010 constant entry external dcl 7 vrm_set_scope 000020 constant entry external dcl 7 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 154 170 73 164 Length 360 73 14 153 61 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME set_scope 76 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME set_scope 000100 vrm_open_info_ptr set_scope THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. vrm_open_man$get_open_info_ptr THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. dm_error_$invalid_scope LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 7 000003 39 000025 42 000040 44 000052 46 000055 49 000066 52 000071 ----------------------------------------------------------- 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