> &ETPatr.mail EG`H $&6Pax`?I.P*@6&z*@.*t&HoFFPa>admin HdlPa~2r`?IlP*dz*>&/ET||Patsh.tr /E[G`H $PaA`?IP*/z*@/*/t&%ETPa)apply.t %EG2 $Pa`?IP*@%z*@%*%.&3ʗET Paforum.sfer 3ʗEG$&Pa`?IP*@3ʗ&z*@3ʗ*3ʗl&3˫ET 66Pa.sAneal.mail 3˫EAG`H$TdPa'o`?I\P*@3˫dTz*@3˫\*3˫.&ؐET#ttPal|calendar.10 ؐEG $Pa`?IP*@ؐz*@ؐ*ؐl&RszHoPasei RszHe ;Pa~2r`?IP*@Rsz*@Rsz>*@Rszz*@Rsz.&UET.PaMig.mail UE|G`H>$&PaB]`?IP*@U&z*@U*Ul&%-ET566Pa.Qmessage.ec %-EG $TdPa>:`?I\P*@%-dTz*@%-\*%-.&%-EttPal"Huen.sv.mbx %-FG IPa`?I*@%-*@%-l&l<7E;LPasr.sv.mbx l<7FF7G`HIPa`?Istatus_reports.sv.mbx l<7*@l<7*@l<7&l<]EPasu.now l<]ENGLD$ Pa`?IP*@l<] z*@l<]R&l output_buffer_length 173 then if work_area_ptr = null 174 then 175 do; 176 p_code = dm_error_$short_buffer; 177 return; 178 end; 179 else 180 do; 181 old_output_buffer_length = output_buffer_length; 182 old_output_buffer_ptr = output_buffer_ptr; 183 184 output_buffer_length, p_output_buffer_length = 185 min (2 * p_output_string_length, MAXIMUM_BUFFER_LENGTH_IN_BITS); 186 alloc output_buffer in (work_area); 187 p_output_string_ptr = output_buffer_ptr; 188 end; 189 190 if p_output_string_ptr = p_input_string_ptr 191 then 192 MODIFY_FIXED_ELEMENT_IN_PLACE: 193 do; 194 195 do dim_idx = 1 to hbound (general_typed_vector.dimension, 1); 196 197 substr (p_output_string_ptr -> based_bit_string, 198 field_table.field (general_typed_vector.dimension (dim_idx).identifier).location, 199 field_table.field (general_typed_vector.dimension (dim_idx).identifier).length_in_bits) = 200 substr (general_typed_vector.dimension (dim_idx).value_ptr -> based_bit_string, 1, 201 field_table.field (general_typed_vector.dimension (dim_idx).identifier).length_in_bits); 202 203 end; 204 205 p_output_string_length = p_input_string_length; 206 207 end MODIFY_FIXED_ELEMENT_IN_PLACE; 208 209 else 210 MERGE_OLD_STRING_AND_VECTOR_VALUES: 211 do; 212 FIELD_LOOP: 213 do field_idx = 1 to hbound (field_table.field, 1); 214 215 do dim_idx = 1 to hbound (general_typed_vector.dimension, 1) 216 while (general_typed_vector.dimension (dim_idx).identifier ^= field_idx); 217 end; 218 if dim_idx <= hbound (general_typed_vector.dimension, 1) 219 then 220 CV_NEW_FIELD: 221 do; 222 223 if field_table.varying_field_map (field_idx).varying_field_index > 0 224 then 225 VARYING_FIELD: 226 do; 227 228 substr (p_output_string_ptr -> based_bit_string, field_table.field (field_idx).location, 229 field_table.field (field_idx).length_in_bits) = 230 substr (general_typed_vector.dimension (dim_idx).value_ptr -> based_bit_string, 231 BITS_PER_WORD - field_table.field (field_idx).length_in_bits + 1, 232 field_table.field (field_idx).length_in_bits); 233 234 if field_table.field (field_idx).length_is_in_characters 235 then 236 do; 237 current_length_in_bits = 238 general_typed_vector.dimension (dim_idx).value_ptr -> based_real_fix_bin_1u 239 * BITS_PER_BYTE; 240 241 old_length_in_bits = 242 bin ( 243 substr (p_input_string_ptr -> based_bit_string, 244 field_table.field (field_idx).location, 245 field_table.field (field_idx).length_in_bits)) * BITS_PER_BYTE; 246 end; 247 else 248 do; 249 250 current_length_in_bits = 251 general_typed_vector.dimension (dim_idx).value_ptr -> based_real_fix_bin_1u; 252 old_length_in_bits = 253 bin ( 254 substr (p_input_string_ptr -> based_bit_string, 255 field_table.field (field_idx).location, 256 field_table.field (field_idx).length_in_bits)); 257 end; 258 259 if current_varying_field_bit_offset + current_length_in_bits - 1 > output_buffer_length 260 then if work_area_ptr = null 261 then 262 do; 263 p_code = dm_error_$short_buffer; 264 return; 265 end; 266 else 267 do; 268 old_output_buffer_length = output_buffer_length; 269 old_output_buffer_ptr = output_buffer_ptr; 270 271 output_buffer_length, p_output_buffer_length = 2 * output_buffer_length; 272 alloc output_buffer in (work_area); 273 p_output_string_ptr = output_buffer_ptr; 274 275 substr (output_buffer, 1, current_varying_field_bit_offset) = 276 substr (old_output_buffer_ptr -> output_buffer, 1, 277 current_varying_field_bit_offset); 278 279 if old_output_buffer_ptr ^= p_string_buffer_ptr & old_output_buffer_ptr ^= null 280 then 281 do; 282 output_buffer_length = old_output_buffer_length; 283 free old_output_buffer_ptr -> output_buffer in (work_area); 284 output_buffer_length = p_output_buffer_length; 285 end; 286 287 end; 288 289 substr (p_output_string_ptr -> based_bit_string, current_varying_field_bit_offset, 290 current_length_in_bits) = 291 substr (general_typed_vector.dimension (dim_idx).value_ptr -> based_bit_string, 292 BITS_PER_WORD + 1, current_length_in_bits); 293 294 current_varying_field_bit_offset = current_varying_field_bit_offset + current_length_in_bits; 295 old_current_varying_field_bit_offset = 296 old_current_varying_field_bit_offset + old_length_in_bits; 297 298 end VARYING_FIELD; 299 else 300 do; 301 substr (p_output_string_ptr -> based_bit_string, field_table.field (field_idx).location, 302 field_table.field (field_idx).length_in_bits) = 303 substr (general_typed_vector.dimension (dim_idx).value_ptr -> based_bit_string, 1, 304 field_table.field (field_idx).length_in_bits); 305 end; 306 end CV_NEW_FIELD; 307 else 308 COPY_OLD_FIELD: 309 do; 310 311 substr (p_output_string_ptr -> based_bit_string, field_table.field (field_idx).location, 312 field_table.field (field_idx).length_in_bits) = 313 substr (p_input_string_ptr -> based_bit_string, field_table.field (field_idx).location, 314 field_table.field (field_idx).length_in_bits); 315 316 if field_table.varying_field_map (field_idx).varying_field_index > 0 317 then 318 do; 319 320 unspec (current_length_in_bits) = 321 copy ("0"b, BITS_PER_WORD - field_table.field (field_idx).length_in_bits) 322 || 323 substr (p_output_string_ptr -> based_bit_string, field_table.field (field_idx).location, 324 field_table.field (field_idx).length_in_bits); 325 326 if field_table.field (field_idx).length_is_in_characters 327 then current_length_in_bits = current_length_in_bits * BITS_PER_BYTE; 328 329 if current_length_in_bits + current_varying_field_bit_offset - 1 > p_string_buffer_length 330 then 331 do; 332 p_code = dm_error_$short_buffer; 333 return; 334 end; 335 336 substr (p_output_string_ptr -> based_bit_string, current_varying_field_bit_offset, 337 current_length_in_bits) = 338 substr (p_input_string_ptr -> based_bit_string, old_current_varying_field_bit_offset, 339 current_length_in_bits); 340 341 current_varying_field_bit_offset = current_varying_field_bit_offset + current_length_in_bits; 342 old_current_varying_field_bit_offset = 343 old_current_varying_field_bit_offset + current_length_in_bits; 344 345 end; 346 end COPY_OLD_FIELD; 347 end FIELD_LOOP; 348 349 p_output_string_length = current_varying_field_bit_offset - 1; 350 351 end MERGE_OLD_STRING_AND_VECTOR_VALUES; 352 353 if p_output_buffer_length > 0 354 & (p_output_string_ptr = p_string_buffer_ptr | p_output_string_ptr = p_input_string_ptr) 355 then call sub_err_ (dm_error_$programming_error, myname, ACTION_CANT_RESTART, null, 0, 356 "^/There is an inconsistency in the return values of this module with respect 357 to the output string buffer."); 358 359 return; 360 361 ELEMENT_IS_FIXED: 362 proc () returns (bit (1) aligned); 363 364 dcl eif_dim_idx fixed bin; 365 366 do eif_dim_idx = 1 to hbound (general_typed_vector.dimension, 1) 367 while (field_table.varying_field_map (general_typed_vector.dimension (eif_dim_idx).identifier) 368 .varying_field_index <= 0); 369 end; 370 371 if eif_dim_idx > hbound (general_typed_vector.dimension, 1) 372 then return ("1"b); 373 else return ("0"b); 374 375 end ELEMENT_IS_FIXED; 376 377 CHECK_VERSION_CHAR: 378 proc (p_expected_version, p_received_version, p_structure_name); 379 dcl (p_expected_version, p_received_version) 380 char (8) aligned parameter; 381 dcl p_structure_name char (*) parameter; 382 383 if p_expected_version ^= p_received_version 384 then call sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, 385 "^/Expected version ^a of the ^a structure. 386 Received version ^a, instead.", p_expected_version, p_structure_name, p_received_version); 387 end CHECK_VERSION_CHAR; 388 1 1 /* BEGIN INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 1 2 1 3 1 4 /****^ HISTORY COMMENTS: 1 5* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 1 6* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 1 7* Added pascal_string_type_dtype descriptor type. Its number is 87. 1 8* Objects of this type are PASCAL string types. 1 9* 2) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 1 10* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 1 11* Added the new C types. 1 12* END HISTORY COMMENTS */ 1 13 1 14 /* This include file defines mnemonic names for the Multics 1 15* standard descriptor types, using both pl1 and cobol terminology. 1 16* PG 780613 1 17* JRD 790530 1 18* JRD 791016 1 19* MBW 810731 1 20* TGO 830614 Add hex types. 1 21* Modified June 83 JMAthane to add PASCAL data types 1 22* TGO 840120 Add float dec extended and generic, float binary generic 1 23**/ 1 24 1 25 dcl (real_fix_bin_1_dtype init (1), 1 26 real_fix_bin_2_dtype init (2), 1 27 real_flt_bin_1_dtype init (3), 1 28 real_flt_bin_2_dtype init (4), 1 29 cplx_fix_bin_1_dtype init (5), 1 30 cplx_fix_bin_2_dtype init (6), 1 31 cplx_flt_biFMCTL_1 #DRobinson Multics zbPFFDRobinson Multics l^@ Q192Rosin Operator lTUQgGray Multics 3Qȋa`p^Durand Multics la>Q$ 2B0ANeal Multics G9Q9FifN`Lee Multics DQ"֙Gx|Kittlitz Multics @R)_Vu Multics l\-Qztx Maryniuk Multics lbsPQV9F\ J Miko Multics lZQ4&F.  MQuintin CDC XVQ+3bZt  Zimmerman Multics lUlQuT  Schroth SysMaint l8iYQ{}9I@  RWaters Multics K$QJ nvdHoover Multics l\@QM,,H6Hussein Multics l\^QyhHZMallmes Multics lR@3Q{xvElhard Multics @QdItani Multics uQ2~Luk Multics p@QXbstant); 1 109 1 110 dcl (algol68_short_int_dtype init (1), 1 111 algol68_int_dtype init (1), 1 112 algol68_long_int_dtype init (2), 1 113 algol68_real_dtype init (3), 1 114 algol68_long_real_dtype init (4), 1 115 algol68_compl_dtype init (7), 1 116 algol68_long_compl_dtype init (8), 1 117 algol68_bits_dtype init (19), 1 118 algol68_bool_dtype init (19), 1 119 algol68_char_dtype init (21), 1 120 algol68_byte_dtype init (21), 1 121 algol68_struct_struct_char_dtype init (22), 1 122 algol68_struct_struct_bool_dtype init (20) 1 123 ) fixed bin internal static options (constant); 1 124 1 125 dcl (label_constant_runtime_dtype init (24), 1 126 int_entry_runtime_dtype init (25), 1 127 ext_entry_runtime_dtype init (26), 1 128 ext_procedure_runtime_dtype init (27), 1 129 picture_runtime_dtype init (63) 1 130 ) fixed bin internal static options (constant); 1 131 1 132 dcl (pascal_integer_dtype init (1), 1 133 pascal_real_dtype init (4), 1 134 pascal_label_dtype init (24), 1 135 pascal_internal_procedure_dtype init (25), 1 136 pascal_exportable_procedure_dtype init (26), 1 137 pascal_imported_procedure_dtype init (27), 1 138 pascal_typed_pointer_type_dtype init (64), 1 139 pascal_char_dtype init (65), 1 140 pascal_boolean_dtype init (66), 1 141 pascal_record_file_type_dtype init (67), 1 142 pascal_record_type_dtype init (68), 1 143 pascal_set_dtype init (69), 1 144 pascal_enumerated_type_dtype init (70), 1 145 pascal_enumerated_type_element_dtype init (71), 1 146 pascal_enumerated_type_instance_dtype init (72), 1 147 pascal_user_defined_type_dtype init (73), 1 148 pascal_user_defined_type_instance_dtype init (74), 1 149 pascal_text_file_dtype init (75), 1 150 pascal_procedure_type_dtype init (76), 1 151 pascal_variable_formal_parameter_dtype init (77), 1 152 pascal_value_formal_parameter_dtype init (78), 1 153 pascal_entry_formal_parameter_dtype init (79), 1 154 pascal_parameter_procedure_dtype init (80), 1 155 pascal_string_type_dtype init (87)) fixed bin int static options (constant); 1 156 1 157 1 158 /* END INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 389 390 2 1 /* *********************************************************** 2 2* * * 2 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 2 4* * * 2 5* *********************************************************** */ 2 6 /* BEGIN INCLUDE FILE - vu_typed_vector.incl.pl1 */ 2 7 2 8 /* Written by Lindsey Spratt, 04/02/82. 2 9*Modified: 2 10*09/01/82 by Lindsey Spratt: Changed value_ptr in simple_typed_vector to be 2 11* unaligned. Changed the type number of the simple_typed_vector to 2 12* "3" from "1". The OLD_SIMPLE_TYPED_VECTOR_TYPE is now an invalid 2 13* type. 2 14**/ 2 15 2 16 /* format: style2,ind3 */ 2 17 dcl 1 simple_typed_vector based (simple_typed_vector_ptr), 2 18 2 type fixed bin (17) unal, 2 19 2 number_of_dimensions 2 20 fixed bin (17) unal, 2 21 2 dimension (stv_number_of_dimensions refer (simple_typed_vector.number_of_dimensions)), 2 22 3 value_ptr ptr unaligned; 2 23 2 24 dcl 1 general_typed_vector based (general_typed_vector_ptr), 2 25 2 type fixed bin (17) unal, 2 26 2 number_of_dimensions 2 27 fixed bin (17) unal, 2 28 2 dimension (gtv_number_of_dimensions refer (general_typed_vector.number_of_dimensions)), 2 29 3 identifier fixed bin (17) unal, 2 30 3 pad bit (18) unal, 2 31 3 value_ptr ptr unal; 2 32 2 33 dcl simple_typed_vector_ptr 2 34 ptr; 2 35 dcl stv_number_of_dimensions 2 36 fixed bin (17); 2 37 2 38 dcl general_typed_vector_ptr 2 39 ptr; 2 40 dcl gtv_number_of_dimensions 2 41 fixed bin (17); 2 42 2 43 dcl ( 2 44 OLD_SIMPLE_TYPED_VECTOR_TYPE 2 45 init (1), /* value_ptr was aligned. */ 2 46 GENERAL_TYPED_VECTOR_TYPE 2 47 init (2), 2 48 SIMPLE_TYPED_VECTOR_TYPE 2 49 init (3) 2 50 ) fixed bin (17) internal static options (constant); 2 51 2 52 /* END INCLUDE FILE - vu_typed_vector.incl.pl1 */ 391 392 3 1 /* ********** BEGIN INCLUDE FILE dm_field_table.incl.pl1 ********** */ 3 2 3 3 /* DESCRIPTION: 3 4* 3 5* The field_table describes the layout of a set of fields in a 3 6* formatted data string. Such a string is the stored representation of a 3 7* record or a key. Fields are placed side-by-side in the string in the 3 8* order they appear in the field_table.field array. The string is divided 3 9* into the fixed portion and the varying portion. In the fixed portion 3 10* appear fixed-length fields and fixed-size length-fields for 3 11* varying-length fields. In the varying portion appear varying length 3 12* fields. The length-field for a varying-length field contains the length 3 13* of the field values either in bits or in characters, depending on the 3 14* data type of the field. 3 15**/ 3 16 3 17 /* HISTORY: 3 18*Written by Matthew Pierret, 04/01/82. 3 19*Modified: 3 20*04/20/82 by Matthew Pierret: Added length_is_in_characters, meaning, if on, 3 21* that if the field is varying, its length is expressed in 3 22* bytes/characters. 3 23*03/22/83 by Lindsey Spratt: Changed lofvf to have a precision of 35 instead 3 24* of 17, changed version to 2, changed version field to char(8) from 3 25* fixed bin (17). 3 26*05/01/84 by Matthew Pierret: Changed version to 3. Removed field.name and 3 27* put field names in one string (field_names) at the end of the 3 28* structure. Added field.location_of_name and field.length_of_name 3 29* for locating the field name in field_names. Aligned all "fixed bin" 3 30* structure elements. Changed maximum_field_name_length to 3 31* length_of_field_names. 3 32**/ 3 33 3 34 /* format: style2 */ 3 35 3 36 dcl 1 field_table aligned based (field_table_ptr), 3 37 2 version char (8) aligned init (FIELD_TABLE_VERSION_3), 3 38 2 number_of_fields fixed bin (17), 3 39 2 length_of_field_names 3 40 fixed bin (17), /* length of field_names in characters */ 3 41 2 location_of_first_varying_field 3 42 fixed bin (35), /* location of first bit in the varying portion of the formatted string */ 3 43 2 field (ft_number_of_fields refer (field_table.number_of_fields)), 3 44 3 flags aligned, 3 45 4 descriptor_is_varying 3 46 bit (1) unal, /* if on, the descriptor is not limited to the standard 36 bits */ 3 47 /* and is stored in a stand-alone fashion, with field.descriptor */ 3 48 /* containing the id of the element in which the descriptor is stored. */ 3 49 4 length_is_in_characters 3 50 bit (1) unal, /* if field is varying, the length field describes its length */ 3 51 /* in characters instead of in bits */ 3 52 4 must_be_zero bit (34) unal, 3 53 3 descriptor bit (36) aligned, 3 54 3 location fixed bin (35), /* location of first bit of field in formatted string */ 3 55 3 length_in_bits fixed bin (35), /* length of field in bits */ 3 56 3 location_of_name fixed bin (17), /* location of first character of field name in field_names */ 3 57 3 length_of_name fixed bin (17), /* length of name in characters */ 3 58 2 varying_field_map (ft_number_of_fields refer (field_table.number_of_fields)), 3 59 3 field_id fixed bin (17), /* field_id of Nth varying field */ 3 60 3 varying_field_index 3 61 fixed bin (17), /* ordinality among varying fields of field N */ 3 62 2 field_names char (ft_length_of_field_names refer (field_table.length_of_field_names)); 3 63 3 64 3 65 dcl field_table_ptr ptr; 3 66 dcl ft_length_of_field_names 3 67 fixed bin; 3 68 dcl ft_number_of_fields fixed bin; 3 69 dcl FIELD_TABLE_VERSION_3 char (8) aligned init ("FldTbl 3") internal static options (constant); 3 70 3 71 dcl field_name char (field_name_length) based (field_name_ptr); 3 72 3 73 dcl field_name_length fixed bin; 3 74 dcl field_name_ptr ptr; 3 75 3 76 /* END INCLUDE FILE dm_field_table.incl.pl1 */ 393 394 4 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 4 2 /* format: style3 */ 4 3 4 4 /* These constants are to be used for the flags argument of sub_err_ */ 4 5 /* They are just "string (condition_info_header.action_flags)" */ 4 6 4 7 declare ( 4 8 ACTION_CAN_RESTART init (""b), 4 9 ACTION_CANT_RESTART init ("1"b), 4 10 ACTION_DEFAULT_RESTART 4 11 init ("01"b), 4 12 ACTION_QUIET_RESTART 4 13 init ("001"b), 4 14 ACTION_SUPPORT_SIGNAL 4 15 init ("0001"b) 4 16 ) bit (36) aligned internal static options (constant); 4 17 4 18 /* End include file */ 395 396 end dmu_general_modify_string; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/24/88 1400.2 dmu_general_modify_string.pl1 >special_ldd>install>MR12.2-1184>dmu_general_modify_string.pl1 389 1 10/24/88 1336.9 std_descriptor_types.incl.pl1 >special_ldd>install>MR12.2-1184>std_descriptor_types.incl.pl1 391 2 10/14/83 1609.1 vu_typed_vector.incl.pl1 >ldd>include>vu_typed_vector.incl.pl1 393 3 01/07/85 0858.8 dm_field_table.incl.pl1 >ldd>include>dm_field_table.incl.pl1 395 4 04/16/82 0958.1 sub_err_flags.incl.pl1 >ldd>include>sub_err_flags.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. ACTION_CANT_RESTART 000016 constant bit(36) initial dcl 4-7 set ref 353* 383* BITS_PER_BYTE constant fixed bin(35,0) initial dcl 106 ref 237 241 326 BITS_PER_WORD constant fixed bin(35,0) initial dcl 106 ref 228 289 320 FIELD_TABLE_VERSION_3 000000 constant char(8) initial dcl 3-69 set ref 138* GENERAL_TYPED_VECTOR_TYPE 000034 constant fixed bin(17,0) initial dcl 2-43 set ref 142 142* MAXIMUM_BUFFER_LENGTH_IN_BITS 000013 constant fixed bin(35,0) initial dcl 106 ref 184 based_bit_string based bit packed unaligned dcl 94 set ref 197* 197 228* 228 241 252 289* 289 301* 301 311* 311 320 336* 336 based_real_fix_bin_1u based fixed bin(35,0) packed unaligned dcl 93 ref 237 250 bin builtin function dcl 100 ref 241 252 copy builtin function dcl 100 ref 320 current_length_in_bits 000100 automatic fixed bin(35,0) dcl 77 set ref 237* 250* 259 289 289 294 320* 326* 326 329 336 336 341 342 current_varying_field_bit_offset 000101 automatic fixed bin(35,0) dcl 78 set ref 154* 259 275 275 289 294* 294 329 336 341* 341 349 dim_idx 000102 automatic fixed bin(17,0) dcl 80 set ref 195* 197 197 197 197* 215* 215* 218 228 237 250 289 301 dimension 1 based structure array level 2 packed packed unaligned dcl 2-24 ref 195 215 218 366 371 dm_error_$bad_vector_type 000020 external static fixed bin(35,0) dcl 127 set ref 142* dm_error_$programming_error 000024 external static fixed bin(35,0) dcl 127 set ref 353* dm_error_$short_buffer 000022 external static fixed bin(35,0) dcl 127 ref 176 263 332 eif_dim_idx 000134 automatic fixed bin(17,0) dcl 364 set ref 366* 366* 371 error_table_$bad_arg 000014 external static fixed bin(35,0) dcl 127 set ref 149* error_table_$unimplemented_version 000016 external static fixed bin(35,0) dcl 127 set ref 383* field 5 based structure array level 2 dcl 3-36 ref 212 field_idx 000103 automatic fixed bin(17,0) dcl 81 set ref 212* 215 223 228 228 228 228 234 241 241 252 252 301 301 301 311 311 311 311 316 320 320 320 326* field_table based structure level 1 dcl 3-36 field_table_ptr 000120 automatic pointer dcl 3-65 set ref 137* 138 154 169 197 197 197 212 223 228 228 228 228 234 241 241 252 252 301 301 301 311 311 311 311 316 320 320 320 326 366 flags 5 based structure array level 3 dcl 3-36 general_typed_vector based structure level 1 packed packed unaligned dcl 2-24 general_typed_vector_ptr 000116 automatic pointer dcl 2-38 set ref 140* 142 142 195 197 197 197 197 215 215 218 228 237 250 289 301 366 366 371 hbound builtin function dcl 100 ref 195 212 215 218 366 371 identifier 1 based fixed bin(17,0) array level 3 packed packed unaligned dcl 2-24 ref 197 197 197 215 366 length_in_bits 10 based fixed bin(35,0) array level 3 dcl 3-36 ref 197 197 228 228 228 241 252 301 301 311 311 320 320 length_is_in_characters 5(01) based bit(1) array level 4 packed packed unaligned dcl 3-36 ref 234 326 location 7 based fixed bin(35,0) array level 3 dcl 3-36 ref 197 228 241 252 301 311 311 320 location_of_first_varying_field 4 based fixed bin(35,0) level 2 dcl 3-36 ref 154 169 min builtin function dcl 100 ref 184 myname 000002 constant varying char(32) initial dcl 117 set ref 142* 149* 353* 383* null builtin function dcl 100 ref 85 85 89 142 142 149 149 149 172 259 279 353 353 383 383 number_of_dimensions 0(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 2-24 ref 195 215 218 366 371 number_of_fields 2 based fixed bin(17,0) level 2 dcl 3-36 ref 212 223 316 366 old_current_varying_field_bit_offset 000105 automatic fixed bin(35,0) dcl 83 set ref 154* 295* 295 336 342* 342 old_length_in_bits 000104 automatic fixed bin(35,0) dcl 82 set ref 241* 252* 295 old_output_buffer_length 000113 automatic fixed bin(35,0) initial dcl 87 set ref 87* 181* 268* 282 old_output_buffer_ptr 000110 automatic pointer initial dcl 85 set ref 85* 182* 269* 275 279 279 283 output_buffer based bit packed unaligned dcl 95 set ref 186 272 275* 275 283 output_buffer_length 000112 automatic fixed bin(35,0) initial dcl 87 set ref 87* 163* 168* 172 181 184* 186 186 259 268 271 271* 272 272 275 275 282* 283 283 284* output_buffer_ptr 000106 automatic pointer initial dcl 85 set ref 85* 162* 167* 182 186* 187 269 272* 273 275 p_code parameter fixed bin(35,0) dcl 73 set ref 54 54 176* 263* 332* p_expected_version parameter char(8) dcl 379 set ref 377 383 383* p_field_table_ptr parameter pointer dcl 63 ref 54 54 137 p_input_string_length parameter fixed bin(35,0) dcl 69 ref 54 54 163 205 p_input_string_ptr parameter pointer dcl 68 ref 54 54 162 190 241 252 311 336 353 p_output_buffer_length parameter fixed bin(35,0) dcl 72 set ref 54 54 157* 184* 271* 284 353 p_output_string_length parameter fixed bin(35,0) dcl 71 set ref 54 54 163* 169* 172 184 205* 349* p_output_string_ptr parameter pointer dcl 70 set ref 54 54 162* 167* 187* 190 197 228 273* 289 301 311 320 336 353 353 p_received_version parameter char(8) dcl 379 set ref 377 383 383* p_string_buffer_length parameter fixed bin(35,0) dcl 66 set ref 54 54 149 149* 168 329 p_string_buffer_ptr parameter pointer dcl 65 ref 54 54 149 167 279 353 p_structure_name parameter char packed unaligned dcl 381 set ref 377 383* p_typed_vector_ptr parameter pointer dcl 64 ref 54 54 140 p_work_area_ptr parameter pointer dcl 67 ref 54 54 147 sub_err_ 000010 constant entry external dcl 121 ref 142 149 353 383 substr builtin function dcl 100 set ref 197* 197 228* 228 241 252 275* 275 289* 289 301* 301 311* 311 320 336* 336 sys_info$max_seg_size 000012 external static fixed bin(35,0) dcl 125 ref 197 197 228 228 241 252 289 289 301 301 311 311 320 336 336 type based fixed bin(17,0) level 2 packed packed unaligned dcl 2-24 set ref 142 142* unspec builtin function dcl 100 set ref 320* value_ptr 2 based pointer array level 3 packed packed unaligned dcl 2-24 ref 197 228 237 250 289 301 varying_field_index based fixed bin(17,0) array level 3 dcl 3-36 ref 223 316 366 varying_field_map based structure array level 2 dcl 3-36 version based char(8) initial level 2 dcl 3-36 set ref 138* work_area based area(1024) dcl 96 ref 186 272 283 work_area_ptr 000114 automatic pointer initial dcl 89 set ref 89* 147* 172 186 259 272 283 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CAN_RESTART internal static bit(36) initial dcl 4-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 4-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 4-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 4-7 OLD_SIMPLE_TYPED_VECTOR_TYPE internal static fixed bin(17,0) initial dcl 2-43 SIMPLE_TYPED_VECTOR_TYPE internal static fixed bin(17,0) initial dcl 2-43 algol68_array_descriptor_dtype internal static fixed bin(17,0) initial dcl 1-25 algol68_bits_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_bool_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_byte_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_char_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_compl_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_format_dtype internal static fixed bin(17,0) initial dcl 1-25 algol68_int_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_long_compl_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_long_int_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_long_real_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_real_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_short_int_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_straight_dtype internal static fixed bin(17,0) initial dcl 1-25 algol68_struct_struct_bool_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_struct_struct_char_dtype internal static fixed bin(17,0) initial dcl 1-110 algol68_union_dtype internal static fixed bin(17,0) initial dcl 1-25 area_dtype internal static fixed bin(17,0) initial dcl 1-25 bit_dtype internal static fixed bin(17,0) initial dcl 1-25 c_enum_const_dtype internal static fixed bin(17,0) initial dcl 1-25 c_enum_dtype internal static fixed bin(17,0) initial dcl 1-25 c_typeref_dtype internal static fixed bin(17,0) initial dcl 1-25 c_union_dtype internal static fixed bin(17,0) initial dcl 1-25 char_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_char_string_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_comp_5_ts_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_comp_5_uns_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_comp_6_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_comp_7_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_comp_8_ls_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_comp_8_uns_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_display_ls_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_display_ls_overp_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_display_ts_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_display_ts_overp_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_display_uns_dtype internal static fixed bin(17,0) initial dcl 1-25 cobol_structure_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 1-25 cplx_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 1-25 entry_dtype internal static fixed bin(17,0) initial dcl 1-25 ext_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 1-125 ext_procedure_runtime_dtype internal static fixed bin(17,0) initial dcl 1-125 field_name based char packed unaligned dcl 3-71 field_name_length automatic fixed bin(17,0) dcl 3-73 field_name_ptr automatic pointer dcl 3-74 file_dtype internal static fixed bin(17,0) initial dcl 1-25 ft_char_dtype internal static fixed bin(17,0) initial dcl 1-96 ft_complex_double_dtype internal static fixed bin(17,0) initial dcl 1-96 ft_complex_dtype internal static fixed bin(17,0) initial dcl 1-96 ft_double_dtype internal static fixed bin(17,0) initial dcl 1-96 ft_external_dtype internal static fixed bin(17,0) initial dcl 1-96 ft_hex_complex_double_dtype internal static fixed bin(17,0) initial dcl 1-96 ft_hex_complex_dtype internal static fixed bin(17,0) initial dcl 1-96 ft_hex_double_dtype internal static fixed bin(17,0) initial dcl 1-96 ft_hex_real_dtype internal static fixed bin(17,0) initial dcl 1-96 ft_integer_dtype internal static fixed bin(17,0) initial dcl 1-96 ft_length_of_field_names automatic fixed bin(17,0) dcl 3-66 ft_logical_dtype internal static fixed bin(17,0) initial dcl 1-96 ft_number_of_fields automatic fixed bin(17,0) dcl 3-68 ft_real_dtype internal static fixed bin(17,0) initial dcl 1-96 gtv_number_of_dimensions automatic fixed bin(17,0) dcl 2-40 int_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 1-125 label_constant_runtime_dtype internal static fixed bin(17,0) initial dcl 1-125 label_dtype internal static fixed bin(17,0) initial dcl 1-25 offset_dtype internal static fixed bin(17,0) initial dcl 1-25 pascal_boolean_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_char_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_entry_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_enumerated_type_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_enumerated_type_element_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_enumerated_type_instance_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_exportable_procedure_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_imported_procedure_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_integer_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_internal_procedure_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_label_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_parameter_procedure_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_procedure_type_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_real_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_record_file_type_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_record_type_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_set_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_string_type_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_text_file_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_typed_pointer_type_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_user_defined_type_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_user_defined_type_instance_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_value_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 1-132 pascal_variable_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 1-132 picture_runtime_dtype internal static fixed bin(17,0) initial dcl 1-125 pointer_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_bin_1_uns_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_bin_2_uns_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_dec_4bit_bytealigned_uns_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_dec_4bit_ls_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_dec_4bit_ts_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_dec_4bit_uns_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_dec_9bit_ls_overp_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_dec_9bit_ts_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_dec_9bit_ts_overp_dtype internal static fixed bin(17,0) initial dcl 1-25 real_fix_dec_9bit_uns_dtype internal static fixed bin(17,0) initial dcl 1-25 real_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 1-25 real_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 1-25 real_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 1-25 real_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 1-25 real_flt_dec_4bit_dtype internal static fixed bin(17,0) initial dcl 1-25 real_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 1-25 real_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 1-25 real_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 1-25 real_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 1-25 real_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 1-25 simple_typed_vector based structure level 1 packed packed unaligned dcl 2-17 simple_typed_vector_ptr automatic pointer dcl 2-33 structure_dtype internal static fixed bin(17,0) initial dcl 1-25 stv_number_of_dimensions automatic fixed bin(17,0) dcl 2-35 varying_bit_dtype internal static fixed bin(17,0) initial dcl 1-25 varying_char_dtype internal static fixed bin(17,0) initial dcl 1-25 NAMES DECLARED BY EXPLICIT CONTEXT. CHECK_VERSION_CHAR 001473 constant entry internal dcl 377 ref 138 COPY_OLD_FIELD 001164 constant label dcl 307 CV_NEW_FIELD 000675 constant label dcl 218 ELEMENT_IS_FIXED 001412 constant entry internal dcl 361 ref 159 FIELD_LOOP 000624 constant label dcl 212 MERGE_OLD_STRING_AND_VECTOR_VALUES 000624 constant label dcl 209 MODIFY_FIXED_ELEMENT_IN_PLACE 000551 constant label dcl 190 VARYING_FIELD 000707 constant label dcl 223 dmu_general_modify_string 000232 constant entry external dcl 54 general_modify_string 000221 constant entry external dcl 54 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1736 1764 1602 1746 Length 2254 1602 26 253 134 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME general_modify_string 276 external procedure is an external procedure. ELEMENT_IS_FIXED internal procedure shares stack frame of external procedure general_modify_string. CHECK_VERSION_CHAR internal procedure shares stack frame of external procedure general_modify_string. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME general_modify_string 000100 current_length_in_bits general_modify_string 000101 current_varying_field_bit_offset general_modify_string 000102 dim_idx general_modify_string 000103 field_idx general_modify_string 000104 old_length_in_bits general_modify_string 000105 old_current_varying_field_bit_offset general_modify_string 000106 output_buffer_ptr general_modify_string 000110 old_output_buffer_ptr general_modify_string 000112 output_buffer_length general_modify_string 000113 old_output_buffer_length general_modify_string 000114 work_area_ptr general_modify_string 000116 general_typed_vector_ptr general_modify_string 000120 field_table_ptr general_modify_string 000134 eif_dim_idx ELEMENT_IS_FIXED THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_bit_temp cat_realloc_bits call_ext_out_desc return_mac longbs_to_fx2 mpfx2 shorten_stack ext_entry set_bits_eis op_alloc_ op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. sub_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. dm_error_$bad_vector_type dm_error_$programming_error dm_error_$short_buffer error_table_$bad_arg error_table_$unimplemented_version sys_info$max_seg_size LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 85 000201 87 000204 89 000206 54 000211 137 000240 138 000244 140 000267 142 000273 147 000357 149 000363 154 000441 157 000445 159 000447 162 000454 163 000461 164 000464 167 000465 168 000472 169 000474 172 000503 176 000512 177 000515 181 000516 182 000520 184 000522 186 000534 187 000543 190 000545 195 000551 197 000565 203 000616 205 000620 207 000623 212 000624 215 000635 217 000663 218 000665 223 000675 228 000707 234 000740 237 000745 241 000754 246 000773 250 000774 252 001002 259 001015 263 001035 264 001041 268 001042 269 001044 271 001046 272 001052 273 001061 275 001063 279 001070 282 001100 283 001102 284 001106 289 001111 294 001132 295 001134 298 001140 301 001141 306 001163 311 001164 316 001202 320 001213 326 001251 329 001260 332 001274 333 001277 336 001300 341 001313 342 001317 347 001323 349 001325 353 001334 359 001411 361 001412 366 001414 369 001452 371 001454 373 001470 377 001473 383 001504 387 001574 ----------------------------------------------------------- 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