THIS FILE IS DAMAGED COMPILATION LISTING OF SEGMENT mrds_dsl_make_literal Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/24/88 1536.6 mst Mon 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_dsl_make_literal: proc (dbcb_ptr, lip, code); 19 20 /* NOTES: 21* 22* This procedure builds a literal entry in the dbcb literal pool. The 23* literal is aligned, zero padded, and encoded if necessary. 24* 25* 26* HISTORY: 27* 28* 79-02-01 J. A. Weedreyer: Initially written. 29* 30* 79-06-06 Al Kepner: Modified to use select_area. 31* 32* 79-08-28 NSDavids: Modified to initialize the internal status code to zero. 33* 34* 79-12-02 Mary Ward: Modified to pass data descriptors "by value" rather 35* than just give the user a pointer into the resultant model and to 36* initialize the pointer and descriptor for the return code to be used by the 37* encode procedure. 38* 39* 79-12-01 Jim Gray: Modified to add calls to 40* mu_data_class$valid_scalar_data_type, and mu_data_class$real_data_class, and 41* $complex_data_class, so that packed decimal could be handled also the 42* routines mu_data_length$_data_bit_length, and mu_data_align$align_data_item are 43* called instead of internal calculation, for the same reason. 44* 45* 81-05-06 Rickie E. Brinegar: Modified to make use of the modified 46* rm_domain_info structure and to use cu_$generate_call instead of 47* cu_&gen_call. 48* 49* 83-04-04 Davids: Removed declarations to things that are no longer 50* used: addrel, align_array, arith_len, cleanup, mod, 51* mu_data_class$complex_data_class mu_data_class$real_data_class, 52* num_desc, string. 53* 54* 83-09-26 Mike Kubicar - Added code to check if a stringsize condition has 55* occurred while converting the literal. If so, just move the original 56* literal into the literal pool and let the compare code handle things. 57* 58**/ 59 60 alloc_sw = "0"b; /* remember main entry */ 61 go to common; 62 63 alloc: entry (dbcb_ptr, lip, code); 64 65 /* Entry to merely alocate space, without moving in value */ 66 67 alloc_sw = "1"b; 68 69 common: 70 num_dims = 0; 71 stringsize_occurred = "0"b; 72 select_area_ptr = dbcb.select_area_ptr; 73 if dbcb.lit_ptr = null then do; /* must alloc lit area */ 74 allocate literal_string in (select_area); /* Allocations in select_area are never freed. This area 75* is reinitialized at the beginning of each new selection expression. */ 76 literal_string = "0"b; 77 dbcb.cur_lit_offset = 0; 78 end; 79 80 81 lit_info.lit_blen = mu_data_length$get_data_bit_length (lit_info.litd_ptr -> descriptor_overlay); 82 83 dbcb.cur_lit_offset = dbcb.cur_lit_offset + 84 mu_data_align$align_data_item (lit_info.litd_ptr, dbcb.cur_lit_offset); 85 86 if dbcb.cur_lit_offset + lit_info.lit_blen > mrds_data_$lit_string_size - 1 then 87 call error (mrds_error_$lit_string_ovfl); /* if about to overflow the literal pool */ 88 89 lit_info.lit_offset = dbcb.cur_lit_offset; /* set up output for caller */ 90 lit_info.lit_ptr = addr (literal_array (lit_info.lit_offset)); 91 92 if ^alloc_sw then do; /* if also moving in value */ 93 94 if ^mu_valid_data_type$valid_scalar_data_type (lit_info.srcd_ptr -> descriptor_overlay) then 95 call error (mrds_error_$inv_literal_type); 96 97 on conversion call error (mrds_error_$bad_arith_const); 98 on overflow call error (mrds_error_$bad_arith_const); 99 on underflow call error (mrds_error_$bad_arith_const); 100 101 if lit_info.encd_proc then do; /* if must encode */ 102 if lit_info.srcd_ptr -> bit36 ^= lit_info.encdd_ptr -> bit36 then do; /* if must first convert */ 103 lit_info.encd_blen = mu_data_length$get_data_bit_length (lit_info.encdd_ptr -> descriptor_overlay); 104 if lit_info.encd_blen > 2376 then do; /* if long, must alloc. */ 105 allocate encd_bs in (select_area); /* Allocations in select_area are never freed. This area 106* is reinitialized at the beginning of each new selection expression. */ 107 end; 108 else eb_ptr = addr (wkspc); /* if can use stack work space */ 109 encd_bs = "0"b; /* clear the space */ 110 call mu_convert$convert_data (lit_info.src_ptr, 111 lit_info.srcd_ptr, 112 eb_ptr, 113 lit_info.encdd_ptr, 114 icode); 115 if icode ^= 0 then call error (icode); 116 encode_list.uv_ptr = eb_ptr; 117 end; /* if needed to convert */ 118 119 else encode_list.uv_ptr = lit_info.src_ptr; /* if no need to convert */ 120 121 user_descriptor = lit_info.encdd_ptr -> bit36; /* move user descriptor into temporary */ 122 encode_list.ud_ptr = addr (user_descriptor); 123 if lit_info.encdd_ptr -> descriptor.type = varying_char_dtype /* see if need to adjust ptr */ 124 | lit_info.encdd_ptr -> descriptor.type = varying_bit_dtype then 125 encode_list.uv_ptr = addr (encode_list.uv_ptr -> varying.string); 126 db_descriptor = lit_info.litd_ptr -> bit36; /* move db descriptor into temporary */ 127 encode_list.dbd_ptr = addr (db_descriptor); 128 if lit_info.litd_ptr -> descriptor.type = varying_char_dtype 129 | lit_info.litd_ptr -> descriptor.type = varying_bit_dtype then 130 encode_list.dbv_ptr = addr (lit_info.lit_ptr -> varying.string); 131 else encode_list.dbv_ptr = lit_info.lit_ptr; 132 133 encode_list.code_ptr = addr (icode); 134 encode_list.coded_ptr = addr (FB35_DESC); 135 call cu_$generate_call (lit_info.encd_entry, addr (encode_list)); 136 if icode ^= 0 then call error (icode); /* encode the value */ 137 138 139 end; /* if encoding */ 140 141 else do; /* if not encoding */ 142 143 if lit_info.srcd_ptr -> bit36 ^= lit_info.litd_ptr -> bit36 then do; /* if must convert */ 144 145 146 /* 147** 148** First, just try to convert to the target data type. If a stringsize 149** occurs, then just move the given type to the literal pool. Conversion 150** will occur at comparison time. That code is better suited to deal with 151** them. 152** 153**/ 154 155 on stringsize 156 stringsize_occurred = "1"b; 157 call mu_convert$convert_data (lit_info.src_ptr, 158 lit_info.srcd_ptr, 159 lit_info.lit_ptr, 160 lit_info.litd_ptr, 161 icode); 162 revert stringsize; 163 if icode ^= 0 then call error (icode); 164 if stringsize_occurred then do; /* It's not safe to convert */ 165 lit_info.lit_blen = mu_data_length$get_data_bit_length ( 166 lit_info.srcd_ptr -> descriptor_overlay); 167 dbcb.cur_lit_offset = dbcb.cur_lit_offset + 168 mu_data_align$align_data_item (lit_info.srcd_ptr, dbcb.cur_lit_offset); 169 if dbcb.cur_lit_offset + lit_info.lit_blen > mrds_data_$lit_string_size - 1 170 then call error (mrds_error_$lit_string_ovfl); 171 172 lit_info.lit_offset = dbcb.cur_lit_offset; /* set up output for caller */ 173 lit_info.lit_ptr = addr (literal_array (lit_info.lit_offset)); 174 lit_info.litd_ptr = lit_info.srcd_ptr; 175 lit_bit_str = lit_info.src_ptr -> lit_bit_str; 176 end; 177 end; 178 else lit_bit_str = lit_info.src_ptr -> lit_bit_str; /* if no conversion */ 179 180 end; /* if not encoding */ 181 182 183 end; /* if moving in value */ 184 185 dbcb.cur_lit_offset = dbcb.cur_lit_offset + lit_info.lit_blen; /* update the cursor */ 186 187 code = 0; 188 189 exit: 190 return; 191 192 error: proc (cd); 193 194 /* Error Procedure */ 195 196 dcl cd fixed bin (35); 197 198 code = cd; 199 go to exit; 200 201 end error; 202 1 1 /* BEGIN mrds_dbcb.incl.pl1 -- jaw, 11/7/78 */ 1 2 1 3 1 4 1 5 /****^ HISTORY COMMENTS: 1 6* 1) change(85-11-17,Dupuis), approve(85-12-16,MCR7314), 1 7* audit(86-02-04,Brunelle), install(86-02-05,MR12.0-1013): 1 8* This entry is being made to cover the change made on 85-07-01 by Thanh 1 9* Nguyen. The scopes_changed flag was added to make checking for this 1 10* more efficient (mrds error list #137). 1 11* 2) change(86-06-10,Blair), approve(86-08-07,MCR7491), 1 12* audit(86-08-07,Gilcrease), install(86-08-15,MR12.0-1127): 1 13* Add a bit called dont_check_txn_id to indicate whether or not we should 1 14* care if multiple txns use the same selection_expression. (mrds #156) 1 15* 3) change(87-11-23,Hergert), approve(88-06-28,MCR7903), 1 16* audit(88-06-28,Dupuis), install(88-08-01,MR12.2-1073): 1 17* Added parser_work_area_ptr and mrds_se_info_ptr for new parser. 1 18* END HISTORY COMMENTS */ 1 19 1 20 1 21 /* WARNING 1 22* If the dbcb structure is changed then the mrds_data_ 1 23* item saved_res_version MUST be incremented to invalidate all 1 24* existing saved resultants 1 25**/ 1 26 1 27 /* HISTORY : 1 28* 1 29* modified by Jim Gray - - 80-10-24, to add new_select_expr bit for 1 30* tid_list management 1 31* 1 32* 81-1-9 Jim Gray : added like reference for ease in making the 1 33* phony resultant in mu_database_index, without having the area dcl 1 34* included. 1 35* 1 36* 81-06-17 Roger Lackey : added last_store_rel_name for use by 1 37* mrds_dsl_store 1 38* 1 39* 81-06-26 Roger Lackey : Added no_optimize and print_search_order 1 40* switches 1 41* 1 42* 81-07-06 Jim Gray : added identifier for the current selection 1 43* expression, so that relation statistics can be updated relative 1 44* to number of selection expressions seem. Also removed init for 1 45* last_store_rel_name, as this iw now properly done in 1 46* mrds_dsl_init_res. 1 47* 1 48* 81-07-17 Roger Lackey : added pred_ptr and unused_ptrs. 1 49* 1 50* 82-08-19 Mike Kubicar : added store_vector field. This is needed 1 51* for the conversion to the relation manager. 1 52* 1 53* 82-08-23 Davids: added the relmgr_entries and access_costs 1 54* substructures so that the entries and costs can change 1 55* depending on the type of database that is opened. 1 56* 1 57* 82-09-09 Mike Kubicar : added modify_vector field. This is needed 1 58* since modify uses a different vector type (general) than does store. 1 59* 1 60* 82-09-20 Davids: changed names of (store modify)_vector to 1 61* (store modify)_vector_ptr. Also (delete modify)_tuple_by_id to 1 62* (delete modify)_tuples_by_id. added the element cursor_storage_ptr 1 63* which should be inited to null and will be set by mu_cursor_manager_$get 1 64* during the first call. 1 65* 1 66* 82-09-21 Davids: renamed cursor_storage_ptr to cursor_ptrs_storage_ptr 1 67* since it deals with the pointers to the cursors and not the cursors 1 68* themelves and added the element cursor_storage_area_ptr which points 1 69* to the area where the cursors are kept. 1 70* 1 71* 82-09-22 Davids: renamed the transact_ctl_seg to transactions_needed. 1 72* the transact_ctl_seg always had a value of 0 and really didn't mean 1 73* anything. 1 74* 1 75* 82-09-22 Mike Kubicar : added create_relation, create_index and 1 76* destroy_relation_by_opening to relmgr_entries. They are needed 1 77* by mrds_dsl_define_temp_rel. 1 78* 1 79* 82-09-24 Donna Woodka : added put_tuple to relmgr_entries. It 1 80* is needed by mu_store. 1 81* 1 82* 82-11-12 Davids: changed the declaration of the access_costs from fixed 1 83* bin to float bin since the values are not integers. 1 84* 1 85* 83-02-02 Davids: added the dbc_uid element. This will allow mrds to make 1 86* sure that the dbc_ptr still points to the correct segment. Element was 1 87* added to the end of the structure to allow modules that don't use 1 88* the element to continue to reference the dbcb structure without recompiling. 1 89* 1 90* 83-02-25 Davids: added the concurrency_on and rollback_on elements. These 1 91* are needed so that temp rels can be created with the same file attributes 1 92* as the permanent relations. 1 93* 1 94* 83-05-02 Mike Kubicar : Deleted get_next_search_specification_ptr and 1 95* added the resultant_in_pdir bit. 1 96* 1 97* 83-05-18 Davids: reduced the number of reserved bits to 14 (from 15) and 1 98* added the res_already_made element. 1 99* 1 100* 83-05-24 Mike Kubicar : Updated the relation manager calling sequences. 1 101* 1 102* 83-08-03 Mike Kubicar : Added the element_id_list_segment_ptr and removed 1 103* one of the unused pointers. 1 104* 1 105* 83-09-20 Ron Harvey: Added relmgr_entries.get_population. 1 106* 1 107* 84-08-27 John Hergert: Created compiled_se_info_ptr from unused_ptrs(2) 1 108* leaving unused_ptrs(1). 1 109* 1 110* 85-01-15 Thanh Nguyen: Added the work_area_ptr and removed the last 1 111* unused_ptrs (1). 1 112* 1 113* 85-04-12 Thanh Nguyen: Added user_started_transaction and 1 114* non_shared_to_shared flags. Also added se_transaction_id and some more 1 115* spare ptrs, entries and reserved storages for future enhancement, since 1 116* we changed the saved_res_version from rslt0001 to rslt0002. 1 117* 1 118* 85-07-01 Thanh Nguyen: Added scopes_changed flag. This flag is set by 1 119* common routine of mrds_dsl_set_scope, reset by mrds_dsl_optimize and 1 120* mrds_dsl_gen_srch_prog when building of a new search_vars. 1 121**/ 1 122 1 123 1 124 /* this structure is based on the {unique_name}.mrds.dbcb segment 1 125* that constitutes the non-secure portion of the resultant model that is 1 126* created during the opening of a database. it contains variables that 1 127* are used during the runtime access of the database, and an area 1 128* for evaluation of requests. it points to four other 1 129* segments in the resultant model, {unique_name}.mrds.rdbi, the secure 1 130* portion of the resultant(see mdbm_rm_db_info.incl.pl1), 1 131* {unique_name}.mrds.select, an area for selection expression evaluation, 1 132* {unique_name}.mrds.curdat, and {unique_name}.mrds.stadat, two segments 1 133* used in the elimination of duplicate tuples during a retrieve. 1 134* the dbcb area holds the structure in mdbm_scope_info.incl.pl1 1 135* that is used when the database is using the file scope mechanism 1 136* for concurrency control over file readying. the segment overlayed via 1 137* mrds_dbc.incl.pl1 structure is pointed to and also handles concurrency control, 1 138* across database openings. the pointer to this dbcb structure is kept in a table 1 139* which associates database indexes(returned from a call to dsl_$open), with particular 1 140* opening instances of resultant models. (see mu_database_index routine) */ 1 141 1 142 dcl 1 dbcb aligned based (dbcb_ptr), /* DBCB -- non-secure portion */ 1 143 2 data like dbcb_data, 1 144 2 static_area area (sys_info$max_seg_size - fixed (rel (addr (dbcb.static_area)))); 1 145 1 146 dcl dbcb_ptr ptr; 1 147 1 148 declare 1 dbcb_data based, /* info part of dbcb, separated out so that 1 149* like references can avoid getting the area declaration */ 1 150 2 rdbi_ptr ptr, /* pointer to write protected mdbm_util_ info. */ 1 151 2 range_ptr ptr, /* ptr to range structure, or null */ 1 152 2 select_ptr ptr, /* ptr to select list, or null */ 1 153 2 sv_ptr ptr, /* pointer to search variables */ 1 154 2 so_ptr ptr, /* pointer to search operators */ 1 155 2 ti_ptr ptr, /* pointer to tuple info */ 1 156 2 lit_ptr ptr, /* pointer to the literal area, or null */ 1 157 2 current_ptr ptr, /* ptr to select list resulting from -current clause */ 1 158 2 ss_ptr ptr, /* ptr to select sets block if not simple s.e. */ 1 159 2 retr_info_ptr ptr, /* ptr to retrieve info area */ 1 160 2 trel_info_ptr ptr, /* ptr to retrieve info area */ 1 161 2 sti_ptr ptr, /* pointer to store info */ 1 162 2 dbc_ptr ptr, /* pointer to the data base control segment */ 1 163 2 sfi_ptr ptr, /* points to head of scalar function list */ 1 164 2 scope_ptr ptr, /* points to array of scope tuples */ 1 165 2 select_area_ptr ptr, /* ptr to area for current selection expression allocations */ 1 166 2 current_data_ptr ptr, /* ptr to one of 2 segments used by mrds_dsl_retrieve 1 167* for eliminating duplicate tuples. */ 1 168 2 static_data_ptr ptr, /* ptr to one of 2 segments used by mrds_dsl_retrieve 1 169* for eliminating duplicate tuples. */ 1 170 2 store_area_ptr ptr, /* temp storage area for dsl_$store */ 1 171 2 retrieve_area_ptr ptr, /* temp storage for dsl_$retrieve */ 1 172 2 modify_area_ptr ptr, /* temp storage area for dsl_$modify */ 1 173 2 delete_area_ptr ptr, /* temp storage area for dsl_$delete */ 1 174 2 def_temp_rel_area_ptr ptr, /* temp storage area for dsl_$define_temp_rel */ 1 175 2 pred_ptr ptr, /* Pointer to pred_array */ 1 176 2 store_vector_ptr ptr, /* Vector structure used during store operations */ 1 177 2 modify_vector_ptr ptr, /* Used during modifies */ 1 178 2 element_id_list_segment_ptr ptr, /* Points to the segment used to hold element_id_list structures */ 1 179 2 compiled_se_info_ptr ptr, /* points to the segment containing all info on compiled sexs */ 1 180 2 work_area_ptr ptr, /* Work area for encode/decode value allocations in mu_retrieve */ 1 181 2 se_info_ptr ptr, /* Points to se_info struct. Primarily for error reports */ 1 182 2 parser_work_area_ptr ptr, /* work area for parser */ 1 183 2 reserved_ptrs (4) ptr, /* Reserved for future use */ 1 184 2 another_flag bit (1) unal, /* on if predicate was -another */ 1 185 2 current_flag bit (1) unal, /* on if predicate was -current clause */ 1 186 2 dbc_incr bit (1) unal, /* on if dbc open mode has been incremented for this user */ 1 187 2 delete_flag bit (1) unal, /* On if search was called from mrds_dsl_sec_delete */ 1 188 2 dup_retain bit (1) unaligned, /* On if dup tuples allowed for retrieval */ 1 189 2 prev_select bit (1) unal, /* on if prev. select block processed in this s.e. */ 1 190 2 possible_op bit (1) unal, /* on of arith op. allowed */ 1 191 2 sel_clause bit (1) unal, /* on if currently in select clause */ 1 192 2 dsm_sw bit (1) unal, /* on if data base was opened via data submodel */ 1 193 2 val_rtrv bit (1) unal, /* if s.e. valid for retrieve */ 1 194 2 val_mod bit (1) unal, /* for modify */ 1 195 2 val_del bit (1) unal, /* for delete */ 1 196 2 val_dtr bit (1) unal, /* for define temp rel */ 1 197 2 transactions_needed bit (1) unal, /* On => transaction must be started or in progress does 1 198* not imply that the database is of type page_file */ 1 199 2 open_mode bit (3) unal, /* 0=>unknown, 1=>r, 2=>u, 3=>er, 4=>eu, >4=>bad */ 1 200 2 new_select_expr bit (1) unal, /* on => starting a new tid list management period */ 1 201 2 no_optimize bit (1) unal, /* On => no optimize */ 1 202 2 print_search_order bit (1) unal, /* On => print the search order */ 1 203 2 resultant_in_pdir bit (1) unal, /* On => Temp segments are in the process dir */ 1 204 2 res_already_made bit (1) unal, /* On => resultant has been made based on a saved copy */ 1 205 2 user_started_transaction bit (1) unal, /* On => user already started his own transaction. */ 1 206 2 non_shared_to_shared bit (1) unal, /* On => user changed the scope from non shared to shared 1 207* inside a sequence of -another selection expression. */ 1 208 2 scopes_changed bit (1) unal, /* On => scopes had been changed by set_scopes or delete_scopes */ 1 209 2 dont_check_txn_id bit (1) unal, /* On => cpmd needs same selection exp across multiple txns */ 1 210 2 reserved bit (10) unal, /* reserved for future use */ 1 211 2 nseq_sch fixed bin (35), /* no. tuples located via sequential search */ 1 212 2 nind_sch fixed bin (35), /* no. tuples located via index search */ 1 213 2 nhash_sch fixed bin (35), /* no. tuples located via hash search */ 1 214 2 nlk_sch fixed bin (35), /* no tuples located via link search */ 1 215 2 cur_lit_offset fixed bin (35), /* current bit offset in literal string */ 1 216 2 dbi fixed bin (35), /* database index for this opening */ 1 217 2 last_s_e_id_num fixed bin (35), /* identifying number for last selection expression seen */ 1 218 2 se_transaction_id bit (36) aligned, /* transaction id from beginning of select expression */ 1 219 2 last_store_rel_name char (32), /* Name of relation last used for store */ 1 220 2 cursor_ptrs_storage_ptr ptr, /* pointer to space where cursor ptrs are stored */ 1 221 2 cursor_storage_area_ptr ptr, /* pointer to area where the cursors are kept */ 1 222 2 reserved_words (10) fixed bin (35), /* Reserved for future use */ 1 223 2 relmgr_entries, /* relation manager entries */ 1 224 3 open entry (char (*), char (*), bit (36) aligned, fixed bin (35)), 1 225 3 close entry (bit (36) aligned, fixed bin (35)), 1 226 3 create_cursor entry (bit (36) aligned, ptr, ptr, fixed bin (35)), 1 227 3 destroy_cursor entry (ptr, ptr, fixed bin (35)), 1 228 3 set_scope entry (bit (36) aligned, bit (2) aligned, bit (2) aligned, fixed bin (35)), 1 229 3 delete_tuples_by_id entry (ptr, ptr, fixed bin (35), fixed bin (35)), 1 230 3 modify_tuples_by_id entry (ptr, ptr, ptr, fixed bin (35), fixed bin (35)), 1 231 3 get_tuple_by_id entry (ptr, bit (36) aligned, ptr, ptr, ptr, fixed bin (35)), 1 232 3 get_tuples_by_spec entry (ptr, ptr, ptr, ptr, ptr, fixed bin (35)), 1 233 3 get_tuple_id entry (ptr, ptr, ptr, ptr, fixed bin (35)), 1 234 3 put_tuple entry (ptr, ptr, bit (36) aligned, fixed bin (35)), 1 235 3 get_count entry (ptr, ptr, fixed bin (35), fixed bin (35)), 1 236 3 get_duplicate_key_count entry (ptr, bit (36) aligned, fixed bin (17), fixed bin (35), fixed bin (35)), 1 237 3 get_population entry (ptr, fixed bin (35), fixed bin (35)), 1 238 3 create_relation entry (char (*), char (*), ptr, ptr, bit (36) aligned, bit (36) aligned, fixed bin (35)), 1 239 3 create_index entry (bit (36) aligned, ptr, bit (36) aligned, fixed bin (17), bit (36) aligned, fixed bin (35)), 1 240 3 destroy_relation_by_path entry (char (*), char (*), fixed bin (35)), 1 241 3 reserved_entries (5) entry (), 1 242 2 access_costs, /* access costs for permute */ 1 243 3 total_primary_key_cost float bin, 1 244 3 access_cost float bin, 1 245 3 access_overhead float bin, 1 246 3 us_access_cost float bin, 1 247 3 os_access_cost float bin, 1 248 2 dbc_uid bit (36) aligned, /* uid of the segment containing the dbc structure */ 1 249 2 concurrency_on bit (1) unal, /* "1"b implies dmfile concurrency is being used */ 1 250 2 rollback_on bit (1) unal; /* "1"b iomplies before journaling is to be done */ 1 251 1 252 /* END mrds_dbcb.incl.pl1 */ 1 253 1 254 203 204 2 1 /* BEGIN mrds_lit_info.incl.pl1 -- jaw, 2/13/79 */ 2 2 2 3 /* HISTORY: 2 4* 2 5* 81-05-06 Rickie E. Brinegar: The declaration encd_ptr ptr was changed to 2 6* encd_entry entry and encd_proc bit (1) and pad bit (35) were added. This 2 7* was done inoder to permit make use of cu_$generate call and eliminate the 2 8* use of cv_ptr_ to generate entry pointers. 2 9* 2 10* 81-06-01 Jim Gray : removed assn_len and ass_len structure elements, 2 11* as these are not used, with the advent of mu_convert. 2 12* 2 13**/ 2 14 2 15 dcl 1 lit_info aligned based (lip), /* info for make literal call */ 2 16 2 src_ptr ptr, /* to literal source data */ 2 17 2 srcd_ptr ptr, /* to literal source descr. */ 2 18 2 encd_entry entry, /* to encode proc. entry */ 2 19 2 encd_proc bit (1) unal, /* does an encode proc exist? */ 2 20 2 pad bit (35) unal, 2 21 2 encdd_ptr ptr, /* to descr. for input to encode proc */ 2 22 2 litd_ptr ptr, /* to descr. to final liter. val. */ 2 23 2 lit_ptr ptr, /* to final literal value */ 2 24 2 encd_blen fixed bin (35), /* to bit length for encode proc input */ 2 25 2 lit_blen fixed bin (35), /* to bit length for final literal */ 2 26 2 lit_offset fixed bin (35); /* to offset for final literal in lit. pool */ 2 27 2 28 dcl lip ptr; 2 29 2 30 /* END mrds_lit_info.incl.pl1 */ 2 31 205 206 3 1 /* BEGIN mrds_literal_string.incl.pl1 -- jaw 2/5/76 */ 3 2 3 3 dcl literal_string bit (mrds_data_$lit_string_size) based (dbcb.lit_ptr); /* string view of literal area */ 3 4 3 5 dcl literal_array (0:mrds_data_$lit_string_size - 1) bit (1) unal based (dbcb.lit_ptr); /* array view */ 3 6 3 7 /* END mrds_literal_string.incl.pl1 */ 3 8 207 208 4 1 /* BEGIN mdbm_descriptor.incl.pl1 -- jaw 5/31/78 */ 4 2 /* modified by Jim Gray - - Nov. 1979, to change type from fixed bin(5) to 4 3* unsigned fixed bin(6), so new packed decimal data types could be handled. 4 4* also the duplicate mrds_descriptor.incl.pl1 was eliminated. */ 4 5 4 6 dcl 1 descriptor based (desc_ptr), /* map of Multics descriptor */ 4 7 2 version bit (1) unal, /* DBM handles vers. 1 only */ 4 8 2 type unsigned fixed bin (6) unal, /* data type */ 4 9 2 packed bit (1) unal, /* on if data item is packed */ 4 10 2 number_dims bit (4) unal, /* dimensions */ 4 11 2 size, /* size for string data */ 4 12 3 scale bit (12) unal, /* scale for num. data */ 4 13 3 precision bit (12) unal, /* prec. for num. data */ 4 14 2 array_info (num_dims), 4 15 3 lower_bound fixed bin (35), /* lower bound of dimension */ 4 16 3 upper_bound fixed bin (35), /* upper bound of dimension */ 4 17 3 multiplier fixed bin (35); /* element separation */ 4 18 4 19 dcl desc_ptr ptr; 4 20 dcl num_dims fixed bin init (0) ; /* more useful form of number_dims */ 4 21 4 22 /* END mdbm_descriptor.incl.pl1 */ 4 23 4 24 209 210 5 1 /* BEGIN INCLUDE FILE mdbm_seg_area.incl.pl1 - - Jim Gray 2/19/79 */ 5 2 5 3 /* these structures provide a standard for 5 4* 1) using an entire segment as an area, managed by the area manager 5 5* 2) a constant header, that has an offset to the major common structure in the area 5 6* the pointer to that structure is obtained via pointer(model_seg_ptr, model_seg.offset) 5 7* the model_area_ptr is obtained via pointer(model_seg_ptr, size(model_seg)) */ 5 8 5 9 declare 1 model_seg aligned based (model_seg_ptr), /* segment header, not to be changed */ 5 10 2 struct_offset bit (18), /* offset to major structure allocated in area */ 5 11 2 padding (3) fixed bin ; /* to set up four word boundary */ 5 12 5 13 declare model_seg_ptr ptr int automatic init (null ()); 5 14 5 15 5 16 declare model_area area (sys_info$max_seg_size - size (model_seg)) based (model_area_ptr) ; /* segment area */ 5 17 5 18 declare model_area_ptr ptr int automatic init (null ()); 5 19 5 20 dcl size builtin; 5 21 5 22 /* END INCLUDE FILE mdbm_seg_area.incl.pl1 */ 5 23 211 212 6 1 /* BEGIN INCLUDE FILE mrds_select_area.incl.pl1 (Kepner Multics) 05/29/79 1736.1 mst Tue */ 6 2 dcl 1 select_area_struct aligned based (select_area_struct_ptr), /* major structure in segment for current selection expression allocations */ 6 3 2 version fixed bin, 6 4 2 dbcb_ptr ptr; /* ptr ptr to dbcb */ 6 5 6 6 dcl select_area_struct_ptr ptr int automatic init (null ()); 6 7 6 8 dcl select_area area (sys_info$max_seg_size - size(model_seg)) based (select_area_ptr); 6 9 6 10 dcl select_area_ptr ptr int automatic init (null ()); 6 11 /* END INCLUDE FILE mrds_select_area.incl.pl1 */ 6 12 213 214 7 1 /* BEGIN INCLUDE FILERosin.SysAdmin.a T|8fPDT >user_dir_dir>Multics YYMultics >user_dir_dir>Multics Multics Multics Dan Fudge ACTC Tom Oke ACTC 270-5400 J̯bwK dl MMultics J̯bACTC Devlopers ACTC j\@.0ՓX^KxFudge.* Oke.* Hoover.* Schroth.* m Staff @SysProg Staff dT1-ANeal ~8process_overseer_ >user_dir_dir>Multics>ANeal  a!PT 5-none`Tn/a!9{.)T>߷Xɦ @ @Stadie ~8process_overseer_ >user_dir_dir>Multics>Stadie  ROTY9noneTcbʏ,\LN&8$6[j|rT>4Xɦ @ @Clayton ~8process_overseer_ >user_dir_dir>Multics>Clayton  IQz1T@none`T I4HEZ?>9|_T>EXɦ @ @pe init (35), 7 84 cobol_display_ts_dtype init (36), 7 85 cobol_comp_8_uns_dtype init (38), /* digit aligned */ 7 86 cobol_comp_5_ts_dtype init (39), /* byte aligned */ 7 87 cobol_comp_5_uns_dtype init (40), 7 88 cobol_comp_8_ls_dtype init (41), /* digit aligned */ 7 89 real_flt_dec_extended_dtype init (81), /* 9-bit exponent */ 7 90 cplx_flt_dec_extended_dtype init (82), /* 9-bit exponent */ 7 91 real_flt_dec_generic_dtype init (83), /* generic float decimal */ 7 92 cplx_flt_dec_generic_dtype init (84), 7 93 real_flt_bin_generic_dtype init (85), /* generic float binary */ 7 94 cplx_flt_bin_generic_dtype init (86)) fixed bin internal static options (constant); 7 95 7 96 dcl (ft_integer_dtype init (1), 7 97 ft_real_dtype init (3), 7 98 ft_double_dtype init (4), 7 99 ft_complex_dtype init (7), 7 100 ft_complex_double_dtype init (8), 7 101 ft_external_dtype init (16), 7 102 ft_logical_dtype init (19), 7 103 ft_char_dtype init (21), 7 104 ft_hex_real_dtype init (47), 7 105 ft_hex_double_dtype init (48), 7 106 ft_hex_complex_dtype init (49), 7 107 ft_hex_complex_double_dtype init (50) 7 108 ) fixed bin internal static options (constant); 7 109 7 110 dcl (algol68_short_int_dtype init (1), 7 111 algol68_int_dtype init (1), 7 112 algol68_long_int_dtype init (2), 7 113 algol68_real_dtype init (3), 7 114 algol68_long_real_dtype init (4), 7 115 algol68_compl_dtype init (7), 7 116 algol68_long_compl_dtype init (8), 7 117 algol68_bits_dtype init (19), 7 118 algol68_bool_dtype init (19), 7 119 algol68_char_dtype init (21), 7 120 algol68_byte_dtype init (21), 7 121 algol68_struct_struct_char_dtype init (22), 7 122 algol68_struct_struct_bool_dtype init (20) 7 123 ) fixed bin internal static options (constant); 7 124 7 125 dcl (label_constant_runtime_dtype init (24), 7 126 int_entry_runtime_dtype init (25), 7 127 ext_entry_runtime_dtype init (26), 7 128 ext_procedure_runtime_dtype init (27), 7 129 picture_runtime_dtype init (63) 7 130 ) fixed bin internal static options (constant); 7 131 7 132 dcl (pascal_integer_dtype init (1), 7 133 pascal_real_dtype init (4), 7 134 pascal_label_dtype init (24), 7 135 pascal_internal_procedure_dtype init (25), 7 136 pascal_exportable_procedure_dtype init (26), 7 137 pascal_imported_procedure_dtype init (27), 7 138 pascal_typed_pointer_type_dtype init (64), 7 139 pascal_char_dtype init (65), 7 140 pascal_boolean_dtype init (66), 7 141 pascal_record_file_type_dtype init (67), 7 142 pascal_record_type_dtype init (68), 7 143 pascal_set_dtype init (69), 7 144 pascal_enumerated_type_dtype init (70), 7 145 pascal_enumerated_type_element_dtype init (71), 7 146 pascal_enumerated_type_instance_dtype init (72), 7 147 pascal_user_defined_type_dtype init (73), 7 148 pascal_user_defined_type_instance_dtype init (74), 7 149 pascal_text_file_dtype init (75), 7 150 pascal_procedure_type_dtype init (76), 7 151 pascal_variable_formal_parameter_dtype init (77), 7 152 pascal_value_formal_parameter_dtype init (78), 7 153 pascal_entry_formal_parameter_dtype init (79), 7 154 pascal_parameter_procedure_dtype init (80), 7 155 pascal_string_type_dtype init (87)) fixed bin int static options (constant); 7 156 7 157 7 158 /* END INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 215 216 217 dcl (code, /* Output: status code */ 218 icode init (0)) fixed bin (35); /* internal status code */ 219 220 dcl FB35_DESC bit (36) aligned static options (constant) 221 init ("100000100000000000000000000000100011"b); /* descriptor for decode return code */ 222 223 dcl db_descriptor bit (36) aligned; /* temp for db descriptor */ 224 dcl user_descriptor bit (36) aligned; /* temp for encode descriptor */ 225 226 dcl stringsize_occurred bit (1); /* True if a strinsize condition occurred 227* during literal conversion */ 228 dcl eb_ptr ptr; /* to bit str. containing converted val, ready for encoding */ 229 230 dcl bit36 bit (36) based; /* template */ 231 dcl alloc_sw bit (1); 232 dcl encd_bs bit (lit_info.encd_blen) based (eb_ptr); /* conv. val. ready for encoding */ 233 dcl wkspc (33) fixed bin (71); /* work space to save alloc. */ 234 dcl lit_bit_str bit (lit_info.lit_blen) based (lit_info.lit_ptr); /* final literal */ 235 236 dcl 1 varying unaligned based, /* template of varying string */ 237 2 length fixed bin (35), /* length word */ 238 2 string char (0); /* string begins here */ 239 240 dcl 1 encode_list aligned, /* arg list for encode proc. */ 241 2 nargs fixed bin (17) unal init (6), 242 2 code fixed bin (17) unal init (4), 243 2 ndescs fixed bin (17) unal init (6), 244 2 pad fixed bin (17) unal init (0), 245 2 uv_ptr ptr, 246 2 dbv_ptr ptr, 247 2 code_ptr ptr, 248 2 ud_ptr ptr, 249 2 dbd_ptr ptr, 250 2 coded_ptr ptr; 251 252 declare descriptor_overlay bit (36) unal based; /* overlay for descriptor */ 253 declare mu_data_length$get_data_bit_length entry (bit (36)) returns (fixed bin (35)); /* storage bit length of data */ 254 declare mu_data_align$align_data_item entry (ptr, fixed bin (35)) returns (fixed bin); /* alignment needed for data, 255* given last used offset */ 256 declare mu_valid_data_type$valid_scalar_data_type entry (bit (36)) returns (bit (1) aligned); /* decides if supported data type */ 257 258 dcl (mrds_data_$lit_string_size, 259 mrds_error_$bad_arith_const, 260 mrds_error_$inv_literal_type, 261 mrds_error_$lit_string_ovfl, 262 sys_info$max_seg_size) ext fixed bin (35); 263 264 dcl (conversion, 265 stringsize, 266 underflow, 267 overflow) condition; 268 269 dcl (null, 270 addr, 271 fixed, 272 rel) builtin; 273 274 dcl cu_$generate_call entry (entry, ptr); 275 dcl mu_convert$convert_data entry (ptr, ptr, ptr, ptr, fixed bin (35)); 276 277 end mrds_dsl_make_literal; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/24/88 1359.4 mrds_dsl_make_literal.pl1 >special_ldd>install>MR12.2-1184>mrds_dsl_make_literal.pl1 203 1 08/04/88 2043.3 mrds_dbcb.incl.pl1 >ldd>include>mrds_dbcb.incl.pl1 205 2 10/14/83 1609.1 mrds_lit_info.incl.pl1 >ldd>include>mrds_lit_info.incl.pl1 207 3 10/14/83 1608.5 mrds_literal_string.incl.pl1 >ldd>include>mrds_literal_string.incl.pl1 209 4 10/14/83 1608.6 mdbm_descriptor.incl.pl1 >ldd>include>mdbm_descriptor.incl.pl1 211 5 10/14/83 1608.6 mdbm_seg_area.incl.pl1 >ldd>include>mdbm_seg_area.incl.pl1 213 6 10/14/83 1608.6 mrds_select_area.incl.pl1 >ldd>include>mrds_select_area.incl.pl1 215 7 10/24/88 1336.9 std_descriptor_types.incl.pl1 >special_ldd>install>MR12.2-1184>std_descriptor_types.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA Hinatsu ~8process_overseer_ >user_dir_dir>Multics>Hinatsu  &LPT&[ὬXɦ @ @Hoover ~8process_overseer_ >user_dir_dir>Multics>Hoover  PT \none`T _fT>[Xɦ @ @Huen ~8process_overseer_ >user_dir_dir>Multics>Huen  PTnoneTGDT }&!8T>9Xɦ @ @Hussein ~8process_overseer_ >user_dir_dir>Multics>Hussein  jvPTDޯnone`TMjv#N+F5ayRaT>Xɦ @ @l dcl 217 set ref 110* 115 115* 133 136 136* 157* 163 163* 217* lip parameter pointer dcl 2-28 ref 18 63 81 81 83 86 89 90 90 94 101 102 102 103 103 104 105 105 109 110 110 110 119 121 123 123 126 128 128 128 131 135 143 143 157 157 157 157 165 165 167 169 172 173 173 174 174 175 175 175 175 178 178 178 178 185 lit_bit_str based bit packed unaligned dcl 234 set ref 175* 175 178* 178 lit_blen 21 based fixed bin(35,0) level 2 dcl 2-15 set ref 81* 86 165* 169 175 175 178 178 185 lit_info based structure level 1 dcl 2-15 lit_offset 22 based fixed bin(35,0) level 2 dcl 2-15 set ref 89* 90 172* 173 lit_ptr 14 based pointer level 3 in structure "dbcb" dcl 1-142 in procedure "mrds_dsl_make_literal" set ref 73 74* 76 90 173 lit_ptr 16 based pointer level 2 in structure "lit_info" dcl 2-15 in procedure "mrds_dsl_make_literal" set ref 90* 128 131 157* 173* 175 178 litd_ptr 14 based pointer level 2 dcl 2-15 set ref 81 83* 126 128 128 143 157* 174* literal_array based bit(1) array packed unaligned dcl 3-5 set ref 90 173 literal_string based bit packed unaligned dcl 3-3 set ref 74 76* model_area_ptr 000104 automatic pointer initial dcl 5-18 set ref 5-18* model_seg_ptr 000102 automatic pointer initial dcl 5-13 set ref 5-13* mrds_data_$lit_string_size 000016 external static fixed bin(35,0) dcl 258 ref 74 74 76 86 169 mrds_error_$bad_arith_const 000020 external static fixed bin(35,0) dcl 258 set ref 97* 98* 99* mrds_error_$inv_literal_type 000022 external static fixed bin(35,0) dcl 258 set ref 94* mrds_error_$lit_string_ovfl 000024 external static fixed bin(35,0) dcl 258 set ref 86* 169* mu_convert$convert_data 000030 constant entry external dcl 275 ref 110 157 mu_data_align$align_data_item 000012 constant entry external dcl 254 ref 83 167 mu_data_length$get_data_bit_length 000010 constant entry external dcl 253 ref 81 103 165 mu_valid_data_type$valid_scalar_data_type 000014 constant entry external dcl 256 ref 94 nargs 000224 automatic fixed bin(17,0) initial level 2 packed packed unaligned dcl 240 set ref 240* ndescs 1 000224 automatic fixed bin(17,0) initial level 2 packed packed unaligned dcl 240 set ref 240* null builtin function dcl 269 ref 73 5-13 5-18 6-6 6-10 num_dims 000100 automatic fixed bin(17,0) initial dcl 4-20 set ref 69* 4-20* overflow 000264 stack reference condition dcl 264 ref 98 pad 1(18) 000224 automatic fixed bin(17,0) initial level 2 packed packed unaligned dcl 240 set ref 240* select_area based area dcl 6-8 ref 74 105 select_area_ptr 36 based pointer level 3 in structure "dbcb" dcl 1-142 in procedure "mrds_dsl_make_literal" ref 72 select_area_ptr 000110 automatic pointer initial dcl 6-10 in procedure "mrds_dsl_make_literal" set ref 72* 74 105 6-10* select_area_struct_ptr 000106 automatic pointer initial dcl 6-6 set ref 6-6* src_ptr based pointer level 2 dcl 2-15 set ref 110* 119 157* 175 178 srcd_ptr 2 based pointer level 2 dcl 2-15 set ref 94 102 110* 143 157* 165 167* 174 string 1 based char level 2 packed packed unaligned dcl 236 set ref 123 128 stringsize 000250 stack reference condition dcl 264 ref 155 162 stringsize_occurred 000115 automatic bit(1) packed unaligned dcl 226 set ref 71* 155* 164 type 0(01) based fixed bin(6,0) level 2 packed packed unsigned unaligned dcl 4-6 ref 123 123 128 128 ud_ptr 10 000224 automatic pointer level 2 dcl 240 set ref 122* underflow 000256 stack reference condition dcl 264 ref 99 user_descriptor 000114 automatic bit(36) dcl 224 set ref 121* 122 uv_ptr 2 000224 automatic pointer level 2 dcl 240 set ref 116* 119* 123* 123 varying based structure level 1 packed packed unaligned dcl 236 varying_bit_dtype constant fixed bin(17,0) initial dcl 7-25 ref 123 128 varying_char_dtype constant fixed bin(17,0) initial dcl 7-25 ref 123 128 wkspc 000122 automatic fixed bin(71,0) array dcl 233 set ref 108 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. algol68_array_descriptor_dtype internal static fixed bin(17,0) initial dcl 7-25 algol68_bits_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_bool_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_byte_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_char_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_compl_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_format_dtype internal static fixed bin(17,0) initial dcl 7-25 algol68_int_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_long_compl_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_long_int_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_long_real_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_real_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_short_int_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_straight_dtype internal static fixed bin(17,0) initial dcl 7-25 algol68_struct_struct_bool_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_struct_struct_char_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_union_dtype internal static fixed bin(17,0) initial dcl 7-25 area_dtype internal static fixed bin(17,0) initial dcl 7-25 bit_dtype internal static fixed bin(17,0) initial dcl 7-25 c_enum_const_dtype internal static fixed bin(17,0) initial dcl 7-25 c_enum_dtype internal static fixed bin(17,0) initial dcl 7-25 c_typeref_dtype internal static fixed bin(17,0) initial dcl 7-25 c_union_dtype internal static fixed bin(17,0) initial dcl 7-25 char_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_char_string_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_comp_5_ts_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_comp_5_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_comp_6_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_comp_7_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_comp_8_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_comp_8_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_display_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_display_ls_overp_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_display_ts_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_display_ts_overp_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_display_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_structure_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 7-25 desc_ptr automatic pointer dcl 4-19 entry_dtype internal static fixed bin(17,0) initial dcl 7-25 eNMills ~8process_overseer_ >user_dir_dir>Multics>NMills  PTc`noneTT^T>աXɦ @ @Oke C~8process_overseer_ >user_dir_dir>Multics>Oke  ݦPTl^noneTpݦ>J틣tjޓ. lT>UwXɦ @ @PANakaska ~8process_overseer_ >user_dir_dir>Multics>PANakaska  #PT{dXnone`T{ #nfT>H$Xɦ @ @DRobinson ~8process_overseer_ >user_dir_dir>Multics>DRobinson  PSb1j6none`SdDT>gXɦ @ @ed_type_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_user_defined_type_instance_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_value_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_variable_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 7-132 picture_runtime_dtype internal static fixed bin(17,0) initial dcl 7-125 pointer_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_bin_1_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_bin_2_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_4bit_bytealigned_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_4bit_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_4bit_ts_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_4bit_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_9bit_ls_overp_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_9bit_ts_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_9bit_ts_overp_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_9bit_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_dec_4bit_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 7-25 rel builtin function dcl 269 select_area_struct based structure level 1 dcl 6-2 size builtin function dcl 5-20 structure_dtype internal static fixed bin(17,0) initial dcl 7-25 sys_info$max_seg_size external static fixed bin(35,0) dcl 258 NAMES DECLARED BY EXPLICIT CONTEXT. alloc 000061 constant entry external dcl 63 common 000071 constant label dcl 69 set ref 61 error 001026 constant entry internal dcl 192 ref 86 94 97 98 99 115 136 163 169 exit 001024 constant label dcl 189 ref 199 mrds_dsl_make_literal 000047 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 1270 1322 1043 1300 Length 1676 1043 32 337 225 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME mrds_dsl_make_literal 216 external procedure is an external procedure. on unit on line 97 70 on unit on unit on line 98 70 on unit on unit on line 99 70 on unit on unit on line 155 64 on unit error 64 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME mrds_dsl_make_literal 000100 num_dims mrds_dsl_make_literal 000102 model_seg_ptr mrds_dsl_make_literal 000104 model_area_ptr mrds_dsl_make_literal 000106 select_area_struct_ptr mrds_dsl_make_literal 000110 select_area_ptr mrds_dsl_make_literal 000112 icode mrds_dsl_make_literal 000113 db_descriptor mrds_dsl_make_literal 000114 user_descriptor mrds_dsl_make_literal 000115 stringsize_occurred mrds_dsl_make_literal 000116 eb_ptr mrds_dsl_make_literal 000120 alloc_sw mrds_dsl_make_literal 000122 wkspc mrds_dsl_make_literal 000224 encode_list mrds_dsl_make_literal THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out call_int_this call_int_other return_mac tra_ext_1 enable_op ext_entry int_entry op_alloc_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cu_$generate_call mu_convert$convert_data mu_data_align$align_data_item mu_data_length$get_data_bit_length mu_valid_data_type$valid_scalar_data_type THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. mrds_data_$lit_string_size mrds_error_$bad_arith_const mrds_error_$inv_literal_type mrds_error_$lit_string_ovfl LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 4 20 000022 5 13 000023 5 18 000025 6 6 000026 6 10 000027 217 000030 240 000031 18 000043 60 000055 61 000056 63 000057 67 000067 69 000071 71 000072 72 000073 73 000100 74 000104 76 000117 77 000127 81 000130 83 000143 86 000174 89 000220 90 000227 92 000232 94 000234 97 000261 98 000305 99 000331 101 000355 102 000363 103 000371 104 000402 105 000410 107 000422 108 000423 109 000425 110 000435 115 000454 116 000464 117 000466 119 000467 121 000471 122 000500 123 000502 126 000517 127 000525 128 000527 131 000545 133 000547 134 000551 135 000553 136 000570 139 000600 143 000601 155 000607 157 000627 162 000651 163 000652 164 000662 165 000664 167 000700 169 000731 172 000755 173 000764 174 000767 175 000773 177 001003 178 001004 185 001012 187 001023 189 001024 192 001025 198 001033 199 001040 ----------------------------------------------------------- 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