COMPILATION LISTING OF SEGMENT rw_define_columns Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/24/88 1526.9 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* format: off */ 7 8 /* This is the subroutine called by Multics subsystems to define 9* a set of columns for report_writer_. 10* 11* Description: 12* 13* Known Bugs: 14* 15* Other Problems: 16* 17* History: 18* 19* Written - Al Dupuis - October 1984. 20* 21**/ 22 23 rw_define_columns: proc ( 24 25 report_control_ip_parm, /* input: points to report_control_info */ 26 row_info_ptr_parm, /* input: points to row_info */ 27 code_parm, /* output: success or failure */ 28 message_parm /* output: reason for the failure */ 29 ); 30 31 dcl code_parm fixed bin (35) parm; 32 dcl message_parm char (*) varying parm; 33 dcl report_control_ip_parm ptr parm; 34 dcl row_info_ptr_parm ptr parm; 35 36 report_cip = report_control_ip_parm; 37 row_info_ptr = row_info_ptr_parm; 38 code_parm = 0; 39 message_parm = ""; 40 41 sci_ptr = report_control_info.subsystem_control_info_ptr; 42 work_area_ptr = report_control_info.general_work_area_ptr; 43 column_print_lengths_ptr = null; 44 table_ip = null; 45 cleanup_has_been_signalled = OFF; 46 on cleanup begin; 47 cleanup_has_been_signalled = ON; 48 call cleanup_allocated_things; 49 end; 50 51 if row_info_ptr ^= null 52 then do; 53 call check_row_info_validity (code_parm, message_parm); 54 if code_parm = 0 55 then call fill_in_row_info (code_parm, message_parm); 56 if code_parm ^= 0 57 then return; 58 call allocate_table_info; 59 end; 60 61 if report_control_info.table_information_ptr ^= null 62 then do; 63 free report_control_info.table_information_ptr -> table_info; 64 report_control_info.table_information_ptr = null; 65 end; 66 report_control_info.table_information_ptr = table_ip; 67 68 call rw_options$define_new_column_options (report_cip); 69 call cleanup_allocated_things; 70 71 return; 72 73 allocate_table_info: proc; 74 75 dcl ati_loop fixed bin; 76 77 ti_init_column_count = row_info.number_of_columns; 78 79 allocate table_info in (work_area) set (table_ip); 80 table_info.version = TABLE_INFO_VERSION_1; 81 table_info.maximum_column_name_length = the_maximum_column_name_length; 82 table_info.maximum_column_value_length = the_maximum_column_value_length; 83 table_info.row_value_length = row_info.value_length; 84 table_info.row_value_ptr = row_info.value_ptr; 85 86 do ati_loop = 1 to ti_init_column_count; 87 table_info.columns (ati_loop).column_name 88 = row_info.column (ati_loop).names; 89 table_info.columns (ati_loop).column_data_type 90 = row_info.column (ati_loop).descriptors; 91 table_info.columns (ati_loop).column_length 92 = row_info.column (ati_loop).lengths; 93 table_info.columns (ati_loop).column_index 94 = row_info.column (ati_loop).indexes; 95 end; 96 97 return; 98 99 end allocate_table_info; 100 101 check_row_info_validity: proc ( 102 103 criv_code_parm, /* output: success or failure */ 104 criv_message_parm /* output: reason for the failure */ 105 ); 106 107 dcl criv_code_parm fixed bin (35) parm; 108 dcl criv_loop fixed bin; 109 dcl criv_message_parm char (*) varying parm; 110 dcl criv_valid_data_type bit (1) aligned; 111 112 criv_code_parm = 0; 113 criv_message_parm = ""; 114 115 if row_info.version ^= ROW_INFO_VERSION_1 116 then do; 117 criv_code_parm = error_table_$unimplemented_version; 118 call ioa_$rsnnl ( 119 "^/The row_info structure version number was ^a instead of ^a.", 120 criv_message_parm, (0), row_info.version, ROW_INFO_VERSION_1); 121 return; 122 end; 123 124 if row_info.number_of_columns ^> 0 125 then do; 126 criv_code_parm = error_table_$improper_data_format; 127 call ioa_$rsnnl ( 128 "The number of columns supplied was ^d instead of a positive integer.", 129 criv_message_parm, (0), row_info.number_of_columns); 130 return; 131 end; 132 the_maximum_column_name_length = 0; 133 criv_code_parm = error_table_$improper_data_format; 134 135 do criv_loop = 1 to row_info.number_of_columns; 136 row_info.column (criv_loop).names = rtrim (row_info.column (criv_loop).names); 137 if index (row_info.column (criv_loop).names, BLANK_OR_TAB) ^= 0 138 then do; 139 call ioa_$rsnnl ( 140 "^/The column name ""^a"" contained blanks or tabs.", 141 criv_message_parm, (0), row_info.column (criv_loop).names); 142 return; 143 end; 144 the_current_column_name_length = length (row_info.column (criv_loop).names); 145 if the_current_column_name_length > the_maximum_column_name_length 146 then the_maximum_column_name_length = the_current_column_name_length; 147 arg_descriptor_ptr = addr (row_info.column (criv_loop).descriptors); 148 if arg_descriptor_ptr -> bit_36_aligned = OFF 149 then if row_info.column (criv_loop).lengths ^> 0 150 then call ioa_$rsnnl ( 151 "^/The descriptor for ^a was zero and it's length field wasn't a positive integer.", 152 criv_message_parm, (0), row_info.column (criv_loop).names); 153 else if row_info.column (criv_loop).lengths ^< sys_info$max_seg_size * 4 + 1 154 then call ioa_$rsnnl ( 155 "^/The descriptor for ^a was zero and it's length field was^/larger than the maximum Multics segment size.", 156 criv_message_parm, (0), row_info.column (criv_loop).names); 157 else criv_valid_data_type = ON; 158 else criv_valid_data_type = (arg_descriptor.type = real_fix_bin_1_dtype) 159 | (arg_descriptor.type = real_fix_bin_2_dtype) 160 | (arg_descriptor.type = real_flt_bin_1_dtype) 161 | (arg_descriptor.type = real_flt_bin_2_dtype) 162 | (arg_descriptor.type = cplx_fix_bin_1_dtype) 163 | (arg_descriptor.type = cplx_fix_bin_2_dtype) 164 | (arg_descriptor.type = cplx_flt_bin_1_dtype) 165 | (arg_descriptor.type = cplx_flt_bin_2_dtype) 166 | (arg_descriptor.type = real_fix_dec_9bit_ls_dtype) 167 | (arg_descriptor.type = real_flt_dec_9bit_dtype) 168 | (arg_descriptor.type = cplx_fix_dec_9bit_ls_dtype) 169 | (arg_descriptor.type = cplx_flt_dec_9bit_dtype) 170 | (arg_descriptor.type = bit_dtype) 171 | (arg_descriptor.type = varying_bit_dtype) 172 | (arg_descriptor.type = char_dtype) 173 | (arg_descriptor.type = varying_char_dtype) 174 | (arg_descriptor.type = real_fix_dec_9bit_ls_overp_dtype) 175 | (arg_descriptor.type = real_fix_dec_9bit_ts_overp_dtype) 176 | (arg_descriptor.type = real_fix_bin_1_uns_dtype) 177 | (arg_descriptor.type = real_fix_bin_2_uns_dtype) 178 | (arg_descriptor.type = real_fix_dec_9bit_uns_dtype) 179 | (arg_descriptor.type = real_fix_dec_9bit_ts_dtype) 180 | (arg_descriptor.type = real_fix_dec_4bit_uns_dtype) 181 | (arg_descriptor.type = real_fix_dec_4bit_ts_dtype) 182 | (arg_descriptor.type = real_fix_dec_4bit_bytealigned_uns_dtype) 183 | (arg_descriptor.type = real_fix_dec_4bit_ls_dtype) 184 | (arg_descriptor.type = real_flt_dec_4bit_dtype) 185 | (arg_descriptor.type = real_fix_dec_4bit_bytealigned_ls_dtype) 186 | (arg_descriptor.type = real_flt_dec_4bit_bytealigned_dtype) 187 | (arg_descriptor.type = cplx_fix_dec_4bit_bytealigned_ls_dtype) 188 | (arg_descriptor.type = cplx_flt_dec_4bit_bytealigned_dtype); 189 if criv_message_parm ^= "" 190 then return; 191 else if ^criv_valid_data_type 192 then do; 193 call ioa_$rsnnl ( 194 "^/The descriptor ""^w"" for the ^a column isn't supported.", 195 criv_message_parm, (0), row_info.column (criv_loop).descriptors, 196 row_info.column (criv_loop).names); 197 return; 198 end; 199 else; 200 end; 201 criv_code_parm = 0; 202 203 return; 204 205 end check_row_info_validity; 206 207 cleanup_allocated_things: proc; 208 209 if column_print_lengths_ptr ^= null 210 then free column_print_lengths; 211 212 if cleanup_has_been_signalled 213 then do; 214 if table_ip ^= null 215 then free table_info; 216 report_control_info.table_information_ptr = null; 217 end; 218 219 return; 220 221 end cleanup_allocated_things; 222 223 fill_in_row_info: proc ( 224 225 firi_code_parm, /* output: success or failure */ 226 firi_message_parm /* output: reason for the failure */ 227 ); 228 229 dcl firi_code_parm fixed bin (35) parm; 230 dcl firi_current_index_position fixed bin (21); 231 dcl firi_loop fixed bin; 232 dcl firi_message_parm char (*) varying parm; 233 234 firi_code_parm = 0; 235 firi_message_parm = ""; 236 237 allocate column_print_lengths in (work_area) 238 set (column_print_lengths_ptr); 239 the_maximum_column_value_length = 0; 240 firi_current_index_position = 1; 241 242 do firi_loop = 1 to row_info.number_of_columns; 243 arg_descriptor_ptr = addr (row_info.column (firi_loop).descriptors); 244 if arg_descriptor_ptr -> bit_36_aligned = OFF 245 then do; 246 column_print_lengths (firi_loop) = row_info.column (firi_loop).lengths; 247 arg_descriptor.flag = ON; 248 arg_descriptor.type = char_dtype; 249 arg_descriptor.packed = ON; 250 arg_descriptor.number_dims = 0; 251 arg_descriptor.size = column_print_lengths (firi_loop); 252 end; 253 else do; 254 if mdbm_util_$binary_data_class (arg_descriptor_ptr) 255 then column_print_lengths (firi_loop) = divide (fixed_arg_descriptor.precision, 3, 21) + 5; 256 else if mdbm_util_$number_data_class (arg_descriptor_ptr) 257 then column_print_lengths (firi_loop) = fixed_arg_descriptor.precision + 3; 258 else if mdbm_util_$string_data_class (arg_descriptor_ptr) 259 then column_print_lengths (firi_loop) = arg_descriptor.size; 260 else column_print_lengths (firi_loop) = 20; 261 if mdbm_util_$number_data_class (arg_descriptor_ptr) 262 then if mdbm_util_$fixed_data_class (arg_descriptor_ptr) 263 then if (fixed_arg_descriptor.scale < 0) 264 | (fixed_arg_descriptor.scale > 0 & fixed_arg_descriptor.precision < fixed_arg_descriptor.scale) 265 then column_print_lengths (firi_loop) = column_print_lengths (firi_loop) 266 + ceil (log10 (abs (fixed_arg_descriptor.scale))); 267 else; 268 else column_print_lengths (firi_loop) = column_print_lengths (firi_loop) + 5; 269 else; 270 if mdbm_util_$complex_data_class (arg_descriptor_ptr) 271 then column_print_lengths (firi_loop) = column_print_lengths (firi_loop) * 2; 272 end; 273 row_info.column (firi_loop).indexes = firi_current_index_position; 274 row_info.column (firi_loop).lengths = column_print_lengths (firi_loop); 275 firi_current_index_position = firi_current_index_position + column_print_lengths (firi_loop); 276 if column_print_lengths (firi_loop) > the_maximum_column_value_length 277 then the_maximum_column_value_length = column_print_lengths (firi_loop); 278 end; 279 280 the_row_value_length = sum (column_print_lengths); 281 if the_row_value_length > sys_info$max_seg_size * 4 282 then do; 283 firi_code_parm = error_table_$improper_data_format; 284 call ioa_$rsnnl ( 285 "^/The ^d character length of the row exceeded one segment.", 286 firi_message_parm, (0), the_row_value_length); 287 return; 288 end; 289 290 row_info.value_ptr = report_control_info.row_value_temp_segment_ptr; 291 row_info.value_length = the_row_value_length; 292 row_info.current_column_number = 0; 293 294 return; 295 296 end fill_in_row_info; 297 298 dcl BLANK_OR_TAB char (2) internal static options (constant) init (" "); 299 300 dcl OFF bit (1) aligned internal static options (constant) init ("0"b); 301 dcl ON bit (1) aligned internal static options (constant) init ("1"b); 302 303 dcl abs builtin; 304 dcl addr builtin; 305 306 dcl bit_36_aligned bit (36) aligned based; 307 308 dcl ceil builtin; 309 dcl cleanup condition; 310 dcl cleanup_has_been_signalled bit (1) aligned; 311 dcl column_print_lengths (row_info.number_of_columns) fixed bin (21) based (column_print_lengths_ptr); 312 dcl column_print_lengths_ptr ptr; 313 314 dcl divide builtin; 315 316 dcl error_table_$improper_data_format fixed bin(35) ext static; 317 dcl error_table_$unimplemented_version fixed bin(35) ext static; 318 319 dcl index builtin; 320 dcl ioa_$rsnnl entry() options(variable); 321 322 dcl length builtin; 323 dcl log10 builtin; 324 325 dcl mdbm_util_$binary_data_class entry (ptr) returns(bit(1) aligned); 326 dcl mdbm_util_$complex_data_class entry (ptr) returns(bit(1) aligned); 327 dcl mdbm_util_$fixed_data_class entry (ptr) returns(bit(1) aligned); 328 dcl mdbm_util_$number_data_class entry (ptr) returns(bit(1) aligned); 329 dcl mdbm_util_$string_data_class entry (ptr) returns(bit(1) aligned); 330 331 dcl null builtin; 332 333 dcl rtrim builtin; 334 dcl rw_options$define_new_column_options entry (ptr); 335 336 dcl sci_ptr ptr; 337 dcl sum builtin; 338 dcl sys_info$max_seg_size fixed bin(35) ext static; 339 340 dcl the_current_column_name_length fixed bin; 341 dcl the_row_value_length fixed bin (21); 342 dcl the_maximum_column_name_length fixed bin; 343 dcl the_maximum_column_value_length fixed bin (21); 344 345 dcl work_area area (sys_info$max_seg_size) based (work_area_ptr); 346 dcl work_area_ptr ptr; 347 1 1 /* BEGIN INCLUDE FILE ... arg_descriptor.incl.pl1 1 2* 1 3* James R. Davis 1 Mar 79 */ 1 4 /* Modified June 83 JMAthane for extended arg descriptor format */ 1 5 1 6 dcl 1 arg_descriptor based (arg_descriptor_ptr) aligned, 1 7 2 flag bit (1) unal, 1 8 2 type fixed bin (6) unsigned unal, 1 9 2 packed bit (1) unal, 1 10 2 number_dims fixed bin (4) unsigned unal, 1 11 2 size fixed bin (24) unsigned unal; 1 12 1 13 dcl 1 fixed_arg_descriptor based (arg_descriptor_ptr) aligned, 1 14 2 flag bit (1) unal, 1 15 2 type fixed bin (6) unsigned unal, 1 16 2 packed bit (1) unal, 1 17 2 number_dims fixed bin (4) unsigned unal, 1 18 2 scale fixed bin (11) unal, 1 19 2 precision fixed bin (12) unsigned unal; 1 20 1 21 dcl 1 extended_arg_descriptor based (arg_descriptor_ptr) aligned, 1 22 2 flag bit (1) unal, /* = "1"b */ 1 23 2 type fixed bin (6) unsigned unal, /* = 58 */ 1 24 2 packed bit (1) unal, /* significant if number_dims ^= 0 */ 1 25 2 number_dims fixed (4) unsigned unal,/* number of variable dimensions */ 1 26 2 size bit (24) unal, 1 27 2 dims (0 refer (extended_arg_descriptor.number_dims)), /* part referenced by called generated code */ 1 28 3 low fixed bin (35), 1 29 3 high fixed bin (35), 1 30 3 multiplier fixed bin (35), /* in bits if packed, in words if not */ 1 31 2 real_type fixed bin (18) unsigned unal, 1 32 2 type_offset fixed bin (18) unsigned unal; /* offset rel to symbol tree to symbol node for type, if any */ 1 33 1 34 dcl arg_descriptor_ptr ptr; 1 35 1 36 dcl extended_arg_type fixed bin init (58); 1 37 1 38 /* END INCLUDE file .... arg_descriptor.incl.pl1 */ 348 349 2 1 /* BEGIN INCLUDE FILE rw_options_extents.incl.pl1 2 2* 2 3* Extents for the formatting options used for producing reports. 2 4* Kept as a separate include so that some programs may include this 2 5* file without including rw_format_options.incl.pl1 2 6* 2 7* Al Dupuis - August 1983 2 8* 2 9**/ 2 10 /* format: off */ 2 11 2 12 /* The three types of format options that we have. */ 2 13 2 14 dcl GENERAL_REPORT_OPTION fixed bin static int options (constant) init (1); 2 15 dcl GENERAL_COLUMN_OPTION fixed bin static int options (constant) init (2); 2 16 dcl SPECIFIC_COLUMN_OPTION fixed bin static int options (constant) init (3); 2 17 2 18 /* Used to determine how big the tables are without doing a hbound on it. */ 2 19 2 20 dcl NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE fixed bin static int options (constant) init (15); 2 21 dcl NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE fixed bin static int options (constant) init (9); 2 22 dcl NUMBER_OF_SPECIFIC_COLUMN_OPTIONS_IN_TABLE fixed bin static int options (constant) init (6); 2 23 2 24 /* Used to determine how much space is needed to list them. */ 2 25 2 26 dcl LONGEST_SPECIFIC_COLUMN_OPTION_NAME_LENGTH fixed bin static int options (constant) init (10); /* -alignment */ 2 27 dcl LONGEST_GENERAL_REPORT_OPTION_NAME_LENGTH fixed bin static int options (constant) init (25); /* -format_document_controls */ 2 28 dcl LONGEST_GENERAL_COLUMN_OPTION_NAME_LENGTH fixed bin static int options (constant) init (21); /* -group_footer_trigger */ 2 29 2 30 /* MAXIMUM_OPTION_IDENTIFIER_LENGTH + MAXIMUM_OPTION_NAME_LENGTH */ 2 31 2 32 dcl MAXIMUM_NORMALIZED_OPTION_NAME_LENGTH fixed bin static int options (constant) init (101); 2 33 2 34 dcl MAXIMUM_OPTION_IDENTIFIER_LENGTH fixed bin static int options (constant) init (69); 2 35 dcl MAXIMUM_OPTION_NAME_LENGTH fixed bin static int options (constant) init (32); 2 36 dcl MAXIMUM_OPTION_VALUE_LENGTH fixed bin static int options (constant) init (4096); 2 37 2 38 /* Used to index into the OPTIONS tables defined in rw_format_options.incl.pl1. */ 2 39 2 40 dcl INDEX_FOR_DELIMITER fixed bin static int options (constant) init (1); 2 41 dcl INDEX_FOR_FORMAT_DOCUMENT_CONTROLS fixed bin static int options (constant) init (2); 2 42 dcl INDEX_FOR_HYPHENATION fixed bin static int options (constant) init (3); 2 43 dcl INDEX_FOR_PAGE_FOOTER_VALUE fixed bin static int options (constant) init (4); 2 44 dcl INDEX_FOR_PAGE_HEADER_VALUE fixed bin static int options (constant) init (5); 2 45 dcl INDEX_FOR_PAGE_LENGTH fixed bin static int options (constant) init (6); 2 46 dcl INDEX_FOR_PAGE_WIDTH fixed bin static int options (constant) init (7); 2 47 dcl INDEX_FOR_TITLE_LINE fixed bin static int options (constant) init (8); 2 48 dcl INDEX_FOR_TRUNCATION fixed bin static int options (constant) init (9); 2 49 2 50 dcl INDEX_FOR_COLUMN_ORDER fixed bin static int options (constant) init (1); 2 51 dcl INDEX_FOR_COUNT fixed bin static int options (constant) init (2); 2 52 dcl INDEX_FOR_EXCLUDE fixed bin static int options (constant) init (3); 2 53 dcl INDEX_FOR_GROUP fixed bin static int options (constant) init (4); 2 54 dcl INDEX_FOR_GROUP_FOOTER_TRIGGER fixed bin static int options (constant) init (5); 2 55 dcl INDEX_FOR_GROUP_FOOTER_VALUE fixed bin static int options (constant) init (6); 2 56 dcl INDEX_FOR_GROUP_HEADER_TRIGGER fixed bin static int options (constant) init (7); 2 57 dcl INDEX_FOR_GROUP_HEADER_VALUE fixed bin static int options (constant) init (8); 2 58 dcl INDEX_FOR_OUTLINE fixed bin static int options (constant) init (9); 2 59 dcl INDEX_FOR_PAGE_BREAK fixed bin static int options (constant) init (10); 2 60 dcl INDEX_FOR_ROW_FOOTER_VALUE fixed bin static int options (constant) init (11); 2 61 dcl INDEX_FOR_ROW_HEADER_VALUE fixed bin static int options (constant) init (12); 2 62 dcl INDEX_FOR_SUBCOUNT fixed bin static int options (constant) init (13); 2 63 dcl INDEX_FOR_SUBTOTAL fixed bin static int options (constant) init (14); 2 64 dcl INDEX_FOR_TOTAL fixed bin static int options (constant) init (15); 2 65 2 66 dcl INDEX_FOR_ALIGNMENT fixed bin static int options (constant) init (1); 2 67 dcl INDEX_FOR_EDITING fixed bin static int options (constant) init (2); 2 68 dcl INDEX_FOR_FOLDING fixed bin static int options (constant) init (3); 2 69 dcl INDEX_FOR_SEPARATOR fixed bin static int options (constant) init (4); 2 70 dcl INDEX_FOR_TITLE fixed bin static int options (constant) init (5); 2 71 dcl INDEX_FOR_WIDTH fixed bin static int options (constant) init (6); 2 72 2 73 /* END INCLUDE FILE rw_options_extents */ 350 351 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 */ 352 353 4 1 /* BEGIN INCLUDE FILE rw_row_info.incl.pl1 4 2* 4 3* Written - Al Dupuis 4 4**/ 4 5 /* format: off */ 4 6 4 7 dcl 1 row_info aligned based (row_info_ptr), 4 8 2 version char (8) unaligned, 4 9 2 value_ptr ptr, 4 10 2 value_length fixed bin (21), 4 11 2 number_of_columns fixed bin, 4 12 2 current_column_number fixed bin, 4 13 2 column (row_info_init_number_of_columns 4 14 refer (row_info.number_of_columns)), 4 15 3 names char (128) varying, 4 16 3 descriptors bit (36), 4 17 3 lengths fixed bin (21), 4 18 3 indexes fixed bin (21); 4 19 4 20 dcl row_info_init_number_of_columns fixed bin; 4 21 dcl row_info_ptr ptr; 4 22 4 23 dcl row_value char (row_info.value_length) based (row_info.value_ptr); 4 24 4 25 dcl row_value_as_an_array (row_info.value_length) char (1) based (row_info.value_ptr); 4 26 4 27 dcl column_value char (row_info.column.lengths (row_info.current_column_number)) 4 28 based (addr (row_value_as_an_array (row_info.column.indexes (row_info.current_column_number)))); 4 29 4 30 dcl ROW_INFO_VERSION_1 char (8) internal static options (constant) init ("rwri_001"); 4 31 4 32 /* END INCLUDE FILE rw_row_info.incl.pl1 */ 354 355 5 1 /* BEGIN INCLUDE FILE rw_table_info.incl.pl1 5 2* 5 3* Written - Al Dupuis 5 4**/ 5 5 /* format: off */ 5 6 5 7 dcl 1 table_info aligned based (table_ip), 5 8 2 version char (8), 5 9 2 column_count fixed bin, 5 10 2 maximum_column_name_length fixed bin, 5 11 2 maximum_column_value_length fixed bin, 5 12 2 row_value_length fixed bin (21), 5 13 2 row_value_ptr ptr, 5 14 2 columns (ti_init_column_count refer (table_info.column_count)), 5 15 3 column_name char (69) varying, 5 16 3 column_data_type bit (36), 5 17 3 column_length fixed bin (21), 5 18 3 column_index fixed bin (21); 5 19 5 20 dcl table_ip ptr; 5 21 dcl ti_init_column_count fixed bin; 5 22 dcl TABLE_INFO_VERSION_1 char (8) internal static options (constant) init ("rwti_001"); 5 23 5 24 /* END INCLUDE FILE view_master_table_info.incl.pl1 */ 356 357 6 1 /* BEGIN INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 6 2 6 3 6 4 /****^ HISTORY COMMENTS: 6 5* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 6 6* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 6 7* Added pascal_string_type_dtype descriptor type. Its number is 87. 6 8* Objects of this type are PASCAL string types. 6 9* 2) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 6 10* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 6 11* Added the new C types. 6 12* END HISTORY COMMENTS */ 6 13 6 14 /* This include file defines mnemonic names for the Multics 6 15* standard descriptor types, using both pl1 and cobol terminology. 6 16* PG 780613 6 17* JRD 790530 6 18* JRD 791016 6 19* MBW 810731 6 20* TGO 830614 Add hex types. 6 21* Modified June 83 JMAthane to add PASCAL data types 6 22* TGO 840120 Add float dec extended and generic, float binary generic 6 23**/ 6 24 6 25 dcl (real_fix_bin_1_dtype init (1), 6 26 real_fix_bin_2_dtype init (2), 6 27 real_flt_bin_1_dtype init (3), 6 28 real_flt_bin_2_dtype init (4), 6 29 cplx_fix_bin_1_dtype init (5), 6 30 cplx_fix_bin_2_dtype init (6), 6 31 cplx_flt_bin_1_dtype init (7), 6 32 cplx_flt_bin_2_dtype init (8), 6 33 real_fix_dec_9bit_ls_dtype init (9), 6 34 real_flt_dec_9bit_dtype init (10), 6 35 cplx_fix_dec_9bit_ls_dtype init (11), 6 36 cplx_flt_dec_9bit_dtype init (12), 6 37 pointer_dtype init (13), 6 38 offset_dtype init (14), 6 39 label_dtype init (15), 6 40 entry_dtype init (16), 6 41 structure_dtype init (17), 6 42 area_dtype init (18), 6 43 bit_dtype init (19), 6 44 varying_bit_dtype init (20), 6 45 char_dtype init (21), 6 46 varying_char_dtype init (22), 6 47 file_dtype init (23), 6 48 real_fix_dec_9bit_ls_overp_dtype init (29), 6 49 real_fix_dec_9bit_ts_overp_dtype init (30), 6 50 real_fix_bin_1_uns_dtype init (33), 6 51 real_fix_bin_2_uns_dtype init (34), 6 52 real_fix_dec_9bit_uns_dtype init (35), 6 53 real_fix_dec_9bit_ts_dtype init (36), 6 54 real_fix_dec_4bit_uns_dtype init (38), /* digit-aligned */ 6 55 real_fix_dec_4bit_ts_dtype init (39), /* byte-aligned */ 6 56 real_fix_dec_4bit_bytealigned_uns_dtype init (40), /* COBOL */ 6 57 real_fix_dec_4bit_ls_dtype init (41), /* digit-aligned */ 6 58 real_flt_dec_4bit_dtype init (42), /* digit-aligned */ 6 59 real_fix_dec_4bit_bytealigned_ls_dtype init (43), 6 60 real_flt_dec_4bit_bytealigned_dtype init (44), 6 61 cplx_fix_dec_4bit_bytealigned_ls_dtype init (45), 6 62 cplx_flt_dec_4bit_bytealigned_dtype init (46), 6 63 real_flt_hex_1_dtype init (47), 6 64 real_flt_hex_2_dtype init (48), 6 65 cplx_flt_hex_1_dtype init (49), 6 66 cplx_flt_hex_2_dtype init (50), 6 67 c_typeref_dtype init (54), 6 68 c_enum_dtype init (55), 6 69 c_enum_const_dtype init (56), 6 70 c_union_dtype init (57), 6 71 algol68_straight_dtype init (59), 6 72 algol68_format_dtype init (60), 6 73 algol68_array_descriptor_dtype init (61), 6 74 algol68_union_dtype init (62), 6 75 6 76 cobol_comp_6_dtype init (1), 6 77 cobol_comp_7_dtype init (1), 6 78 cobol_display_ls_dtype init (9), 6 79 cobol_structure_dtype init (17), 6 80 cobol_char_string_dtype init (21), 6 81 cobol_display_ls_overp_dtype init (29), 6 82 cobol_display_ts_overp_dtype init (30), 6 83 cobol_display_uns_dtype init (35), 6 84 cobol_display_ts_dtype init (36), 6 85 cobol_comp_8_uns_dtype init (38), /* digit aligned */ 6 86 cobol_comp_5_ts_dtype init (39), /* byte aligned */ 6 87 cobol_comp_5_uns_dtype init (40), 6 88 cobol_comp_8_ls_dtype init (41), /* digit aligned */ 6 89 real_flt_dec_extended_dtype init (81), /* 9-bit exponent */ 6 90 cplx_flt_dec_extended_dtype init (82), /* 9-bit exponent */ 6 91 real_flt_dec_generic_dtype init (83), /* generic float decimal */ 6 92 cplx_flt_dec_generic_dtype init (84), 6 93 real_flt_bin_generic_dtype init (85), /* generic float binary */ 6 94 cplx_flt_bin_generic_dtype init (86)) fixed bin internal static options (constant); 6 95 6 96 dcl (ft_integer_dtype init (1), 6 97 ft_real_dtype init (3), 6 98 ft_double_dtype init (4), 6 99 ft_complex_dtype init (7), 6 100 ft_complex_double_dtype init (8), 6 101 ft_external_dtype init (16), 6 102 ft_logical_dtype init (19), 6 103 ft_char_dtype init (21), 6 104 ft_hex_real_dtype init (47), 6 105 ft_hex_double_dtype init (48), 6 106 ft_hex_complex_dtype init (49), 6 107 ft_hex_complex_double_dtype init (50) 6 108 ) fixed bin internal static options (constant); 6 109 6 110 dcl (algol68_short_int_dtype init (1), 6 111 algol68_int_dtype init (1), 6 112 algol68_long_int_dtype init (2), 6 113 algol68_real_dtype init (3), 6 114 algol68_long_real_dtype init (4), 6 115 algol68_compl_dtype init (7), 6 116 algol68_long_compl_dtype init (8), 6 117 algol68_bits_dtype init (19), 6 118 algol68_bool_dtype init (19), 6 119 algol68_char_dtype init (21), 6 120 algol68_byte_dtype init (21), 6 121 algol68_struct_struct_char_dtype init (22), 6 122 algol68_struct_struct_bool_dtype init (20) 6 123 ) fixed bin internal static options (constant); 6 124 6 125 dcl (label_constant_runtime_dtype init (24), 6 126 int_entry_runtime_dtype init (25), 6 127 ext_entry_runtime_dtype init (26), 6 128 ext_procedure_runtime_dtype init (27), 6 129 picture_runtime_dtype init (63) 6 130 ) fixed bin internal static options (constant); 6 131 6 132 dcl (pascal_integer_dtype init (1), 6 133 pascal_real_dtype init (4), 6 134 pascal_label_dtype init (24), 6 135 pascal_internal_procedure_dtype init (25), 6 136 pascal_exportable_procedure_dtype init (26), 6 137 pascal_imported_procedure_dtype init (27), 6 138 pascal_typed_pointer_type_dtype init (64), 6 139 pascal_char_dtype init (65), 6 140 pascal_boolean_dtype init (66), 6 141 pascal_record_file_type_dtype init (67), 6 142 pascal_record_type_dtype init (68), 6 143 pascal_set_dtype init (69), 6 144 pascal_enumerated_type_dtype init (70), 6 145 pascal_enumerated_type_element_dtype init (71), 6 146 pascal_enumerated_type_instance_dtype init (72), 6 147 pascal_user_defined_type_dtype init (73), 6 148 pascal_user_defined_type_instance_dtype init (74), 6 149 pascal_text_file_dtype init (75), 6 150 pascal_procedure_type_dtype init (76), 6 151 pascal_variable_formal_parameter_dtype init (77), 6 152 pascal_value_formal_parameter_dtype init (78), 6 153 pascal_entry_formal_parameter_dtype init (79), 6 154 pascal_parameter_procedure_dtype init (80), 6 155 pascal_string_type_dtype init (87)) fixed bin int static options (constant); 6 156 6 157 6 158 /* END INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 358 359 360 end rw_define_columns; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/24/88 1400.3 rw_define_columns.pl1 >special_ldd>install>MR12.2-1184>rw_define_columns.pl1 348 1 11/02/83 1845.0 arg_descriptor.incl.pl1 >ldd>include>arg_descriptor.incl.pl1 350 2 11/16/84 1418.1 rw_options_extents.incl.pl1 >ldd>include>rw_options_extents.incl.pl1 352 3 11/16/84 1418.0 rw_report_info.incl.pl1 >ldd>include>rw_report_info.incl.pl1 354 4 11/16/84 1418.0 rw_row_info.incl.pl1 >ldd>include>rw_row_info.incl.pl1 356 5 11/16/84 1418.0 rw_table_info.incl.pl1 >ldd>include>rw_table_info.incl.pl1 358 6 10/24/88 1336.9 std_descriptor_types.incl.pl1 >special_ldd>install>MR12.2-1184>std_descriptor_types.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. BLANK_OR_TAB constant char(2) initial packed unaligned dcl 298 ref 137 NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE internal static fixed bin(17,0) initial dcl 2-20 ref 3-7 NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE internal static fixed bin(17,0) initial dcl 2-21 ref 3-7 OFF constant bit(1) initial dcl 300 ref 45 148 244 ON constant bit(1) initial dcl 301 ref 47 157 247 249 ROW_INFO_VERSION_1 000002 constant char(8) initial packed unaligned dcl 4-30 set ref 115 118* TABLE_INFO_VERSION_1 000000 constant char(8) initial packed unaligned dcl 5-22 ref 80 abs builtin function dcl 303 ref 261 addr builtin function dcl 304 ref 147 243 arg_descriptor based structure level 1 dcl 1-6 arg_descriptor_ptr 000122 automatic pointer dcl 1-34 set ref 147* 148 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 243* 244 247 248 249 250 251 254* 254 256* 256 258* 258 261* 261* 261 261 261 261 261 270* ati_loop 000144 automatic fixed bin(17,0) dcl 75 set ref 86* 87 87 89 89 91 91 93 93* bit_36_aligned based bit(36) dcl 306 ref 148 244 bit_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 ceil builtin function dcl 308 ref 261 char_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 248 cleanup 000100 stack reference condition dcl 309 ref 46 cleanup_has_been_signalled 000106 automatic bit(1) dcl 310 set ref 45* 47* 212 code_parm parameter fixed bin(35,0) dcl 31 set ref 23 38* 53* 54 54* 56 column 7 based structure array level 2 dcl 4-7 column_count 2 based fixed bin(17,0) level 2 dcl 5-7 set ref 63 79* 214 column_data_type 33 based bit(36) array level 3 dcl 5-7 set ref 89* column_index 35 based fixed bin(21,0) array level 3 dcl 5-7 set ref 93* column_length 34 based fixed bin(21,0) array level 3 dcl 5-7 set ref 91* column_name 10 based varying char(69) array level 3 dcl 5-7 set ref 87* column_print_lengths based fixed bin(21,0) array dcl 311 set ref 209 237 246* 251 254* 256* 258* 260* 261* 261 268* 268 270* 270 274 275 276 276 280 column_print_lengths_ptr 000110 automatic pointer dcl 312 set ref 43* 209 209 237* 246 251 254 256 258 260 261 261 268 268 270 270 274 275 276 276 280 columns 10 based structure array level 2 dcl 5-7 cplx_fix_bin_1_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 cplx_fix_bin_2_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 cplx_fix_dec_4bit_bytealigned_ls_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 cplx_fix_dec_9bit_ls_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 cplx_flt_bin_1_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 cplx_flt_bin_2_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 cplx_flt_dec_4bit_bytealigned_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 cplx_flt_dec_9bit_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 criv_code_parm parameter fixed bin(35,0) dcl 107 set ref 101 112* 117* 126* 133* 201* criv_loop 000154 automatic fixed bin(17,0) dcl 108 set ref 135* 136 136 137 139 144 147 148 148 153 153 193 193* criv_message_parm parameter varying char dcl 109 set ref 101 113* 118* 127* 139* 148* 153* 189 193* criv_valid_data_type 000155 automatic bit(1) dcl 110 set ref 157* 158* 191 current_column_number 6 based fixed bin(17,0) level 2 dcl 4-7 set ref 292* descriptors 50 based bit(36) array level 3 dcl 4-7 set ref 89 147 193* 243 divide builtin function dcl 314 ref 254 error_table_$improper_data_format 000010 external static fixed bin(35,0) dcl 316 ref 126 133 283 error_table_$unimplemented_version 000012 external static fixed bin(35,0) dcl 317 ref 117 extended_arg_type 000124 automatic fixed bin(17,0) initial dcl 1-36 set ref 1-36* firi_code_parm parameter fixed bin(35,0) dcl 229 set ref 223 234* 283* firi_current_index_position 000166 automatic fixed bin(21,0) dcl 230 set ref 240* 273 275* 275 firi_loop 000167 automatic fixed bin(17,0) dcl 231 set ref 242* 243 246 246 251 254 256 258 260 261 261 268 268 270 270 273 274 274 275 276 276* firi_message_parm parameter varying char dcl 232 set ref 223 235* 284* fixed_arg_descriptor based structure level 1 dcl 1-13 flag based bit(1) level 2 packed packed unaligned dcl 1-6 set ref 247* general_work_area_ptr 12 based pointer level 2 dcl 3-7 ref 42 index builtin function dcl 319 ref 137 indexes 52 based fixed bin(21,0) array level 3 dcl 4-7 set ref 93 273* ioa_$rsnnl 000014 constant entry external dcl 320 ref 118 127 139 148 153 193 284 length builtin function dcl 322 ref 144 lengths 51 based fixed bin(21,0) array level 3 dcl 4-7 set ref 91 148 153 246 274* log10 builtin function dcl 323 ref 261 maximum_column_name_length 3 based fixed bin(17,0) level 2 dcl 5-7 set ref 81* maximum_column_value_length 4 based fixed bin(17,0) level 2 dcl 5-7 set ref 82* mdbm_util_$binary_data_class 000016 constant entry external dcl 325 ref 254 mdbm_util_$complex_data_class 000020 constant entry external dcl 326 ref 270 mdbm_util_$fixed_data_class 000022 constant entry external dcl 327 ref 261 mdbm_util_$number_data_class 000024 constant entry external dcl 328 ref 256 261 mdbm_util_$string_data_class 000026 constant entry external dcl 329 ref 258 message_parm parameter varying char dcl 32 set ref 23 39* 53* 54* names 7 based varying char(128) array level 3 dcl 4-7 set ref 87 136* 136 137 139* 144 148* 153* 193* null builtin function dcl 331 ref 43 44 51 61 64 3-61 209 214 216 number_dims 0(08) based fixed bin(4,0) level 2 packed packed unsigned unaligned dcl 1-6 set ref 250* number_of_columns 5 based fixed bin(17,0) level 2 dcl 4-7 set ref 77 124 127* 135 209 237 242 280 packed 0(07) based bit(1) level 2 packed packed unaligned dcl 1-6 set ref 249* precision 0(24) based fixed bin(12,0) level 2 packed packed unsigned unaligned dcl 1-13 ref 254 256 261 real_fix_bin_1_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_bin_1_uns_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_bin_2_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_bin_2_uns_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_dec_4bit_bytealigned_ls_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_dec_4bit_bytealigned_uns_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_dec_4bit_ls_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_dec_4bit_ts_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_dec_4bit_uns_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_dec_9bit_ls_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_dec_9bit_ls_overp_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_dec_9bit_ts_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_dec_9bit_ts_overp_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_fix_dec_9bit_uns_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_flt_bin_1_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_flt_bin_2_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_flt_dec_4bit_bytealigned_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_flt_dec_4bit_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 real_flt_dec_9bit_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 report_cip 000126 automatic pointer initial dcl 3-61 set ref 36* 41 42 61 63 64 66 68* 3-61* 216 290 report_control_info based structure level 1 dcl 3-7 report_control_ip_parm parameter pointer dcl 33 ref 23 36 row_info based structure level 1 dcl 4-7 row_info_ptr 000130 automatic pointer dcl 4-21 set ref 37* 51 77 83 84 87 89 91 93 115 118 124 127 135 136 136 137 139 144 147 148 148 153 153 193 193 209 237 242 243 246 273 274 280 290 291 292 row_info_ptr_parm parameter pointer dcl 34 ref 23 37 row_value_length 5 based fixed bin(21,0) level 2 dcl 5-7 set ref 83* row_value_ptr 6 based pointer level 2 dcl 5-7 set ref 84* row_value_temp_segment_ptr 10 based pointer level 2 dcl 3-7 ref 290 rtrim builtin function dcl 333 ref 136 rw_options$define_new_column_options 000030 constant entry external dcl 334 ref 68 scale 0(12) based fixed bin(11,0) level 2 packed packed unaligned dcl 1-13 ref 261 261 261 261 sci_ptr 000112 automatic pointer dcl 336 set ref 41* size 0(12) based fixed bin(24,0) level 2 packed packed unsigned unaligned dcl 1-6 set ref 251* 258 subsystem_control_info_ptr 16 based pointer level 2 dcl 3-7 ref 41 sum builtin function dcl 337 ref 280 sys_info$max_seg_size 000032 external static fixed bin(35,0) dcl 338 ref 153 281 table_info based structure level 1 dcl 5-7 set ref 63 79 214 table_information_ptr 4 based pointer level 2 dcl 3-7 set ref 61 63 64* 66* 216* table_ip 000132 automatic pointer dcl 5-20 set ref 44* 66 79* 80 81 82 83 84 87 89 91 93 214 214 the_current_column_name_length 000114 automatic fixed bin(17,0) dcl 340 set ref 144* 145 145 the_maximum_column_name_length 000116 automatic fixed bin(17,0) dcl 342 set ref 81 132* 145 145* the_maximum_column_value_length 000117 automatic fixed bin(21,0) dcl 343 set ref 82 239* 276 276* the_row_value_length 000115 automatic fixed bin(21,0) dcl 341 set ref 280* 281 284* 291 ti_init_column_count 000134 automatic fixed bin(17,0) dcl 5-21 set ref 77* 79 79 86 type 0(01) based fixed bin(6,0) level 2 packed packed unsigned unaligned dcl 1-6 set ref 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 158 248* value_length 4 based fixed bin(21,0) level 2 dcl 4-7 set ref 83 291* value_ptr 2 based pointer level 2 dcl 4-7 set ref 84 290* varying_bit_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 varying_char_dtype constant fixed bin(17,0) initial dcl 6-25 ref 158 version based char(8) level 2 in structure "row_info" packed packed unaligned dcl 4-7 in procedure "rw_define_columns" set ref 115 118* version based char(8) level 2 in structure "table_info" dcl 5-7 in procedure "rw_define_columns" set ref 80* work_area based area dcl 345 ref 79 237 work_area_ptr 000120 automatic pointer dcl 346 set ref 42* 79 237 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. GENERAL_COLUMN_OPTION internal static fixed bin(17,0) initial dcl 2-15 GENERAL_REPORT_OPTION internal static fixed bin(17,0) initial dcl 2-14 INDEX_FOR_ALIGNMENT internal static fixed bin(17,0) initial dcl 2-66 INDEX_FOR_COLUMN_ORDER internal static fixed bin(17,0) initial dcl 2-50 INDEX_FOR_COUNT internal static fixed bin(17,0) initial dcl 2-51 INDEX_FOR_DELIMITER internal static fixed bin(17,0) initial dcl 2-40 INDEX_FOR_EDITING internal static fixed bin(17,0) initial dcl 2-67 INDEX_FOR_EXCLUDE internal static fixed bin(17,0) initial dcl 2-52 INDEX_FOR_FOLDING internal static fixed bin(17,0) initial dcl 2-68 INDEX_FOR_FORMAT_DOCUMENT_CONTROLS internal static fixed bin(17,0) initial dcl 2-41 INDEX_FOR_GROUP internal static fixed bin(17,0) initial dcl 2-53 INDEX_FOR_GROUP_FOOTER_TRIGGER internal static fixed bin(17,0) initial dcl 2-54 INDEX_FOR_GROUP_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 2-55 INDEX_FOR_GROUP_HEADER_TRIGGER internal static fixed bin(17,0) initial dcl 2-56 INDEX_FOR_GROUP_HEADER_VALUE internal static fixed bin(17,0) initial dcl 2-57 INDEX_FOR_HYPHENATION internal static fixed bin(17,0) initial dcl 2-42 INDEX_FOR_OUTLINE internal static fixed bin(17,0) initial dcl 2-58 INDEX_FOR_PAGE_BREAK internal static fixed bin(17,0) initial dcl 2-59 INDEX_FOR_PAGE_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 2-43 INDEX_FOR_PAGE_HEADER_VALUE internal static fixed bin(17,0) initial dcl 2-44 INDEX_FOR_PAGE_LENGTH internal static fixed bin(17,0) initial dcl 2-45 INDEX_FOR_PAGE_WIDTH internal static fixed bin(17,0) initial dcl 2-46 INDEX_FOR_ROW_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 2-60 INDEX_FOR_ROW_HEADER_VALUE internal static fixed bin(17,0) initial dcl 2-61 INDEX_FOR_SEPARATOR internal static fixed bin(17,0) initial dcl 2-69 INDEX_FOR_SUBCOUNT internal static fixed bin(17,0) initial dcl 2-62 INDEX_FOR_SUBTOTAL internal static fixed bin(17,0) initial dcl 2-63 INDEX_FOR_TITLE internal static fixed bin(17,0) initial dcl 2-70 INDEX_FOR_TITLE_LINE internal static fixed bin(17,0) initial dcl 2-47 INDEX_FOR_TOTAL internal static fixed bin(17,0) initial dcl 2-64 INDEX_FOR_TRUNCATION internal static fixed bin(17,0) initial dcl 2-48 INDEX_FOR_WIDTH internal static fixed bin(17,0) initial dcl 2-71 LONGEST_GENERAL_COLUMN_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 2-28 LONGEST_GENERAL_REPORT_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 2-27 LONGEST_SPECIFIC_COLUMN_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 2-26 MAXIMUM_NORMALIZED_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 2-32 MAXIMUM_OPTION_IDENTIFIER_LENGTH internal static fixed bin(17,0) initial dcl 2-34 MAXIMUM_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 2-35 MAXIMUM_OPTION_VALUE_LENGTH internal static fixed bin(17,0) initial dcl 2-36 NUMBER_OF_SPECIFIC_COLUMN_OPTIONS_IN_TABLE internal static fixed bin(17,0) initial dcl 2-22 SPECIFIC_COLUMN_OPTION internal static fixed bin(17,0) initial dcl 2-16 algol68_array_descriptor_dtype internal static fixed bin(17,0) initial dcl 6-25 algol68_bits_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_bool_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_byte_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_char_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_compl_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_format_dtype internal static fixed bin(17,0) initial dcl 6-25 algol68_int_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_long_compl_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_long_int_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_long_real_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_real_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_short_int_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_straight_dtype internal static fixed bin(17,0) initial dcl 6-25 algol68_struct_struct_bool_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_struct_struct_char_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_union_dtype internal static fixed bin(17,0) initial dcl 6-25 area_dtype internal static fixed bin(17,0) initial dcl 6-25 c_enum_const_dtype internal static fixed bin(17,0) initial dcl 6-25 c_enum_dtype internal static fixed bin(17,0) initial dcl 6-25 c_typeref_dtype internal static fixed bin(17,0) initial dcl 6-25 c_union_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_char_string_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_comp_5_ts_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_comp_5_uns_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_comp_6_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_comp_7_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_comp_8_ls_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_comp_8_uns_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_display_ls_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_display_ls_overp_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_display_ts_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_display_ts_overp_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_display_uns_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_structure_dtype internal static fixed bin(17,0) initial dcl 6-25 column_value based char packed unaligned dcl 4-27 cplx_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 6-25 entry_dtype internal static fixed bin(17,0) initial dcl 6-25 ext_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 6-125 ext_procedure_runtime_dtype internal static fixed bin(17,0) initial dcl 6-125 extended_arg_descriptor based structure level 1 dcl 1-21 file_dtype internal static fixed bin(17,0) initial dcl 6-25 ft_char_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_complex_double_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_complex_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_double_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_external_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_hex_complex_double_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_hex_complex_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_hex_double_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_hex_real_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_integer_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_logical_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_real_dtype internal static fixed bin(17,0) initial dcl 6-96 int_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 6-125 label_constant_runtime_dtype internal static fixed bin(17,0) initial dcl 6-125 label_dtype internal static fixed bin(17,0) initial dcl 6-25 offset_dtype internal static fixed bin(17,0) initial dcl 6-25 pascal_boolean_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_char_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_entry_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_enumerated_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_enumerated_type_element_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_enumerated_type_instance_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_exportable_procedure_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_imported_procedure_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_integer_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_internal_procedure_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_label_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_parameter_procedure_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_procedure_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_real_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_record_file_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_record_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_set_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_string_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_text_file_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_typed_pointer_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_user_defined_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_user_defined_type_instance_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_value_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_variable_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 6-132 picture_runtime_dtype internal static fixed bin(17,0) initial dcl 6-125 pointer_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 6-25 row_info_init_number_of_columns automatic fixed bin(17,0) dcl 4-20 row_value based char packed unaligned dcl 4-23 row_value_as_an_array based char(1) array packed unaligned dcl 4-25 structure_dtype internal static fixed bin(17,0) initial dcl 6-25 NAMES DECLARED BY EXPLICIT CONTEXT. allocate_table_info 000422 constant entry internal dcl 73 ref 58 check_row_info_validity 000515 constant entry internal dcl 101 ref 53 cleanup_allocated_things 001371 constant entry internal dcl 207 ref 48 69 fill_in_row_info 001427 constant entry internal dcl 223 ref 54 rw_define_columns 000233 constant entry external dcl 23 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2246 2302 2040 2256 Length 2630 2040 34 312 205 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rw_define_columns 318 external procedure is an external procedure. on unit on line 46 64 on unit allocate_table_info internal procedure shares stack frame of external procedure rw_define_columns. check_row_info_validity internal procedure shares stack frame of external procedure rw_define_columns. cleanup_allocated_things 64 internal procedure is called by several nonquick procedures. fill_in_row_info internal procedure shares stack frame of external procedure rw_define_columns. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rw_define_columns 000106 cleanup_has_been_signalled rw_define_columns 000110 column_print_lengths_ptr rw_define_columns 000112 sci_ptr rw_define_columns 000114 the_current_column_name_length rw_define_columns 000115 the_row_value_length rw_define_columns 000116 the_maximum_column_name_length rw_define_columns 000117 the_maximum_column_value_length rw_define_columns 000120 work_area_ptr rw_define_columns 000122 arg_descriptor_ptr rw_define_columns 000124 extended_arg_type rw_define_columns 000126 report_cip rw_define_columns 000130 row_info_ptr rw_define_columns 000132 table_ip rw_define_columns 000134 ti_init_column_count rw_define_columns 000144 ati_loop allocate_table_info 000154 criv_loop check_row_info_validity 000155 criv_valid_data_type check_row_info_validity 000166 firi_current_index_position fill_in_row_info 000167 firi_loop fill_in_row_info THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 r_e_as call_ext_out_desc call_ext_out call_int_this call_int_other return_mac fl2_to_fx1 enable_op ext_entry_desc int_entry ceil_fl log_base_10_ op_alloc_ op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ioa_$rsnnl mdbm_util_$binary_data_class mdbm_util_$complex_data_class mdbm_util_$fixed_data_class mdbm_util_$number_data_class mdbm_util_$string_data_class rw_options$define_new_column_options THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$improper_data_format error_table_$unimplemented_version sys_info$max_seg_size LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 23 000226 1 36 000246 3 61 000250 36 000252 37 000256 38 000261 39 000262 41 000264 42 000266 43 000270 44 000271 45 000272 46 000273 47 000307 48 000312 49 000317 51 000320 53 000324 54 000342 56 000362 58 000365 61 000366 63 000373 64 000401 66 000404 68 000406 69 000415 71 000421 73 000422 77 000423 79 000426 80 000437 81 000442 82 000444 83 000446 84 000451 86 000453 87 000463 89 000504 91 000506 93 000510 95 000512 97 000514 101 000515 112 000526 113 000530 115 000532 117 000537 118 000542 121 000576 124 000577 126 000601 127 000604 130 000635 132 000636 133 000637 135 000642 136 000651 137 000712 139 000726 142 000763 144 000764 145 000766 147 000771 148 000773 153 001035 157 001103 158 001106 189 001304 191 001314 193 001316 197 001362 200 001363 201 001365 203 001367 207 001370 209 001376 212 001405 214 001410 216 001422 219 001426 223 001427 234 001440 235 001442 237 001444 239 001452 240 001453 242 001455 243 001465 244 001471 246 001474 247 001501 248 001503 249 001507 250 001511 251 001515 252 001516 254 001517 256 001543 258 001566 260 001610 261 001614 267 001676 268 001677 270 001703 273 001724 274 001730 275 001734 276 001736 278 001741 280 001743 281 001764 283 001774 284 001777 287 002030 290 002031 291 002034 292 002036 294 002037 ----------------------------------------------------------- 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