COMPILATION LISTING OF SEGMENT report_writer Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/09/85 1313.0 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* format: off */ 7 8 /* 9* 10* This module creates and destroys a report_writer_ invocation. The 11* following entries are provided: 12* 13* create_invocation 14* 15* This entry creates a report_writer_ invocation. It sets up all of the 16* temp segments, areas, etc. that report_writer_ needs. It also calls 17* the intialization code for other modules, like the ones needed to manage 18* the report_writer_ standard table, format option values, etc. 19* 20* destroy_invocation 21* 22* This entry destroys a report_writer_ invocation. It gets rid of the 23* temp segments, areas, etc. the create_invocation entry acquires. It also 24* calls the termination code for the modules mentioned above in 25* create_invocation. 26* 27* Known Bugs: 28* 29* Other Problems: 30* 31* History: 32* 33* Written - Al Dupuis - October 1984. 34* 35**/ 36 37 report_writer: proc; 38 39 /* These parameters are described at each entry where they are used. */ 40 41 dcl code_parm fixed bin (35) parm; 42 dcl message_parm char (*) varying parm; 43 dcl report_cip_parm ptr parm; 44 dcl ssu_info_ptr_parm ptr parm; 45 dcl subsystem_name_parm char (*) parm; 46 47 call com_err_ (error_table_$badcall, "report_writer"); 48 49 return; 50 51 create_invocation: entry ( 52 53 subsystem_name_parm, /* input: Multics subsystem's name */ 54 ssu_info_ptr_parm, /* input: ssu_ info pointer */ 55 report_cip_parm, /* output: points to report_control_info */ 56 code_parm, /* output: success or failure */ 57 message_parm /* output: reason for the failure */ 58 ); 59 60 /* 61* 62* This entrypoint sets up the environment for report_writer_. It performs 63* the following steps: 64* 65* (1) Initializes automatic variables and sets up a cleanup handler so 66* this entry can clean up gracefully if interrupted. 67* 68* (2) Sets up madatory subsystem info, like the ec suffix, subsystem name, 69* etc. 70* 71* (3) Allocates/fills in report_control_info, and acquires the temp segments 72* and area needed by report_writer_. Initializes the value_ segment 73* used to hold the format option names and values. 74* 75* (4) Creates the entry variables for the calling subsystem's table 76* manager procedure. Initializes the report_writer_ standard table 77* structure. Sets the general report format options to their default 78* values. Sets the report_writer_ info pointer in static storage so 79* the report_writer_ subsystem requests will automagically get handed 80* the correct report_writer_ info pointer from static storage. Adds 81* the report_writer_ standard requests to the calling subsystem's 82* set of requests. Adds the info directory for these requests. 83* 84**/ 85 86 report_cip_parm = null; 87 88 call initialize_for_create_invocation; 89 90 on cleanup call cleanup_for_create_invocation; 91 92 call setup_subsystem_mandatory_info (code_parm, message_parm); 93 if code_parm = 0 94 then call setup_to_do_reporting (code_parm, message_parm); 95 if code_parm = 0 96 then call initialize_report_writer (code_parm, message_parm); 97 98 if code_parm = 0 99 then report_cip_parm = report_cip; 100 else call cleanup_for_create_invocation; 101 102 return; 103 104 destroy_invocation: entry ( 105 106 report_cip_parm /* input: points to report_control_info */ 107 ); 108 109 /* 110* 111* This entrypoint releases the environment setup for report_writer_. It 112* performs the following steps: 113* 114* (1) Cleans up the report_writer_ standard table structure. 115* 116* (2) Cleans up any report leftover by the user typing "display 117* -keep_report", and then never invoking display again. 118* 119* (3) Gets rid of the temp segments and areas needed by report_writer_. 120* 121* (4) Removes the report_writer_ info pointer from static storage. 122* 123* (5) Removes the report_writer_ standard requests from the calling 124* subsystem's set of requests, and the info dir for these requests. 125* 126**/ 127 128 report_cip = report_cip_parm; 129 130 if report_cip ^= null 131 then do; 132 call rw_table_manager$terminate_table (report_cip, (0)); 133 if report_control_info.flags.permanent_report 134 then call rw_fr_delete_report (report_cip, (0)); 135 call release_areas_and_temp_segments; 136 call rw_requests$delete_report_info_ptr (sci_ptr); 137 call ssu_$delete_request_table (sci_ptr, 138 addr (report_writer_request_table_$standard_requests), (0)); 139 call ssu_$delete_info_dir (sci_ptr, 140 report_writer_info_dirs_$standard_requests, (0)); 141 report_cip_parm = null; 142 end; 143 144 return; 145 146 cleanup_for_create_invocation: proc; 147 148 dcl cfci_loop fixed bin; 149 150 do cfci_loop = 1 to hbound (area_ptrs, 1); 151 call ssu_$release_area (sci_ptr, area_ptrs (cfci_loop)); 152 end; 153 154 do cfci_loop = 1 to hbound (temp_segment_ptrs, 1); 155 call ssu_$release_temp_segment (sci_ptr, temp_segment_ptrs (cfci_loop)); 156 end; 157 158 if work_area_ptr ^= null 159 then call ssu_$release_area (sci_ptr, work_area_ptr); 160 161 return; 162 163 end cleanup_for_create_invocation; 164 165 initialize_for_create_invocation: proc; 166 167 work_area_ptr = null; 168 report_cip = null; 169 area_ptrs (*) = null; 170 temp_segment_ptrs (*) = null; 171 172 return; 173 174 end initialize_for_create_invocation; 175 176 initialize_report_writer: proc ( 177 178 irw_code_parm, /* output: success or failure */ 179 irw_message_parm /* output: reason for the failure */ 180 ); 181 182 dcl irw_code_parm fixed bin (35) parm; 183 dcl irw_message_parm char (*) varying parm; 184 185 call rw_table_manager$set_table_manager (report_cip, 186 table_manager_name, irw_code_parm, irw_message_parm); 187 if irw_code_parm ^= 0 188 then return; 189 190 call rw_table_manager$initialize_table (report_cip, irw_code_parm); 191 if irw_code_parm ^= 0 192 then do; 193 call ioa_$rsnnl ("^/While initializing the internal table structure.", 194 irw_message_parm, (0)); 195 return; 196 end; 197 198 call rw_options$set_all_to_system_defaults (report_cip, irw_code_parm); 199 if irw_code_parm ^= 0 200 then do; 201 call ioa_$rsnnl ("^/While setting the option values to their defaults.", 202 irw_message_parm, (0)); 203 return; 204 end; 205 206 call rw_requests$set_initial_report_info_ptr (sci_ptr, report_cip, irw_code_parm); 207 if irw_code_parm ^= 0 208 then do; 209 call ioa_$rsnnl ("^/While setting the report writer info pointer.", 210 irw_message_parm, (0)); 211 return; 212 end; 213 214 call ssu_$add_request_table (sci_ptr, addr (report_writer_request_table_$standard_requests), 215 99999, irw_code_parm); 216 if irw_code_parm ^= 0 217 then do; 218 call ioa_$rsnnl ("^/While adding the report_writer_ requests.", 219 irw_message_parm, (0)); 220 return; 221 end; 222 223 call ssu_$add_info_dir (sci_ptr, report_writer_info_dirs_$standard_requests, 224 99999, irw_code_parm); 225 if irw_code_parm ^= 0 226 then do; 227 call ioa_$rsnnl ("^/While adding the report_writer_ info directory for the standard requests.", 228 irw_message_parm, (0)); 229 return; 230 end; 231 232 return; 233 234 end initialize_report_writer; 235 236 release_areas_and_temp_segments: proc; 237 238 dcl raats_loop ptr; 239 240 sci_ptr = report_control_info.subsystem_control_info_ptr; 241 242 do raats_loop = report_control_info.input_string_temp_seg_ptr, 243 report_control_info.output_string_temp_seg_ptr, 244 report_control_info.editing_strings_temp_seg_ptr, 245 report_control_info.headers_temp_seg_ptr, 246 report_control_info.row_value_temp_segment_ptr, 247 report_control_info.value_seg_ptr, 248 report_control_info.name_value_temp_seg_ptr, 249 report_control_info.report_temp_seg_ptr; 250 call ssu_$release_temp_segment (sci_ptr, raats_loop); 251 end; 252 253 do raats_loop = report_control_info.name_value_area_ptr, 254 report_control_info.report_work_area_ptr, 255 report_control_info.general_work_area_ptr; 256 call ssu_$release_area (sci_ptr, raats_loop); 257 end; 258 259 return; 260 261 end release_areas_and_temp_segments; 262 263 setup_subsystem_mandatory_info: proc ( 264 265 ssmi_code_parm, /* output: success or failure */ 266 ssmi_message_parm /* output: reason for the failure */ 267 ); 268 269 dcl ssmi_code_parm fixed bin (35) parm; 270 dcl ssmi_message_parm char (*) varying parm; 271 272 ssmi_code_parm = 0; 273 ssmi_message_parm = ""; 274 275 if ssu_info_ptr_parm = null 276 then do; 277 ssmi_code_parm = error_table_$null_info_ptr; 278 ssmi_message_parm = "The ssu_ info pointer was null."; 279 return; 280 end; 281 282 sci_ptr = ssu_info_ptr_parm; 283 subsystem_info_ptr = ssu_$get_info_ptr (sci_ptr); 284 285 if subsystem_name_parm ^= "" 286 then table_manager_name = subsystem_name_parm; 287 else table_manager_name = ssu_$get_subsystem_name (sci_ptr); 288 289 ec_suffix = ssu_$get_ec_suffix (sci_ptr); 290 291 return; 292 293 end setup_subsystem_mandatory_info; 294 295 setup_to_do_reporting: proc ( 296 297 stdr_code_parm, /* output: success or failure */ 298 stdr_message_parm /* output: reason for failure */ 299 ); 300 301 dcl stdr_code_parm fixed bin (35) parm; 302 dcl stdr_index fixed bin; 303 dcl stdr_loop char (32); 304 dcl stdr_message_parm char (*) varying parm; 305 306 stdr_code_parm = 0; 307 stdr_message_parm = ""; 308 309 area_infop = addr (automatic_area_info); 310 area_info.version = area_info_version_1; 311 unspec (area_info.control) = OFF; 312 area_info.control.extend = ON; 313 call ssu_$get_area (sci_ptr, area_infop, "rw_.general_use_area", work_area_ptr); 314 allocate report_control_info in (work_area) set (report_cip); 315 unspec (report_control_info) = OFF; 316 report_control_info.general_work_area_ptr = work_area_ptr; 317 318 area_info.control.no_freeing = ON; 319 320 stdr_index = 1; 321 do stdr_loop = "rw_.names_and_values_area", "rw_.report_area"; 322 call ssu_$get_area (sci_ptr, area_infop, stdr_loop, area_ptrs (stdr_index)); 323 stdr_index = stdr_index + 1; 324 end; 325 report_control_info.name_value_area_ptr = area_ptrs (1); 326 report_control_info.report_work_area_ptr = area_ptrs (2); 327 328 stdr_index = 1; 329 do stdr_loop = "rw_.input_string_seg", "rw_.output_string_seg", 330 "rw_.editing_string_seg", "rw_.headers_seg", "rw_.row_value_seg", 331 "rw_.format_options_seg", "rw_.star_name_seg", "rw_.formatted_page_seg"; 332 call ssu_$get_temp_segment (sci_ptr, stdr_loop, temp_segment_ptrs (stdr_index)); 333 stdr_index = stdr_index + 1; 334 end; 335 336 report_control_info.input_string_temp_seg_ptr = temp_segment_ptrs (1); 337 report_control_info.output_string_temp_seg_ptr = temp_segment_ptrs (2); 338 report_control_info.editing_strings_temp_seg_ptr = temp_segment_ptrs (3); 339 report_control_info.headers_temp_seg_ptr = temp_segment_ptrs (4); 340 report_control_info.row_value_temp_segment_ptr = temp_segment_ptrs (5); 341 report_control_info.value_seg_ptr = temp_segment_ptrs (6); 342 report_control_info.name_value_temp_seg_ptr = temp_segment_ptrs (7); 343 report_control_info.report_temp_seg_ptr = temp_segment_ptrs (8); 344 345 call value_$init_seg (report_control_info.value_seg_ptr, 0, null, 0, stdr_code_parm); 346 if stdr_code_parm ^= 0 347 then do; 348 stdr_message_parm = "^/While trying to initialize the options' value segment."; 349 return; 350 end; 351 352 report_control_info.table_information_ptr = null; 353 report_control_info.subsystem_control_info_ptr = sci_ptr; 354 report_control_info.subsystems_info_ptr = subsystem_info_ptr; 355 report_control_info.subsystems_ec_suffix = ec_suffix; 356 report_control_info.format_report_info_ptr = null; 357 report_control_info.display_iocb_ptr = null; 358 report_control_info.temp_dir_name = get_pdir_ (); 359 allocate status_branch in (work_area) set (status_ptr); 360 call expand_pathname_ (report_control_info.temp_dir_name, 361 directory_name, entry_name, stdr_code_parm); 362 if stdr_code_parm ^= 0 363 then do; 364 stdr_message_parm = "^/Unable to expand the process dir directory name."; 365 return; 366 end; 367 call hcs_$status_long (directory_name, entry_name, 1, 368 status_ptr, null, stdr_code_parm); 369 if stdr_code_parm ^= 0 & stdr_code_parm ^= error_table_$no_s_permission 370 then do; 371 stdr_message_parm = "^/Unable to determine the unique id of the process dir."; 372 return; 373 end; 374 else stdr_code_parm = 0; 375 report_control_info.temp_dir_unique_id = status_branch.long.uid; 376 free status_branch in (work_area); 377 allocate area_info in (work_area) set (area_infop); 378 area_infop -> area_info = addr (automatic_area_info) -> area_info; 379 report_control_info.area_info_ptr = area_infop; 380 381 return; 382 383 end setup_to_do_reporting; 384 385 dcl EXTENSIBLE bit (1) aligned static int options (constant) init ("1"b); 386 387 dcl OFF bit (1) aligned static internal options (constant) init ("0"b); 388 dcl ON bit (1) aligned static internal options (constant) init ("1"b); 389 390 dcl addr builtin; 391 dcl area_ptrs (2) ptr; 392 dcl 1 automatic_area_info like area_info; 393 394 dcl cleanup condition; 395 dcl com_err_ entry () options (variable); 396 397 dcl directory_name char (168); 398 399 dcl ec_suffix char (32); 400 dcl entry_name char (32); 401 dcl error_table_$badcall fixed bin(35) ext static; 402 dcl error_table_$no_s_permission fixed bin(35) ext static; 403 dcl error_table_$null_info_ptr fixed bin(35) ext static; 404 dcl expand_pathname_ entry (char(*), char(*), char(*), fixed bin(35)); 405 406 dcl get_pdir_ entry() returns(char(168)); 407 408 dcl hbound builtin; 409 dcl hcs_$status_long entry (char(*), char(*), fixed bin(1), ptr, ptr, fixed bin(35)); 410 411 dcl ioa_$rsnnl entry() options(variable); 412 413 dcl null builtin; 414 415 dcl report_writer_info_dirs_$standard_requests char (168) external; 416 dcl report_writer_request_table_$standard_requests bit (36) aligned external; 417 dcl rw_options$set_all_to_system_defaults entry (ptr, fixed bin (35)); 418 dcl rw_fr_delete_report entry (ptr, fixed bin (35)); 419 dcl rw_requests$delete_report_info_ptr entry (ptr); 420 dcl rw_requests$set_initial_report_info_ptr entry (ptr, ptr, fixed bin (35)); 421 dcl rw_table_manager$initialize_table entry (ptr, fixed bin (35)); 422 dcl rw_table_manager$set_table_manager entry (ptr, char(*), fixed bin (35), char (*) varying); 423 dcl rw_table_manager$terminate_table entry (ptr, fixed bin (35)); 424 425 dcl sci_ptr ptr; 426 dcl ssu_$add_info_dir entry (ptr, char(*), fixed bin, fixed bin(35)); 427 dcl ssu_$add_request_table entry (ptr, ptr, fixed bin, fixed bin(35)); 428 dcl ssu_$delete_info_dir entry (ptr, char(*), fixed bin(35)); 429 dcl ssu_$delete_request_table entry (ptr, ptr, fixed bin(35)); 430 dcl ssu_$get_area entry (ptr, ptr, char(*), ptr); 431 dcl ssu_$get_ec_suffix entry (ptr) returns(char(32)); 432 dcl ssu_$get_info_ptr entry (ptr) returns(ptr); 433 dcl ssu_$get_subsystem_name entry (ptr) returns(char(32)); 434 dcl ssu_$get_temp_segment entry (ptr, char(*), ptr); 435 dcl ssu_$release_area entry (ptr, ptr); 436 dcl ssu_$release_temp_segment entry (ptr, ptr); 437 dcl subsystem_info_ptr ptr; 438 dcl sys_info$max_seg_size fixed bin(35) ext static; 439 440 dcl table_manager_name char (32); 441 dcl temp_segment_ptrs (8) ptr; 442 443 dcl unspec builtin; 444 445 dcl value_$init_seg entry (ptr, fixed bin, ptr, fixed bin(19), fixed bin(35)); 446 447 dcl work_area area (sys_info$max_seg_size) based (work_area_ptr); 448 dcl work_area_ptr ptr; 449 1 1 /* BEGIN INCLUDE FILE area_info.incl.pl1 12/75 */ 1 2 1 3 dcl area_info_version_1 fixed bin static init (1) options (constant); 1 4 1 5 dcl area_infop ptr; 1 6 1 7 dcl 1 area_info aligned based (area_infop), 1 8 2 version fixed bin, /* version number for this structure is 1 */ 1 9 2 control aligned like area_control, /* control bits for the area */ 1 10 2 owner char (32) unal, /* creator of the area */ 1 11 2 n_components fixed bin, /* number of components in the area (returned only) */ 1 12 2 size fixed bin (18), /* size of the area in words */ 1 13 2 version_of_area fixed bin, /* version of area (returned only) */ 1 14 2 areap ptr, /* pointer to the area (first component on multisegment area) */ 1 15 2 allocated_blocks fixed bin, /* number of blocks allocated */ 1 16 2 free_blocks fixed bin, /* number of free blocks not in virgin */ 1 17 2 allocated_words fixed bin (30), /* number of words allocated in the area */ 1 18 2 free_words fixed bin (30); /* number of words free in area not in virgin */ 1 19 1 20 dcl 1 area_control aligned based, 1 21 2 extend bit (1) unal, /* says area is extensible */ 1 22 2 zero_on_alloc bit (1) unal, /* says block gets zerod at allocation time */ 1 23 2 zero_on_free bit (1) unal, /* says block gets zerod at free time */ 1 24 2 dont_free bit (1) unal, /* debugging aid, turns off free requests */ 1 25 2 no_freeing bit (1) unal, /* for allocation method without freeing */ 1 26 2 system bit (1) unal, /* says area is managed by system */ 1 27 2 pad bit (30) unal; 1 28 1 29 /* END INCLUDE FILE area_info.incl.pl1 */ 450 451 2 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 2 2* 2 3* Values for the "access mode" argument so often used in hardcore 2 4* James R. Davis 26 Jan 81 MCR 4844 2 5* Added constants for SM access 4/28/82 Jay Pattin 2 6* Added text strings 03/19/85 Chris Jones 2 7**/ 2 8 2 9 2 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 2 11 dcl ( 2 12 N_ACCESS init ("000"b), 2 13 R_ACCESS init ("100"b), 2 14 E_ACCESS init ("010"b), 2 15 W_ACCESS init ("001"b), 2 16 RE_ACCESS init ("110"b), 2 17 REW_ACCESS init ("111"b), 2 18 RW_ACCESS init ("101"b), 2 19 S_ACCESS init ("100"b), 2 20 M_ACCESS init ("010"b), 2 21 A_ACCESS init ("001"b), 2 22 SA_ACCESS init ("101"b), 2 23 SM_ACCESS init ("110"b), 2 24 SMA_ACCESS init ("111"b) 2 25 ) bit (3) internal static options (constant); 2 26 2 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 2 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 2 29 2 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 2 31 static options (constant); 2 32 2 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 2 34 static options (constant); 2 35 2 36 dcl ( 2 37 N_ACCESS_BIN init (00000b), 2 38 R_ACCESS_BIN init (01000b), 2 39 E_ACCESS_BIN init (00100b), 2 40 W_ACCESS_BIN init (00010b), 2 41 RW_ACCESS_BIN init (01010b), 2 42 RE_ACCESS_BIN init (01100b), 2 43 REW_ACCESS_BIN init (01110b), 2 44 S_ACCESS_BIN init (01000b), 2 45 M_ACCESS_BIN init (00010b), 2 46 A_ACCESS_BIN init (00001b), 2 47 SA_ACCESS_BIN init (01001b), 2 48 SM_ACCESS_BIN init (01010b), 2 49 SMA_ACCESS_BIN init (01011b) 2 50 ) fixed bin (5) internal static options (constant); 2 51 2 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 452 453 3 1 /* BEGIN INCLUDE FILE rw_report_info.incl.pl1 3 2* Information needed to control the report environment. 3 3* Al Dupuis - August 1983 3 4**/ 3 5 /* format: off */ 3 6 3 7 dcl 1 report_control_info aligned based (report_cip), 3 8 2 flags, 3 9 3 report_is_paginated bit (1) unaligned, /* paged or one continous stream */ 3 10 3 table_has_been_started bit (1) unaligned, /* table clean up is necessary */ 3 11 3 table_is_full bit (1) unaligned, /* no more retrieves are necessary */ 3 12 3 report_has_been_started bit (1) unaligned, /* report clean up is necessary */ 3 13 3 report_is_formatted bit (1) unaligned, /* no more formatting is necessary */ 3 14 3 permanent_report bit (1) unaligned, /* or disposable */ 3 15 3 permanent_table bit (1) unaligned, /* or disposable */ 3 16 3 report_has_just_been_completed bit (1) unaligned, /* used for printing timers */ 3 17 3 table_has_just_been_loaded bit (1) unaligned, /* used for printing timers */ 3 18 3 multi_pass_mode bit (1) unaligned, /* on if we are to do more than 1 pass */ 3 19 3 available bit (26) unaligned, 3 20 2 format_options_flags, /* used to determine if value is default */ 3 21 3 general_report_default_value (NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE) bit (1) unaligned, 3 22 3 general_column_default_value (NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE) bit (1) unaligned, 3 23 2 value_seg_ptr ptr, /* the options value seg */ 3 24 2 table_information_ptr ptr, /* points to table_info */ 3 25 2 table_control_info_ptr ptr, /* points to table_control_info */ 3 26 2 row_value_temp_segment_ptr ptr, /* points to a segment for the row value */ 3 27 2 general_work_area_ptr ptr, /* a freeing work area */ 3 28 2 name_value_area_ptr ptr, /* area for name-value allocations */ 3 29 2 subsystem_control_info_ptr ptr, /* ptr for ssu_ info structure */ 3 30 2 subsystems_info_ptr ptr, /* points to subsystems info structure */ 3 31 2 name_value_temp_seg_ptr ptr, /* temp seg for name-value space */ 3 32 2 report_temp_seg_ptr ptr, /* report workspace */ 3 33 2 report_work_area_ptr ptr, /* report workspace */ 3 34 2 format_report_info_ptr ptr, /* info needed to create a report */ 3 35 2 input_string_temp_seg_ptr ptr, /* report workspace */ 3 36 2 output_string_temp_seg_ptr ptr, /* report workspace */ 3 37 2 editing_strings_temp_seg_ptr ptr, /* report workspace */ 3 38 2 headers_temp_seg_ptr ptr, /* report workspace */ 3 39 2 display_iocb_ptr ptr, /* report is displayed through this */ 3 40 2 area_info_ptr ptr, /* points to area_info structure */ 3 41 2 table_manager_delete_table_entry variable entry (ptr, fixed bin (35)), /* entry who deletes the table */ 3 42 2 table_manager_get_query_entry variable entry (ptr, ptr, fixed bin (21), fixed bin (35)), /* entry who gets the query */ 3 43 2 table_manager_get_row_entry variable entry (ptr, fixed bin (35)), /* entry who loads rows */ 3 44 2 table_manager_create_table_entry variable entry (ptr, fixed bin (35)), /* entry who makes a new table */ 3 45 2 options_identifier fixed bin, /* current set of options */ 3 46 2 report_identifier fixed bin, /* current report */ 3 47 2 no_of_rows_retrieved fixed bin (35), /* current no of rows */ 3 48 2 no_of_formatted_pages fixed bin (21), /* current no of pages */ 3 49 2 number_of_passes fixed bin, /* number of times report will be formatted */ 3 50 2 table_loading_time float bin (63), 3 51 2 table_sorting_time float bin (63), 3 52 2 table_deletion_time float bin (63), 3 53 2 report_setup_time float bin (63), 3 54 2 report_formatting_time float bin (63), 3 55 2 report_display_time float bin (63), 3 56 2 report_deletion_time float bin (63), 3 57 2 ssu_evaluate_active_string_time float bin (63), 3 58 2 temp_dir_unique_id bit (36), /* uid of temp dir */ 3 59 2 subsystems_ec_suffix char (32), /* suffix for saving and restoring ecs */ 3 60 2 temp_dir_name char (168) unaligned; /* the dir where we place the retrieved table and report */ 3 61 dcl report_cip ptr init (null ()); 3 62 3 63 /* END INCLUDE FILE rw_report_info.incl.pl1 */ 454 455 4 1 /* BEGIN INCLUDE FILE rw_options_extents.incl.pl1 4 2* 4 3* Extents for the formatting options used for producing reports. 4 4* Kept as a separate include so that some programs may include this 4 5* file without including rw_format_options.incl.pl1 4 6* 4 7* Al Dupuis - August 1983 4 8* 4 9**/ 4 10 /* format: off */ 4 11 4 12 /* The three types of format options that we have. */ 4 13 4 14 dcl GENERAL_REPORT_OPTION fixed bin static int options (constant) init (1); 4 15 dcl GENERAL_COLUMN_OPTION fixed bin static int options (constant) init (2); 4 16 dcl SPECIFIC_COLUMN_OPTION fixed bin static int options (constant) init (3); 4 17 4 18 /* Used to determine how big the tables are without doing a hbound on it. */ 4 19 4 20 dcl NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE fixed bin static int options (constant) init (15); 4 21 dcl NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE fixed bin static int options (constant) init (9); 4 22 dcl NUMBER_OF_SPECIFIC_COLUMN_OPTIONS_IN_TABLE fixed bin static int options (constant) init (6); 4 23 4 24 /* Used to determine how much space is needed to list them. */ 4 25 4 26 dcl LONGEST_SPECIFIC_COLUMN_OPTION_NAME_LENGTH fixed bin static int options (constant) init (10); /* -alignment */ 4 27 dcl LONGEST_GENERAL_REPORT_OPTION_NAME_LENGTH fixed bin static int options (constant) init (25); /* -format_document_controls */ 4 28 dcl LONGEST_GENERAL_COLUMN_OPTION_NAME_LENGTH fixed bin static int options (constant) init (21); /* -group_footer_trigger */ 4 29 4 30 /* MAXIMUM_OPTION_IDENTIFIER_LENGTH + MAXIMUM_OPTION_NAME_LENGTH */ 4 31 4 32 dcl MAXIMUM_NORMALIZED_OPTION_NAME_LENGTH fixed bin static int options (constant) init (101); 4 33 4 34 dcl MAXIMUM_OPTION_IDENTIFIER_LENGTH fixed bin static int options (constant) init (69); 4 35 dcl MAXIMUM_OPTION_NAME_LENGTH fixed bin static int options (constant) init (32); 4 36 dcl MAXIMUM_OPTION_VALUE_LENGTH fixed bin static int options (constant) init (4096); 4 37 4 38 /* Used to index into the OPTIONS tables defined in rw_format_options.incl.pl1. */ 4 39 4 40 dcl INDEX_FOR_DELIMITER fixed bin static int options (constant) init (1); 4 41 dcl INDEX_FOR_FORMAT_DOCUMENT_CONTROLS fixed bin static int options (constant) init (2); 4 42 dcl INDEX_FOR_HYPHENATION fixed bin static int options (constant) init (3); 4 43 dcl INDEX_FOR_PAGE_FOOTER_VALUE fixed bin static int options (constant) init (4); 4 44 dcl INDEX_FOR_PAGE_HEADER_VALUE fixed bin static int options (constant) init (5); 4 45 dcl INDEX_FOR_PAGE_LENGTH fixed bin static int options (constant) init (6); 4 46 dcl INDEX_FOR_PAGE_WIDTH fixed bin static int options (constant) init (7); 4 47 dcl INDEX_FOR_TITLE_LINE fixed bin static int options (constant) init (8); 4 48 dcl INDEX_FOR_TRUNCATION fixed bin static int options (constant) init (9); 4 49 4 50 dcl INDEX_FOR_COLUMN_ORDER fixed bin static int options (constant) init (1); 4 51 dcl INDEX_FOR_COUNT fixed bin static int options (constant) init (2); 4 52 dcl INDEX_FOR_EXCLUDE fixed bin static int options (constant) init (3); 4 53 dcl INDEX_FOR_GROUP fixed bin static int options (constant) init (4); 4 54 dcl INDEX_FOR_GROUP_FOOTER_TRIGGER fixed bin static int options (constant) init (5); 4 55 dcl INDEX_FOR_GROUP_FOOTER_VALUE fixed bin static int options (constant) init (6); 4 56 dcl INDEX_FOR_GROUP_HEADER_TRIGGER fixed bin static int options (constant) init (7); 4 57 dcl INDEX_FOR_GROUP_HEADER_VALUE fixed bin static int options (constant) init (8); 4 58 dcl INDEX_FOR_OUTLINE fixed bin static int options (constant) init (9); 4 59 dcl INDEX_FOR_PAGE_BREAK fixed bin static int options (constant) init (10); 4 60 dcl INDEX_FOR_ROW_FOOTER_VALUE fixed bin static int options (constant) init (11); 4 61 dcl INDEX_FOR_ROW_HEADER_VALUE fixed bin static int options (constant) init (12); 4 62 dcl INDEX_FOR_SUBCOUNT fixed bin static int options (constant) init (13); 4 63 dcl INDEX_FOR_SUBTOTAL fixed bin static int options (constant) init (14); 4 64 dcl INDEX_FOR_TOTAL fixed bin static int options (constant) init (15); 4 65 4 66 dcl INDEX_FOR_ALIGNMENT fixed bin static int options (constant) init (1); 4 67 dcl INDEX_FOR_EDITING fixed bin static int options (constant) init (2); 4 68 dcl INDEX_FOR_FOLDING fixed bin static int options (constant) init (3); 4 69 dcl INDEX_FOR_SEPARATOR fixed bin static int options (constant) init (4); 4 70 dcl INDEX_FOR_TITLE fixed bin static int options (constant) init (5); 4 71 dcl INDEX_FOR_WIDTH fixed bin static int options (constant) init (6); 4 72 4 73 /* END INCLUDE FILE rw_options_extents */ 456 457 5 1 /* --------------- BEGIN include file status_structures.incl.pl1 --------------- */ 5 2 5 3 /* Revised from existing include files 09/26/78 by C. D. Tavares */ 5 4 5 5 /* This include file contains branch and link structures returned by 5 6* hcs_$status_ and hcs_$status_long. */ 5 7 5 8 dcl 1 status_branch aligned based (status_ptr), 5 9 2 short aligned, 5 10 3 type fixed bin (2) unaligned unsigned, /* seg, dir, or link */ 5 11 3 nnames fixed bin (16) unaligned unsigned, /* number of names */ 5 12 3 names_relp bit (18) unaligned, /* see entry_names dcl */ 5 13 3 dtcm bit (36) unaligned, /* date/time contents last modified */ 5 14 3 dtu bit (36) unaligned, /* date/time last used */ 5 15 3 mode bit (5) unaligned, /* caller's effective access */ 5 16 3 raw_mode bit (5) unaligned, /* caller's raw "rew" modes */ 5 17 3 pad1 bit (8) unaligned, 5 18 3 records_used fixed bin (18) unaligned unsigned, /* number of NONZERO pages used */ 5 19 5 20 /* Limit of information returned by hcs_$status_ */ 5 21 5 22 2 long aligned, 5 23 3 dtd bit (36) unaligned, /* date/time last dumped */ 5 24 3 dtem bit (36) unaligned, /* date/time branch last modified */ 5 25 3 lvid bit (36) unaligned, /* logical volume ID */ 5 26 3 current_length fixed bin (12) unaligned unsigned, /* number of last page used */ 5 27 3 bit_count fixed bin (24) unaligned unsigned, /* reported length in bits */ 5 28 3 pad2 bit (8) unaligned, 5 29 3 copy_switch bit (1) unaligned, /* copy switch */ 5 30 3 tpd_switch bit (1) unaligned, /* transparent to paging device switch */ 5 31 3 mdir_switch bit (1) unaligned, /* is a master dir */ 5 32 3 damaged_switch bit (1) unaligned, /* salvager warned of possible damage */ 5 33 3 synchronized_switch bit (1) unaligned, /* DM synchronized file */ 5 34 3 pad3 bit (5) unaligned, 5 35 3 ring_brackets (0:2) fixed bin (6) unaligned unsigned, 5 36 3 uid bit (36) unaligned; /* unique ID */ 5 37 5 38 dcl 1 status_link aligned based (status_ptr), 5 39 2 type fixed bin (2) unaligned unsigned, /* as above */ 5 40 2 nnames fixed bin (16) unaligned unsigned, 5 41 2 names_relp bit (18) unaligned, 5 42 2 dtem bit (36) unaligned, 5 43 2 dtd bit (36) unaligned, 5 44 2 pathname_length fixed bin (17) unaligned, /* see pathname */ 5 45 2 pathname_relp bit (18) unaligned; /* see pathname */ 5 46 5 47 dcl status_entry_names (status_branch.nnames) character (32) aligned 5 48 based (pointer (status_area_ptr, status_branch.names_relp)), 5 49 /* array of names returned */ 5 50 status_pathname character (status_link.pathname_length) aligned 5 51 based (pointer (status_area_ptr, status_link.pathname_relp)), 5 52 /* link target path */ 5 53 status_area_ptr pointer, 5 54 status_ptr pointer; 5 55 5 56 dcl (Link initial (0), 5 57 Segment initial (1), 5 58 Directory initial (2)) fixed bin internal static options (constant); 5 59 /* values for type fields declared above */ 5 60 5 61 /* ---------------- END include file status_structures.incl.pl1 ---------------- */ 458 459 460 end report_writer; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/08/85 1128.9 report_writer.pl1 >special_ldd>online>41-15-04/10/85>report_writer.pl1 450 1 06/11/76 1043.4 area_info.incl.pl1 >ldd>include>area_info.incl.pl1 452 2 04/09/85 1109.7 access_mode_values.incl.pl1 >special_ldd>online>41-15-04/10/85>access_mode_values.incl.pl1 454 3 11/16/84 1418.0 rw_report_info.incl.pl1 >ldd>include>rw_report_info.incl.pl1 456 4 11/16/84 1418.1 rw_options_extents.incl.pl1 >ldd>include>rw_options_extents.incl.pl1 458 5 11/22/82 0955.7 status_structures.incl.pl1 >ldd>include>status_structures.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. NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE constant fixed bin(17,0) initial dcl 4-20 ref 240 242 242 242 242 242 242 242 242 253 253 253 314 315 316 325 326 336 337 338 339 340 341 342 343 345 352 353 354 355 356 357 358 360 375 379 NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE constant fixed bin(17,0) initial dcl 4-21 ref 240 242 242 242 242 242 242 242 242 253 253 253 314 315 316 325 326 336 337 338 339 340 341 342 343 345 352 353 354 355 356 357 358 360 375 379 OFF constant bit(1) initial dcl 387 ref 311 315 ON constant bit(1) initial dcl 388 ref 312 318 addr builtin function dcl 390 ref 137 137 214 214 309 378 area_control based structure level 1 dcl 1-20 area_info based structure level 1 dcl 1-7 set ref 377 378* 378 area_info_ptr based pointer level 2 dcl 3-7 set ref 379* area_info_version_1 constant fixed bin(17,0) initial dcl 1-3 ref 310 area_infop 000266 automatic pointer dcl 1-5 set ref 309* 310 311 312 313* 318 322* 377* 378 379 area_ptrs 000100 automatic pointer array dcl 391 set ref 150 151* 169* 322* 325 326 automatic_area_info 000104 automatic structure level 1 unaligned dcl 392 set ref 309 378 cfci_loop 000100 automatic fixed bin(17,0) dcl 148 set ref 150* 151* 154* 155* cleanup 000130 stack reference condition dcl 394 ref 90 code_parm parameter fixed bin(35,0) dcl 41 set ref 51 92* 93 93* 95 95* 98 com_err_ 000010 constant entry external dcl 395 ref 47 control 1 based structure level 2 dcl 1-7 set ref 311* directory_name 000136 automatic char(168) unaligned dcl 397 set ref 360* 367* display_iocb_ptr based pointer level 2 dcl 3-7 set ref 357* ec_suffix 000210 automatic char(32) unaligned dcl 399 set ref 289* 355 editing_strings_temp_seg_ptr based pointer level 2 dcl 3-7 set ref 242 338* entry_name 000220 automatic char(32) unaligned dcl 400 set ref 360* 367* error_table_$badcall 000012 external static fixed bin(35,0) dcl 401 set ref 47* error_table_$no_s_permission 000014 external static fixed bin(35,0) dcl 402 ref 369 error_table_$null_info_ptr 000016 external static fixed bin(35,0) dcl 403 ref 277 expand_pathname_ 000020 constant entry external dcl 404 ref 360 extend 1 based bit(1) level 3 packed unaligned dcl 1-7 set ref 312* flags based structure level 2 dcl 3-7 format_report_info_ptr based pointer level 2 dcl 3-7 set ref 356* general_work_area_ptr based pointer level 2 dcl 3-7 set ref 253 316* get_pdir_ 000022 constant entry external dcl 406 ref 358 hbound builtin function dcl 408 ref 150 154 hcs_$status_long 000024 constant entry external dcl 409 ref 367 headers_temp_seg_ptr based pointer level 2 dcl 3-7 set ref 242 339* input_string_temp_seg_ptr based pointer level 2 dcl 3-7 set ref 242 336* ioa_$rsnnl 000026 constant entry external dcl 411 ref 193 201 209 218 227 irw_code_parm parameter fixed bin(35,0) dcl 182 set ref 176 185* 187 190* 191 198* 199 206* 207 214* 216 223* 225 irw_message_parm parameter varying char dcl 183 set ref 176 185* 193* 201* 209* 218* 227* long 4 based structure level 2 dcl 5-8 message_parm parameter varying char dcl 42 set ref 51 92* 93* 95* name_value_area_ptr based pointer level 2 dcl 3-7 set ref 253 325* name_value_temp_seg_ptr based pointer level 2 dcl 3-7 set ref 242 342* no_freeing 1(04) based bit(1) level 3 packed unaligned dcl 1-7 set ref 318* null builtin function dcl 413 ref 86 130 141 3-61 158 167 168 169 170 275 345 345 352 356 357 367 367 output_string_temp_seg_ptr based pointer level 2 dcl 3-7 set ref 242 337* permanent_report 0(05) based bit(1) level 3 packed unaligned dcl 3-7 set ref 133 raats_loop 000322 automatic pointer dcl 238 set ref 242* 250* 253* 256* report_cip 000270 automatic pointer initial dcl 3-61 set ref 98 128* 130 132* 133 133* 3-61* 168* 185* 190* 198* 206* 240 242 242 242 242 242 242 242 242 253 253 253 314* 315 316 325 326 336 337 338 339 340 341 342 343 345 352 353 354 355 356 357 358 360 375 379 report_cip_parm parameter pointer dcl 43 set ref 51 86* 98* 104 128 141* report_control_info based structure level 1 dcl 3-7 set ref 314 315* report_temp_seg_ptr based pointer level 2 dcl 3-7 set ref 242 343* report_work_area_ptr based pointer level 2 dcl 3-7 set ref 253 326* report_writer_info_dirs_$standard_requests 000030 external static char(168) unaligned dcl 415 set ref 139* 223* report_writer_request_table_$standard_requests 000032 external static bit(36) dcl 416 set ref 137 137 214 214 row_value_temp_segment_ptr based pointer level 2 dcl 3-7 set ref 242 340* rw_fr_delete_report 000036 constant entry external dcl 418 ref 133 rw_options$set_all_to_system_defaults 000034 constant entry external dcl 417 ref 198 rw_requests$delete_report_info_ptr 000040 constant entry external dcl 419 ref 136 rw_requests$set_initial_report_info_ptr 000042 constant entry external dcl 420 ref 206 rw_table_manager$initialize_table 000044 constant entry external dcl 421 ref 190 rw_table_manager$set_table_manager 000046 constant entry external dcl 422 ref 185 rw_table_manager$terminate_table 000050 constant entry external dcl 423 ref 132 sci_ptr 000230 automatic pointer dcl 425 set ref 136* 137* 139* 151* 155* 158* 206* 214* 223* 240* 250* 256* 282* 283* 287* 289* 313* 322* 332* 353 ssmi_code_parm parameter fixed bin(35,0) dcl 269 set ref 263 272* 277* ssmi_message_parm parameter varying char dcl 270 set ref 263 273* 278* ssu_$add_info_dir 000052 constant entry external dcl 426 ref 223 ssu_$add_request_table 000054 constant entry external dcl 427 ref 214 ssu_$delete_info_dir 000056 constant entry external dcl 428 ref 139 ssu_$delete_request_table 000060 constant entry external dcl 429 ref 137 ssu_$get_area 000062 constant entry external dcl 430 ref 313 322 ssu_$get_ec_suffix 000064 constant entry external dcl 431 ref 289 ssu_$get_info_ptr 000066 constant entry external dcl 432 ref 283 ssu_$get_subsystem_name 000070 constant entry external dcl 433 ref 287 ssu_$get_temp_segment 000072 constant entry external dcl 434 ref 332 ssu_$release_area 000074 constant entry external dcl 435 ref 151 158 256 ssu_$release_temp_segment 000076 constant entry external dcl 436 ref 155 250 ssu_info_ptr_parm parameter pointer dcl 44 ref 51 275 282 status_branch based structure level 1 dcl 5-8 ref 359 376 status_ptr 000272 automatic pointer dcl 5-47 set ref 359* 367* 375 376 stdr_code_parm parameter fixed bin(35,0) dcl 301 set ref 295 306* 345* 346 360* 362 367* 369 369 374* stdr_index 000344 automatic fixed bin(17,0) dcl 302 set ref 320* 322 323* 323 328* 332 333* 333 stdr_loop 000345 automatic char(32) unaligned dcl 303 set ref 321* 322* 329* 332* stdr_message_parm parameter varying char dcl 304 set ref 295 307* 348* 364* 371* subsystem_control_info_ptr based pointer level 2 dcl 3-7 set ref 240 353* subsystem_info_ptr 000232 automatic pointer dcl 437 set ref 283* 354 subsystem_name_parm parameter char unaligned dcl 45 ref 51 285 285 subsystems_ec_suffix based char(32) level 2 dcl 3-7 set ref 355* subsystems_info_ptr based pointer level 2 dcl 3-7 set ref 354* table_information_ptr based pointer level 2 dcl 3-7 set ref 352* table_manager_name 000234 automatic char(32) unaligned dcl 440 set ref 185* 285* 287* temp_dir_name based char(168) level 2 packed unaligned dcl 3-7 set ref 358* 360* temp_dir_unique_id based bit(36) level 2 dcl 3-7 set ref 375* temp_segment_ptrs 000244 automatic pointer array dcl 441 set ref 154 155* 170* 332* 336 337 338 339 340 341 342 343 uid 11 based bit(36) level 3 packed unaligned dcl 5-8 ref 375 unspec builtin function dcl 443 set ref 311* 315* value_$init_seg 000100 constant entry external dcl 445 ref 345 value_seg_ptr based pointer level 2 dcl 3-7 set ref 242 341* 345* version based fixed bin(17,0) level 2 dcl 1-7 set ref 310* work_area based area dcl 447 ref 314 359 376 377 work_area_ptr 000264 automatic pointer dcl 448 set ref 158 158* 167* 313* 314 316 359 376 377 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_ACCESS internal static bit(3) initial unaligned dcl 2-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 DIR_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 2-33 Directory internal static fixed bin(17,0) initial dcl 5-56 EXTENSIBLE internal static bit(1) initial dcl 385 E_ACCESS internal static bit(3) initial unaligned dcl 2-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 GENERAL_COLUMN_OPTION internal static fixed bin(17,0) initial dcl 4-15 GENERAL_REPORT_OPTION internal static fixed bin(17,0) initial dcl 4-14 INDEX_FOR_ALIGNMENT internal static fixed bin(17,0) initial dcl 4-66 INDEX_FOR_COLUMN_ORDER internal static fixed bin(17,0) initial dcl 4-50 INDEX_FOR_COUNT internal static fixed bin(17,0) initial dcl 4-51 INDEX_FOR_DELIMITER internal static fixed bin(17,0) initial dcl 4-40 INDEX_FOR_EDITING internal static fixed bin(17,0) initial dcl 4-67 INDEX_FOR_EXCLUDE internal static fixed bin(17,0) initial dcl 4-52 INDEX_FOR_FOLDING internal static fixed bin(17,0) initial dcl 4-68 INDEX_FOR_FORMAT_DOCUMENT_CONTROLS internal static fixed bin(17,0) initial dcl 4-41 INDEX_FOR_GROUP internal static fixed bin(17,0) initial dcl 4-53 INDEX_FOR_GROUP_FOOTER_TRIGGER internal static fixed bin(17,0) initial dcl 4-54 INDEX_FOR_GROUP_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 4-55 INDEX_FOR_GROUP_HEADER_TRIGGER internal static fixed bin(17,0) initial dcl 4-56 INDEX_FOR_GROUP_HEADER_VALUE internal static fixed bin(17,0) initial dcl 4-57 INDEX_FOR_HYPHENATION internal static fixed bin(17,0) initial dcl 4-42 INDEX_FOR_OUTLINE internal static fixed bin(17,0) initial dcl 4-58 INDEX_FOR_PAGE_BREAK internal static fixed bin(17,0) initial dcl 4-59 INDEX_FOR_PAGE_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 4-43 INDEX_FOR_PAGE_HEADER_VALUE internal static fixed bin(17,0) initial dcl 4-44 INDEX_FOR_PAGE_LENGTH internal static fixed bin(17,0) initial dcl 4-45 INDEX_FOR_PAGE_WIDTH internal static fixed bin(17,0) initial dcl 4-46 INDEX_FOR_ROW_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 4-60 INDEX_FOR_ROW_HEADER_VALUE internal static fixed bin(17,0) initial dcl 4-61 INDEX_FOR_SEPARATOR internal static fixed bin(17,0) initial dcl 4-69 INDEX_FOR_SUBCOUNT internal static fixed bin(17,0) initial dcl 4-62 INDEX_FOR_SUBTOTAL internal static fixed bin(17,0) initial dcl 4-63 INDEX_FOR_TITLE internal static fixed bin(17,0) initial dcl 4-70 INDEX_FOR_TITLE_LINE internal static fixed bin(17,0) initial dcl 4-47 INDEX_FOR_TOTAL internal static fixed bin(17,0) initial dcl 4-64 INDEX_FOR_TRUNCATION internal static fixed bin(17,0) initial dcl 4-48 INDEX_FOR_WIDTH internal static fixed bin(17,0) initial dcl 4-71 LONGEST_GENERAL_COLUMN_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 4-28 LONGEST_GENERAL_REPORT_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 4-27 LONGEST_SPECIFIC_COLUMN_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 4-26 Link internal static fixed bin(17,0) initial dcl 5-56 MAXIMUM_NORMALIZED_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 4-32 MAXIMUM_OPTION_IDENTIFIER_LENGTH internal static fixed bin(17,0) initial dcl 4-34 MAXIMUM_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 4-35 MAXIMUM_OPTION_VALUE_LENGTH internal static fixed bin(17,0) initial dcl 4-36 M_ACCESS internal static bit(3) initial unaligned dcl 2-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 NUMBER_OF_SPECIFIC_COLUMN_OPTIONS_IN_TABLE internal static fixed bin(17,0) initial dcl 4-22 N_ACCESS internal static bit(3) initial unaligned dcl 2-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 REW_ACCESS internal static bit(3) initial unaligned dcl 2-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 RE_ACCESS internal static bit(3) initial unaligned dcl 2-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 RW_ACCESS internal static bit(3) initial unaligned dcl 2-11 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 R_ACCESS internal static bit(3) initial unaligned dcl 2-11 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SA_ACCESS internal static bit(3) initial unaligned dcl 2-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 2-30 SMA_ACCESS internal static bit(3) initial unaligned dcl 2-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SM_ACCESS internal static bit(3) initial unaligned dcl 2-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SPECIFIC_COLUMN_OPTION internal static fixed bin(17,0) initial dcl 4-16 S_ACCESS internal static bit(3) initial unaligned dcl 2-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 Segment internal static fixed bin(17,0) initial dcl 5-56 W_ACCESS internal static bit(3) initial unaligned dcl 2-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 status_area_ptr automatic pointer dcl 5-47 status_entry_names based char(32) array dcl 5-47 status_link based structure level 1 dcl 5-38 status_pathname based char dcl 5-47 sys_info$max_seg_size external static fixed bin(35,0) dcl 438 NAMES DECLARED BY EXPLICIT CONTEXT. cleanup_for_create_invocation 000643 constant entry internal dcl 146 ref 90 100 create_invocation 000353 constant entry external dcl 51 destroy_invocation 000520 constant entry external dcl 104 initialize_for_create_invocation 000733 constant entry internal dcl 165 ref 88 initialize_report_writer 000770 constant entry internal dcl 176 ref 95 release_areas_and_temp_segments 001344 constant entry internal dcl 236 ref 135 report_writer 000316 constant entry external dcl 37 setup_subsystem_mandatory_info 001577 constant entry internal dcl 263 ref 92 setup_to_do_reporting 001707 constant entry internal dcl 295 ref 93 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3332 3434 2653 3342 Length 4006 2653 102 335 456 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME report_writer 414 external procedure is an external procedure. on unit on line 90 64 on unit cleanup_for_create_invocation 72 internal procedure is called by several nonquick procedures. initialize_for_create_invocation internal procedure shares stack frame of external procedure report_writer. initialize_report_writer internal procedure shares stack frame of external procedure report_writer. release_areas_and_temp_segments internal procedure shares stack frame of external procedure report_writer. setup_subsystem_mandatory_info internal procedure shares stack frame of external procedure report_writer. setup_to_do_reporting internal procedure shares stack frame of external procedure report_writer. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cleanup_for_create_invocation 000100 cfci_loop cleanup_for_create_invocation report_writer 000100 area_ptrs report_writer 000104 automatic_area_info report_writer 000136 directory_name report_writer 000210 ec_suffix report_writer 000220 entry_name report_writer 000230 sci_ptr report_writer 000232 subsystem_info_ptr report_writer 000234 table_manager_name report_writer 000244 temp_segment_ptrs report_writer 000264 work_area_ptr report_writer 000266 area_infop report_writer 000270 report_cip report_writer 000272 status_ptr report_writer 000322 raats_loop release_areas_and_temp_segments 000344 stdr_index setup_to_do_reporting 000345 stdr_loop setup_to_do_reporting THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this call_int_other return enable ext_entry ext_entry_desc int_entry alloc_based free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ expand_pathname_ get_pdir_ hcs_$status_long ioa_$rsnnl rw_fr_delete_report rw_options$set_all_to_system_defaults rw_requests$delete_report_info_ptr rw_requests$set_initial_report_info_ptr rw_table_manager$initialize_table rw_table_manager$set_table_manager rw_table_manager$terminate_table ssu_$add_info_dir ssu_$add_request_table ssu_$delete_info_dir ssu_$delete_request_table ssu_$get_area ssu_$get_ec_suffix ssu_$get_info_ptr ssu_$get_subsystem_name ssu_$get_temp_segment ssu_$release_area ssu_$release_temp_segment value_$init_seg THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badcall error_table_$no_s_permission error_table_$null_info_ptr report_writer_info_dirs_$standard_requests report_writer_request_table_$standard_requests LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 3 61 000311 37 000315 47 000324 49 000345 51 000346 86 000377 88 000401 90 000402 92 000424 93 000442 95 000462 98 000502 100 000510 102 000514 104 000515 128 000531 130 000534 132 000540 133 000552 135 000567 136 000570 137 000577 139 000615 141 000637 144 000641 146 000642 150 000650 151 000655 152 000670 154 000672 155 000677 156 000712 158 000714 161 000732 165 000733 167 000734 168 000736 169 000737 170 000753 172 000767 176 000770 185 001001 187 001030 190 001034 191 001045 193 001050 195 001076 198 001077 199 001110 201 001113 203 001141 206 001142 207 001155 209 001160 211 001206 214 001207 216 001230 218 001233 220 001261 223 001262 225 001311 227 001314 229 001342 232 001343 236 001344 240 001345 242 001356 250 001363 251 001374 253 001521 256 001534 257 001545 259 001576 263 001577 272 001610 273 001612 275 001614 277 001621 278 001624 279 001634 282 001635 283 001640 285 001651 287 001664 289 001675 291 001706 295 001707 306 001720 307 001722 309 001724 310 001726 311 001730 312 001731 313 001733 314 001761 315 002012 316 002046 318 002051 320 002054 321 002056 322 002063 323 002110 324 002111 325 002120 326 002131 328 002134 329 002136 332 002143 333 002165 334 002166 336 002241 337 002252 338 002255 339 002260 340 002263 341 002266 342 002270 343 002273 345 002276 346 002322 348 002325 349 002336 352 002337 353 002351 354 002354 355 002357 356 002404 357 002410 358 002412 359 002422 360 002427 362 002501 364 002504 365 002515 367 002516 369 002556 371 002564 372 002575 374 002576 375 002577 376 002627 377 002631 378 002636 379 002641 381 002652 ----------------------------------------------------------- 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