/******************************************************************************** * PL/I and system run-time data structure formats for PL/I symbolic debugger * ********************************************************************************/ dcl 1 rundef external, /* PL/I run-time data structures offsets: */ /*string descriptor:*/ 2 string_length_word fixed bin initial(0), 2 string_align_word fixed bin initial(2), 2 string_addr_word fixed bin initial(4), 2 string_length_mask fixed bin(15) initial('3FFF'B4), /*all but top 2 bits of length word*/ 2 string_varying_mask fixed bin(15) initial('8000'B4), /*top bit of length word*/ 2 string_bit_alignment fixed bin(15) initial('E000'B4), /*top 3 bits of align word*/ /*array descriptor:*/ 2 array_dimensions fixed bin initial(0), 2 array_length fixed bin initial(2), /*length of char(*)*/ 2 array_origin fixed bin initial(4), 2 array_mult fixed bin initial(6), /*organization of multipliers and bounds not readily parameterized*/ 2 array_dimension_mask fixed bin(15) static initial('77'B3), /*low 6 bits*/ /*call frame (dynamic save area):*/ 2 dsa_caller_fp fixed bin initial(-'32'B3), 2 dsa_prolog fixed bin initial(-'30'B3), 2 dsa_return fixed bin initial(-'26'B3), 2 dsa_library_return fixed bin initial(-'44'B3), 2 dsa_flags_nargs fixed bin initial(-'02'B3), 2 internal_procedure_flag fixed bin(15) initial('4000'B3), /*bit in dsa_flags_nargs*/ /*procedure prolog:*/ 2 prolog_name fixed bin initial('4'B3), 2 prolog_static fixed bin initial('12'B3), 2 prolog_stmtoffset fixed bin initial('16'B3), /*note: format of statement table known via hard-wired code in dostma & dostmn code packets in debasm*/ /*ONCODE value:*/ 2 no_such_file fixed bin(15) initial(14026), /*UNDEFINEDFILE ONCODE value under RSX*/ /* overlay segment descriptor format, documented in TKB manual appendix B (the 4.0 manual has the up & down links incorrectly exchanged). note that format of autoload vectors and of the stack while at the overlay loader breakpoint are known via hard-wired code in the doovly code packet in debasm. */ 2 overlay_descriptor_status fixed bin initial(0), 2 overlay_descriptor_link_down fixed bin initial(6), 2 overlay_descriptor_link_up fixed bin initial(8), 2 overlay_descriptor_link_next fixed bin initial(10), 2 overlay_descriptor_size fixed bin initial('22'B3), /*size of overlay descriptors in clustered task (for debinit)*/ 2 overlay_mapped_bit fixed bin(15) initial('10000'B3), /*bit of status word*/ 2 overlay_mapped_true fixed bin(15) initial(0), /*0 means loaded & mapped*/ 2 overlay_loaded_bit fixed bin(15) initial('20000'B3), /*bit of status word, **incase needed*/ 2 overlay_loaded_true fixed bin(15) initial(0), /*0 means loaded*/ 2 overlay_allocation_bit fixed bin(15) initial('40000'B3), /*bit of status word, **incase needed*/ 2 overlay_allocation_true fixed bin(15) initial(0); /*0 means has disk allocation*/