COMPILATION LISTING OF SEGMENT mrds_rst_meter Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/18/85 1102.0 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 /* ****************************************************** 10* * * 11* * * 12* * Copyright (c) 1972 by Massachusetts Institute of * 13* * Technology and Honeywell Information Systems, Inc. * 14* * * 15* * * 16* ****************************************************** */ 17 18 mrds_rst_meter: proc (rsc_ptr, module_name, in_out, msg); 19 20 /* PARAMETERS */ 21 22 /* rsc_ptr pointer pointer to rsc control segment 23* module_name char (*) name of module making call 24* in_out bit (1) On = entering module OFF = exiting module 25* msg char (*) message to be associated with metering entry. 26* 27**/ 28 29 /* HISTORY: Initially written by R. D. Lackey October, 1978 */ 30 31 dcl (addr, fixed, rel) builtin; 32 dcl module_name char (*); /* (INPUT) Name of module making metering call */ 33 dcl in_out bit (1); /* (INPUT) On = entering OFF = exiting */ 34 dcl msg char (*); /* (INPUT) Message to be associated with metering entry */ 35 36 dcl cpu_time_and_paging_ entry (fixed bin, fixed bin (71), fixed bin); 37 dcl ioa_$ioa_switch entry options (variable); 38 dcl vtime fixed bin (71); 39 dcl pf fixed bin; 40 dcl pd_pf fixed bin; 41 dcl enter_exit char (5); 42 dcl sys_info$max_seg_size ext fixed bin (35); 43 44 45 if in_out = "1"b then enter_exit = "IN:"; 46 else enter_exit = " OUT:"; 47 48 if rsc.meter_sw then do; /* Meter */ 49 call cpu_time_and_paging_ (pf, vtime, pd_pf); 50 51 call ioa_$ioa_switch (rsc.trace_metering_iocb_ptr, 52 "^5a^2x^32a^1x^12d^2x^8d^2x^8d^2x^a", 53 enter_exit, module_name, vtime, pf, pd_pf, msg); 54 end; 55 56 else call ioa_$ioa_switch (rsc.trace_metering_iocb_ptr, 57 "^5a^2x^a;", enter_exit, module_name); 58 59 return; 60 1 1 /* BEGIN INCLUDE FILE mrds_rst_rsc.incl.pl1 RDL 7/7/78 */ 1 2 1 3 /* Modified 8/21/78 by RDL */ 1 4 1 5 /* Modified 9/11/78 by RDL to add directive and stmt pointers */ 1 6 1 7 /* Modified 11/4/78 by RDL to add debug,trace,meter switches 1 8* 1 9* Modified 3/29/79 by RDL to change s_seg_info_ptr to source_seg_ptr 1 10* 1 11* Modified by Jim Gray - - Jan. 1980, to add flags to disallow blocked files, forieng keys, and restructuring. 1 12* 1 13* Modified by Jim Gray - - Feb. 1980, to add command level flag for cmdb subroutine interface. 1 14* 1 15* Modified by Jim Gray - - 80-11-06, to add bit for cmdb -secure option. 1 16* 1 17* 81-05-18 Jim Gray : added bit for max_attributes error message, so that 1 18* it would only be issued on first occurence. 1 19* 1 20* 82-08-19 Davids: added the db_type field. 1 21* 1 22* 83-02-18 Mike Kubicar : Removed the db_type field and added the 1 23* db_relation_mode_flags substructure to define the modes applicable 1 24* to the database's relations. Also removed assorted unsed fields 1 25* (names that included the word unused). 1 26* 1 27**/ 1 28 1 29 dcl 1 rsc based (rsc_ptr), /* Restructuring control info */ 1 30 2 rsc_dir char (200), /* pathname of directory containing rsc segment */ 1 31 2 dbp char (168), /* Database absolute path */ 1 32 2 temp_dir char (168), /* Path name of temp restrucuring directory */ 1 33 2 temp_dir_sw bit (1) unal, /* On => temp dir has been created */ 1 34 2 db_quiesced_sw bit (1) unal, /* On => database has been quiesced */ 1 35 2 o_db_open_sw bit (1) unal, /* On => old database has been opened */ 1 36 2 n_db_open_sw bit (1) unal, /* On => temp database is open */ 1 37 2 listing_seg_sw bit (1) unal, /* On => listing segment has been created */ 1 38 2 skip_scanner_conversion bit (1) unal, /* Skip conversion in scanner */ 1 39 2 cmdb_option bit (1) unal, /* ON => this is a cmdb source, not restructuring */ 1 40 2 trace_sw bit (1) unal, /* On -> trace mode in affect */ 1 41 2 debug_sw bit (1) unal, /* On = debug mode (NOT IMPLEMENTED) */ 1 42 2 meter_sw bit (1) unal, /* On = procedures call metering procedure */ 1 43 2 delete_db_sw bit (1) unal, /* On = delete data base in cleanup */ 1 44 2 model_consistent_sw bit (1) unal, /* On => Model is consistent */ 1 45 2 physical_started_sw bit (1) unal, /* On => Physical restructuring started */ 1 46 2 physical_complete_sw bit (1) unal, /* On => Physical restructuring completed */ 1 47 2 model_overflow bit (1) unal, /* ON => model segment area condition occurred */ 1 48 2 max_files bit (1) unal, /* ON => maximum number of files reached */ 1 49 2 allow_foreign_keys bit (1) unal, /* on => allow foreign key statment */ 1 50 2 foreign_key_seen bit (1) unal, /* on => foreign key definition in source */ 1 51 2 allow_blocked_files bit (1) unal, /* on => allow file statement with blocked option */ 1 52 2 blocked_file_seen bit (1) unal, /* on => blocked file definition in source */ 1 53 2 allow_restructuring bit (1) unal, /* on => allow RMDB entry point */ 1 54 2 command_level bit (1) unal, /* on => called from command unal, not subroutine level */ 1 55 2 secure bit (1) unal, /* on => -secure option given for cmdb */ 1 56 2 max_attrs bit (1) unal, /* on => max attrs/rel or max indexes/rel exceeded */ 1 57 2 db_relation_mode_flags, 1 58 3 dm_file_type bit (1) unal, /* on => relations are dm files */ 1 59 3 protection_on bit (1) unal, /* on => relations need transactions */ 1 60 3 concurrency_on bit (1) unal, /* on => concurrency control enabled */ 1 61 3 rollback_on bit (1) unal, /* on => before journalling is enabled */ 1 62 2 severity_high fixed bin, /* Highest severity level error encountered */ 1 63 2 phase fixed bin, /* 000 = init 1 64* 100 = global list init 1 65* 200 = parse 1 66* 300 = physical init 1 67* 400 = physical */ 1 68 2 h_o_seg_info_ls_ptr ptr, /* Pointer to head of old db seg_info list */ 1 69 2 h_n_seg_info_ls_ptr ptr, /* Pointer to head of new db seg_info list */ 1 70 2 h_gfile_ptr ptr, /* Pointer to head of global file list */ 1 71 2 h_gdom_ptr ptr, /* Pointer to head of global domain list */ 1 72 2 h_gattr_ptr ptr, /* Pointer to head of global attribute list */ 1 73 2 h_grel_ptr ptr, /* Pointer to head of global relation list */ 1 74 2 h_glink_ptr ptr, /* Pointer to head of global link list */ 1 75 2 o_dm_ptr ptr, /* Pointer to old data model seg (dm_model ) */ 1 76 2 n_dm_ptr ptr, /* Pointer to temp data model seg */ 1 77 2 o_fn_hdr_ptr ptr, /* Pointer to head of original file list (fn structure) */ 1 78 2 source_seg_ptr ptr, /* Pointer to source_seg */ 1 79 2 listing_iocb_ptr ptr, /* Pointer to listing segment iocb */ 1 80 2 directive_ptr ptr, /* Pointer to directive type str in mrds_rst_semactics.incl.pl1 */ 1 81 2 stmt_ptr ptr, /* Pointer to statement str in mrds_rst_sematics.incl.pl1 */ 1 82 2 trace_metering_iocb_ptr ptr, /* Pointer to seg used by trace and metering */ 1 83 2 tree_node_area_ptr ptr, /* pointer to working storage for tree nodes */ 1 84 2 tree_data, 1 85 3 seg_info_area_ptr ptr, /* seg info working storage area */ 1 86 3 gl_area_ptr ptr, /* global list data work storage area */ 1 87 3 sl_area_ptr ptr, /* sublist data work storage area */ 1 88 2 parse_info_area_ptr ptr, /* parse interface work area storage */ 1 89 2 static_info_area_ptr ptr, /* directive, stmt and other static work storage area */ 1 90 2 variable_length_area_ptr ptr, /* varibale allocates work storage area */ 1 91 2 other_area_ptr ptr, /* unspecified work area storage */ 1 92 2 wa area (sys_info$max_seg_size - fixed (rel (addr (rsc.wa))) + 1); /* Work area */ 1 93 1 94 dcl rsc_ptr ptr; /* Pointer to base of rsc segment */ 1 95 1 96 1 97 1 98 /* END INCLUDE FILE mrds_rst_rsc.incl.pl1 */ 1 99 61 62 63 end mrds_rst_meter; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/85 0909.2 mrds_rst_meter.pl1 >special_ldd>online>mrds.pbf-04/18/85>mrds_rst_meter.pl1 61 1 10/14/83 1609.1 mrds_rst_rsc.incl.pl1 >ldd>include>mrds_rst_rsc.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. cpu_time_and_paging_ 000010 constant entry external dcl 36 ref 49 enter_exit 000104 automatic char(5) unaligned dcl 41 set ref 45* 46* 51* 56* in_out parameter bit(1) unaligned dcl 33 ref 18 45 ioa_$ioa_switch 000012 constant entry external dcl 37 ref 51 56 meter_sw 206(09) based bit(1) level 2 packed unaligned dcl 1-29 ref 48 module_name parameter char unaligned dcl 32 set ref 18 51* 56* msg parameter char unaligned dcl 34 set ref 18 51* pd_pf 000103 automatic fixed bin(17,0) dcl 40 set ref 49* 51* pf 000102 automatic fixed bin(17,0) dcl 39 set ref 49* 51* rsc based structure level 1 unaligned dcl 1-29 rsc_ptr parameter pointer dcl 1-94 ref 18 48 51 56 trace_metering_iocb_ptr 246 based pointer level 2 dcl 1-29 set ref 51* 56* vtime 000100 automatic fixed bin(71,0) dcl 38 set ref 49* 51* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addr builtin function dcl 31 fixed builtin function dcl 31 rel builtin function dcl 31 sys_info$max_seg_size external static fixed bin(35,0) dcl 42 NAME DECLARED BY EXPLICIT CONTEXT. mrds_rst_meter 000035 constant entry external dcl 18 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 270 304 221 300 Length 474 221 14 153 46 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME mrds_rst_meter 124 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME mrds_rst_meter 000100 vtime mrds_rst_meter 000102 pf mrds_rst_meter 000103 pd_pf mrds_rst_meter 000104 enter_exit mrds_rst_meter 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. cpu_time_and_paging_ ioa_$ioa_switch NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 18 000030 45 000055 46 000066 48 000071 49 000076 51 000110 54 000163 56 000164 59 000214 ----------------------------------------------------------- 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