COMPILATION LISTING OF SEGMENT !BBBJPfQQfDGLnj Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/18/85 1001.1 mst Thu Options: table 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 19 20 /* HISTORY: 21* 22* 79-07-01 Jim Gray: Originially written. 23* 24* 80-11-17 Rickie E. Brinegar: Call to com_err_ with a 0 error code 25* changed to a call to ioa_. 26* 27**/ 28 29 30 mrds_debug_ : procedure () ; 31 32 /* DESCRIPTION: 33* 34* this is the source to be used by the create_data_segment command 35* to create the mrds_debug_ data segment object. to make additions 36* or changes to the data segment, change the mrds_debug_structure 37* declared in this pl1 program, then invoke cds with the pathname 38* of this source. 39* 40**/ 41 42 /* PARAMETERS: 43* 44* (input) changes to the mrds_debug_structure 45* 46* (output) a new mrds_debug_ data segment, after running 47* the command create_data_segment on this source. 48* 49**/ 50 51 52 /* CHANGE THIS STRUCTURE TO MAKE CHANGES IN MRDS_DEBUG_ */ 53 54 declare 1 mrds_debug_structure, 55 2 switch bit (9) unal dimension (400) init ((400) ((9) "0"b)) ; /* one 9 bit debug switch for each module in MRDS */ 56 57 58 59 /* fill in the input structure to the subroutine 60* call to create_data_segment_ */ 61 62 63 data.sections.p (1) = null () ; /* no text section */ 64 data.sections.len (1) = 0 ; 65 data.sections.struct_name = "NO_TEXT" ; 66 data.sections.p (2) = addr (mrds_debug_structure) ; /* static section */ 67 data.sections.len (2) = size (mrds_debug_structure) ; 68 data.sections.struct_name (2) = "mrds_debug_structure" ; 69 data.seg_name = "mrds_debug_" ; 70 data.num_exclude_names = 0 ; 71 data.exclude_array_ptr = null () ; 72 data.switches.defs_in_link = OFF ; 73 data.switches.separate_static = OFF ; 74 data.switches.have_text = OFF ; 75 data.switches.have_static = ON ; 76 data.switches.pad = OFF ; 77 78 /* make the call required by the create_data_segment command */ 79 80 call create_data_segment_ (addr (data), error_code) ; 81 if error_code = 0 then 82 call ioa_ ("mrds_debug_ data segment created") ; 83 else call com_err_ (error_code, "creating data segment for mrds_debug_") ; 84 85 return ; 86 87 88 declare 1 data like cds_args ; /* local version of create_data_segment_ input structure */ 89 declare create_data_segment_ entry (ptr, fixed bin (35)) ; /* subroutine for cds */ 90 declare (addr, size) builtin ; 91 92 93 /* BEGIN INCLUDE FILE cds_args.incl.pl1 */ 1 2 1 3 dcl 1 cds_args based aligned, 1 4 2 sections (2), 1 5 3 p ptr, /* pointer to data for text/static section */ 1 6 3 len fixed bin (18), /* size of text/static section */ 1 7 3 struct_name char (32), /* name of declared structure for this section */ 1 8 2 seg_name char (32), /* name to create segment by */ 1 9 2 num_exclude_names fixed bin, /* number of names in exclude array */ 1 10 2 exclude_array_ptr ptr, /* pointer to array of exclude names */ 1 11 2 switches, /* control switches */ 1 12 3 defs_in_link bit (1) unal, /* says put defs in linkage */ 1 13 3 separate_static bit (1) unal, /* says separate static section is wanted */ 1 14 3 have_text bit (1) unal, /* ON if text section given */ 1 15 3 have_static bit (1) unal, /* ON if static section given */ 1 16 3 pad bit (32) unal; 1 17 1 18 dcl exclude_names (1) char (32) based; /* pointed to be cds_args.exclude_array_ptr */ 1 19 1 20 /* END INCLUDE FILE cds_args.incl.pl1 */ 93 94 /* BEGIN INCLUDE FILE mrds_debug_names.incl.pl1 Jim Gray 8/7/79 */ 2 2 2 3 /* this include file associates module names with debug switches 2 4* that are stored in the data segment mrds_debug_ 2 5* each module has it's own bit(9) debug switch, to define for various 2 6* debug actions, with new module names to be added to the end 2 7* of this list using the next in order array index in mrds_debug_ 2 8* the convention for naming is db_{module's full name} 2 9* for the defined declaration over mrds_debug_$switch. 2 10* module.name array is then changed to reflect the new 2 11* number of modules, with the full module name added to the bottom 2 12* of the initialize list for the name array. 2 13* the module name array is used by the command level interface that sets/resets 2 14* the current status of the debug switches for each module. 2 15* the modules themselves use the db_{module name} declared variable for 2 16* that module to interagate the bits for proper debug action to take. 2 17* the definition of the meaning of the 9-bits is up to each individual module's 2 18* designer. */ 2 19 2 20 2 21 /* 2 22* HISTORY 2 23* 2 24* 80-11-12 Davids: added db_mus_mod_ubtup 2 25* 2 26* 80-11-13 Davids: added db_mu_sec_get_tuple and db_mu_sec_get_tid 2 27* 2 28* 80-12-15 Jim Gray : added mrds_dsl_set_fscope to display non 2 29* error info about being queued, and request being granted after 2 30* being queued. 2 31* 2 32* 81-01-15 Jim Gray : added mu_concurrency_control bit to allow 2 33* running MR8 and MR9 mrds against the same database at the same 2 34* time. 2 35* 2 36* 81-02-02 Jim Gray : added bit for mrds_rst_dmdm to allow 2 37* displaying internal tuple format bit offset, rather than the user 2 38* view. 2 39* 2 40* 81-02-06 Jim Gray : added bit for new mu_open_name_manager, to 2 41* dump an element from the list, when display_open_names entry 2 42* called with switch set. 2 43* 2 44* 81-05-20 Jim Gray : added bit for mrds_dsl_where_clause display 2 45* of sub_err_ messages, when cross domain compare occurs. 2 46* 2 47* 81-06-17 Jim Gray : added bit for mu_open_iocb_manager to display 2 48* iocb slot and rel name. 2 49* 2 50* 81-07-08 Jim Gray : added comment for bit 4 in mrds_dsl_permute 2 51* 2 52* 81-07-17 Jim Gray : added comment for bit 5 in mrds_dsl_permute 2 53* 2 54* 81-07-18 Jim Gray : added bit 1 for mrds_dsl_gen_srch_prog that 2 55* allows key searches, other than than specified by permute to be 2 56* done as comparisons instead. 2 57* 2 58* 81-07-22 Jim Gray : added comment about bit 2 in 2 59* mrds_dsl_gen_srch_prog 2 60**/ 2 61 2 62 declare ( 2 63 db_mrds_dsl_eval_expr bit (9) unal defined (mrds_debug_$switch (1)), 2 64 db_mrds_dsl_get_token bit (9) unal defined (mrds_debug_$switch (2)), 2 65 db_mrds_dsl_permute bit (9) unal defined (mrds_debug_$switch (3)), 2 66 db_mrds_dsl_optimize bit (9) unal defined (mrds_debug_$switch (4)), 2 67 db_mrds_dsl_search bit (9) unal defined (mrds_debug_$switch (5)), 2 68 db_mrds_dsl_translate bit (9) unal defined (mrds_debug_$switch (6)), 2 69 db_mu_retrieve bit (9) unal defined (mrds_debug_$switch (7)), 2 70 db_mrds_dsl_open bit (9) unal defined (mrds_debug_$switch (8)), 2 71 db_mrds_dsl_close bit (9) unal defined (mrds_debug_$switch (9)), 2 72 db_mrds_dsl_init_res bit (9) unal defined (mrds_debug_$switch (10)), 2 73 db_mu_sec_init_res bit (9) unal defined (mrds_debug_$switch (11)), 2 74 db_mus_mod_ubtup bit (9) unal defined (mrds_debug_$switch (12)), 2 75 db_mu_sec_get_tuple bit (9) unal defined (mrds_debug_$switch (13)), 2 76 db_mu_sec_get_tid bit (9) unal defined (mrds_debug_$switch (14)), 2 77 db_mrds_dsl_set_fscope bit (9) unal defined (mrds_debug_$switch (15)), 2 78 db_mu_concurrency_control bit (9) unal defined (mrds_debug_$switch (16)), 2 79 db_mrds_rst_dmdm bit (9) unal defined (mrds_debug_$switch (17)), 2 80 db_mu_open_name_manager bit (9) unal defined (mrds_debug_$switch (18)), 2 81 db_mrds_dsl_where_clause bit (9) unal defined (mrds_debug_$switch (19)), 2 82 db_mu_open_iocb_manager bit (9) unal defined (mrds_debug_$switch (20)), 2 83 db_mrds_dsl_gen_srch_prog bit (9) unal defined (mrds_debug_$switch (21)) 2 84 ) ; 2 85 2 86 /* list of known module names, with index into name array 2 87* the same as that into mrds_debug_$switch, 2 88* number is the current count of defined module names, 2 89* name is the modules full name. */ 2 90 2 91 declare 1 module options (constant) internal static, 2 92 2 number fixed bin init (21), 2 93 2 name char (32) dimension (21) init ( 2 94 "mrds_dsl_eval_expr", /* 1 => display value of each expression */ 2 95 "mrds_dsl_get_token", /* 1 => display the current token */ 2 96 "mrds_dsl_permute", /* each 1 => lost cost path found, 2 97* 2 => reverse partial path 2 98* 3 => use range order for path 2 99* 4 => display access method costs 2 100* 5 => display details of final low cost path */ 2 101 "mrds_dsl_optimize", /* 1 => pred tree, 2 102* 2 => paths to consider, 3 => calc_cost on */ 2 103 "mrds_dsl_search", /* 1 => display each tuple located */ 2 104 "mrds_dsl_translate", /* 1 => display the search program */ 2 105 "mu_retrieve", /* 1 => display values compared, 2 => display tuple data */ 2 106 "mrds_dsl_open", /* 1 => allow cleanup sub_error_ */ 2 107 "mrds_dsl_close", /* 1 => allow cleanup sub_error_ */ 2 108 "mrds_dsl_init_res", /* 1 => allow cleanup sub_error_ */ 2 109 "mu_sec_init_res", /* 1 => allow cleanup sub_error_ */ 2 110 "mus_mod_ubtup", /* 1 => consistency checking between the old 2 111* and new tuple during modifies will be done */ 2 112 "mu_sec_get_tuple", /* 1 => attribute values 2 113* will be zeroed in the tuple structure 2 114* is don't have read permission. */ 2 115 "mu_sec_get_tid", /* 1 => read permission to the key 2 116* is checked (if db is secured) */ 2 117 "mrds_dsl_set_fscope", /* 1 => display being queued, 2 118* and request granted from queue messages */ 2 119 "mu_concurrency_control", /* 1 => allow both dbc and db.control segs under db 2 120* so can test both MR8 and MR9 mrds 2 121* against the same database at the same time */ 2 122 "mrds_rst_dmdm", /* 1 => allow internal form of bit offset value 2 123* for attributes to be displayed, rather than user view */ 2 124 "mu_open_name_manager", /* 1 => dump mrds_open_name tree node structure, 2 125* when display_open_names entry called */ 2 126 "mrds_dsl_where_clause", /* 1 => display details of cross domain compares */ 2 127 "mu_open_iocb_manager", /* 1 => display relation and slot getting iocb for */ 2 128 "mrds_dsl_gen_srch_prog" /* 1 => do additional conditions as sequential, not key searches 2 129* when the original access was a key, 2 130* and the additional conditions can be done as key also 2 131* 2 => force key searches, regardless of strategy 2 132* used to decide between compare or key search */ 2 133 ) ; 2 134 2 135 declare mrds_debug_$switch (1:400) bit (9) unal ext ; /* data segment debug array */ 2 136 2 137 /* END INCLUDE FILE mrds_debug_names.incl.pl1 */ 2 138 94 95 96 declare com_err_ entry options (variable) ; /* reports errors */ 97 dcl ioa_ entry options (variable); /* other messages */ 98 declare error_code fixed bin (35) ; /* error status encoding */ 99 declare ON bit (1) init ("1"b) ; /* true value */ 100 declare OFF bit (1) init ("0"b) ; /* false value */ 101 102 end ; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/85 0906.4 !BBBJPfQQfDGLnj.pl1 >special_ldd>online>mrds.pbf-04/18/85>mrds_debug_.cds 93 1 04/01/76 2209.5 cds_args.incl.pl1 >ldd>include>cds_args.incl.pl1 94 2 10/14/83 1609.0 mrds_debug_names.incl.pl1 >ldd>include>mrds_debug_names.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. OFF 000313 automatic bit(1) initial unaligned dcl 100 set ref 72 73 74 76 100* ON 000312 automatic bit(1) initial unaligned dcl 99 set ref 75 99* addr builtin function dcl 90 ref 66 80 80 cds_args based structure level 1 dcl 1-3 com_err_ 000016 constant entry external dcl 96 ref 83 create_data_segment_ 000012 constant entry external dcl 89 ref 80 data 000244 automatic structure level 1 unaligned dcl 88 set ref 80 80 defs_in_link 44 000244 automatic bit(1) level 3 packed unaligned dcl 88 set ref 72* error_code 000311 automatic fixed bin(35,0) dcl 98 set ref 80* 81 83* exclude_array_ptr 42 000244 automatic pointer level 2 dcl 88 set ref 71* have_static 44(03) 000244 automatic bit(1) level 3 packed unaligned dcl 88 set ref 75* have_text 44(02) 000244 automatic bit(1) level 3 packed unaligned dcl 88 set ref 74* ioa_ 000020 constant entry external dcl 97 ref 81 len 2 000244 automatic fixed bin(18,0) array level 3 dcl 88 set ref 64* 67* mrds_debug_structure 000100 automatic structure level 1 packed unaligned dcl 54 set ref 66 67 num_exclude_names 40 000244 automatic fixed bin(17,0) level 2 dcl 88 set ref 70* p 000244 automatic pointer array level 3 dcl 88 set ref 63* 66* pad 44(04) 000244 automatic bit(32) level 3 packed unaligned dcl 88 set ref 76* sections 000244 automatic structure array level 2 unaligned dcl 88 seg_name 30 000244 automatic char(32) level 2 packed unaligned dcl 88 set ref 69* separate_static 44(01) 000244 automatic bit(1) level 3 packed unaligned dcl 88 set ref 73* size builtin function dcl 90 ref 67 struct_name 3 000244 automatic char(32) array level 3 packed unaligned dcl 88 set ref 65* 68* switch 000100 automatic bit(9) initial array level 2 packed unaligned dcl 54 set ref 54* switches 44 000244 automatic structure level 2 packed unaligned dcl 88 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. db_mrds_dsl_close defined bit(9) unaligned dcl 2-62 db_mrds_dsl_eval_expr defined bit(9) unaligned dcl 2-62 db_mrds_dsl_gen_srch_prog defined bit(9) unaligned dcl 2-62 db_mrds_dsl_get_token defined bit(9) unaligned dcl 2-62 db_mrds_dsl_init_res defined bit(9) unaligned dcl 2-62 db_mrds_dsl_open defined bit(9) unaligned dcl 2-62 db_mrds_dsl_optimize defined bit(9) unaligned dcl 2-62 db_mrds_dsl_permute defined bit(9) unaligned dcl 2-62 db_mrds_dsl_search defined bit(9) unaligned dcl 2-62 db_mrds_dsl_set_fscope defined bit(9) unaligned dcl 2-62 db_mrds_dsl_translate defined bit(9) unaligned dcl 2-62 db_mrds_dsl_where_clause defined bit(9) unaligned dcl 2-62 db_mrds_rst_dmdm defined bit(9) unaligned dcl 2-62 db_mu_concurrency_control defined bit(9) unaligned dcl 2-62 db_mu_open_iocb_manager defined bit(9) unaligned dcl 2-62 db_mu_open_name_manager defined bit(9) unaligned dcl 2-62 db_mu_retrieve defined bit(9) unaligned dcl 2-62 db_mu_sec_get_tid defined bit(9) unaligned dcl 2-62 db_mu_sec_get_tuple defined bit(9) unaligned dcl 2-62 db_mu_sec_init_res defined bit(9) unaligned dcl 2-62 db_mus_mod_ubtup defined bit(9) unaligned dcl 2-62 exclude_names based char(32) array unaligned dcl 1-18 module 000000 constant structure level 1 unaligned dcl 2-91 mrds_debug_$switch 000014 external static bit(9) array unaligned dcl 2-135 NAME DECLARED BY EXPLICIT CONTEXT. mrds_debug_ 000313 constant entry external dcl 30 NAME DECLARED BY CONTEXT OR IMPLICATION. null builtin function ref 63 71 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 566 610 501 576 Length 1612 501 22 765 64 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME mrds_debug_ 244 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME mrds_debug_ 000100 mrds_debug_structure mrds_debug_ 000244 data mrds_debug_ 000311 error_code mrds_debug_ 000312 ON mrds_debug_ 000313 OFF mrds_debug_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ create_data_segment_ ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. mrds_debug_$switch LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 30 000312 54 000320 99 000336 100 000340 63 000341 64 000343 65 000344 66 000360 67 000362 68 000364 69 000367 70 000372 71 000373 72 000375 73 000401 74 000406 75 000413 76 000420 80 000425 81 000440 83 000457 85 000477 Object Segment >special_ldd>online>mrds.pbf-04/18/85>mrds_debug_ Created on 04/18/85 1001.9 mst Thu by GJohnson.SysMaint.m using create_data_segment_, Version II of Friday, November 30, 1984 Object Text Defs Link Symb Static Start 0 0 0 26 202 36 Length 375 0 26 154 157 144 3 Definitions: segname: mrds_debug_ link|10 switch symb|0 symbol_table No Links. ----------------------------------------------------------- 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