/*********************************************************** * module-related definitions for PL/I symbolic debugger * ***********************************************************/ dcl 1 moddef external static, 2 default_module_name char(6) varying, /****in case needed*/ 2 default_module fixed bin(23), /*file address of default module hash record*/ 2 default_block fixed bin(23), /*file address of default block hash record, null_fileaddr if undetermined*/ 2 setting_module fixed bin(23) initial(-2), /*flag between SET MODULE and symswitch, also used by WK*/ 2 last_block fixed bin(23) initial(-1/*null_fileaddr*/), /*block of previous explicit reference*/ 2 current_module, /*this structure contains the data on the currently accessed module & symfile. change via symswitch*/ 3 hash_fileaddr fixed bin(23), /*file address of module hash record (preceding this one)*/ 3 data_fileaddr fixed bin(23), /*file address of this record*/ 3 name char(6) varying, /*first 6 chars of external procedure name*/ 3 prolog fixed bin(15), /*address in user task of external procedure*/ 3 overlay fixed bin(15), /*address in user task of overlay segment descriptor*/ 3 overlay_fileaddr fixed bin(23), /*file address of overlay segment hash record*/ 3 overlay_name char(6) varying, /*name of overlay segment ****in case needed*/ 3 blocks (0:63), /*info on all local blocks, for finding current (default) block & for up-level references*/ 4 fileaddr fixed bin(23), /*file address of block hash record*/ 4 name6 char(6), /*first 6 chars of block name*/ 4 address fixed bin(15), /*address in user task of block (prolog)*/ 4 parent fixed bin(15), /*block code (subscript in this array) of parent block*/ 3 symfilename char(34) varying initial(''), 3 symfile_module_base fixed bin(23), /*fileaddr in symfile of symbol table image, for concatenated symbol files*/ 3 symfile_offset fixed bin(15), /*converts virtual addr in symbol file to offset from symfile_module_base*/ ( 3 symfile_base, /*lowest valid virtual address in symbol table*/ 3 symfile_end, /*highest valid virtual address in symbol table*/ 3 symfile_first, /*virtual address in symbol table of first symbol*/ 3 symfile_next /*virtual address in symbol table of next symbol to be processed into hashed work file entry*/ ) fixed bin(15), 3 any_symscan fixed bin(1) initial(0/*false*/); /*whether anything (usually symfile_next) has changed in this record (whether it needs to be written on symswitch)*/