COMPILATION LISTING OF SEGMENT rw_requests Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 11/16/84 1128.6 mst Fri Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* format: off */ 7 8 /* 9* 10* This procedure is called by ssu_ whenever any of the report writer 11* requests are invoked by the user. They are: column_value, display, 12* display_builtins, list_format_options, restore_format_options, 13* save_format_options, and set_format_options. This procedure is called 14* with a pointer to the ssu_ info structure and a pointer to the 15* subsystem's info structure. It obtains the pointer to the 16* report_control_info structure and then calls down to the appropriate 17* report writer subroutine to have the request executed, passing along 18* the report_control_info pointer. The names and values area is refreshed 19* before execution of some of the requests (the ones that use it), rather 20* than freeing everything allocated in it. 21* 22* It also provides the miscellaneous functions of: setting the initial 23* report_writer_ info pointer in internal static when a report_writer_ 24* invocation is first created; replaces the current report_writer_ info 25* pointer for the calling subsystem with a newly provided one, when the 26* calling subsystem wants to multiplex several report_writer_ invocations 27* within one subsystem invocation; and, removing the report_writer_ info 28* pointer from internal static. 29* 30* The following entrypoints are provided: 31* 32* column_value | These entrypoints are called by ssu_ whenever: a 33* display | user at the terminal types one of these request 34* display_builtins | names; or, the calling subsystem calls ssu_ 35* list_format_options | execute_line, execute_string, or 36* restore_format_options | evaluate_active_string with one of these request 37* save_format_options | names as an argument. 38* set_format_options | 39* 40* delete_report_info_pointer | This entrypoint is called to remove the 41* | report_writer_ info pointer from internal 42* | static storage. 43* 44* set_initial_report_info_ptr | This entrypoint is called to place the 45* | report_writer_ info pointer into internal 46* | static when a report_writer_ invocation is 47* | first created. 48* 49* set_report_writer_info_ptr | This entrypoint is called to replace the 50* | existing report_writer_ info pointer with 51* | a caller provided one. The next time a 52* | standard report_writer_ request is invoked, 53* | it will get this new one. 54* 55* Known Bugs: 56* 57* Other Problems: 58* 59* History: 60* 61* Written - Al Dupuis - October 1984. 62* 63**/ 64 65 rw_requests: proc; 66 67 /* These parameters are described at each entry where they are used. */ 68 69 dcl code_parm fixed bin (35) parm; 70 dcl message_parm char (*) varying parm; 71 dcl report_writer_info_ptr_parm ptr parm; 72 dcl sci_ptr_parm ptr parm; 73 dcl subsystems_info_ptr_parm ptr parm; 74 75 call com_err_ (error_table_$badcall, "rw_requests"); 76 77 return; 78 79 column_value: entry ( 80 81 sci_ptr_parm, /* input: ptr to the ssu_ info structure */ 82 subsystems_info_ptr_parm /* input: ptr to the subsystems info */ 83 ); 84 85 call load_report_control_info_ptr (DONT_REFRESH_THE_AREA); 86 call rw_column_value (sci_ptr, report_cip); 87 88 return; 89 90 delete_report_info_ptr: entry ( 91 92 sci_ptr_parm /* input: ssu_ info pointer */ 93 ); 94 95 dcl drip_loop fixed bin; 96 dcl drip_pointer_number fixed bin; 97 98 sci_ptr = sci_ptr_parm; 99 drip_pointer_number = 0; 100 101 do drip_loop = 1 to report_writer_info.number_of_pointers 102 while (drip_pointer_number = 0); 103 if sci_ptr = report_writer_info.pointers (drip_loop).ssu 104 then drip_pointer_number = drip_loop; 105 end; 106 107 if drip_pointer_number = 0 108 then call ssu_$abort_line (sci_ptr, error_table_$fatal_error, 109 "^/Unable to delete the report writer info pointer."); 110 report_writer_info.number_of_pointers 111 = report_writer_info.number_of_pointers - 1; 112 if drip_pointer_number = report_writer_info.number_of_pointers + 1 113 then return; 114 115 do drip_loop = drip_pointer_number to report_writer_info.number_of_pointers; 116 report_writer_info.pointers (drip_loop).ssu 117 = report_writer_info.pointers (drip_loop + 1).ssu; 118 report_writer_info.pointers (drip_loop).report_writer 119 = report_writer_info.pointers (drip_loop + 1).report_writer; 120 end; 121 122 return; 123 124 display: entry ( 125 126 sci_ptr_parm, /* input: ptr to the ssu_ info structure */ 127 subsystems_info_ptr_parm /* input: ptr to the subsystems info */ 128 ); 129 130 call load_report_control_info_ptr (DONT_REFRESH_THE_AREA); 131 call rw_display (sci_ptr, report_cip); 132 133 return; 134 135 display_builtins: entry ( 136 137 sci_ptr_parm, /* input: ptr to the ssu_ info structure */ 138 subsystems_info_ptr_parm /* input: ptr to the subsystems info */ 139 ); 140 141 call load_report_control_info_ptr (DONT_REFRESH_THE_AREA); 142 call rw_display_builtins (sci_ptr, report_cip); 143 144 return; 145 146 list_format_options: entry ( 147 148 sci_ptr_parm, /* input: ptr to the ssu_ info structure */ 149 subsystems_info_ptr_parm /* input: ptr to the subsystems info */ 150 ); 151 152 call load_report_control_info_ptr (REFRESH_THE_AREA); 153 call rw_list_format_options (sci_ptr, report_cip); 154 155 return; 156 157 restore_format_options: entry ( 158 159 sci_ptr_parm, /* input: ptr to the ssu_ info structure */ 160 subsystems_info_ptr_parm /* input: ptr to the subsystems info */ 161 ); 162 163 call load_report_control_info_ptr (DONT_REFRESH_THE_AREA); 164 call rw_restore_format_options (sci_ptr, report_cip); 165 166 return; 167 168 save_format_options: entry ( 169 170 sci_ptr_parm, /* input: ptr to the ssu_ info structure */ 171 subsystems_info_ptr_parm /* input: ptr to the subsystems info */ 172 ); 173 174 call load_report_control_info_ptr (REFRESH_THE_AREA); 175 call rw_save_format_options (sci_ptr, report_cip); 176 177 return; 178 179 set_initial_report_info_ptr: entry ( 180 181 sci_ptr_parm, /* input: ssu_ info pointer */ 182 report_writer_info_ptr_parm, /* input: points to report_control_info structure */ 183 code_parm /* output: success or failure */ 184 ); 185 186 if report_writer_info.number_of_pointers + 1 187 > hbound (report_writer_info.pointers, 1) 188 then do; 189 code_parm = error_table_$fatal_error; 190 return; 191 end; 192 else code_parm = 0; 193 report_writer_info.pointers (report_writer_info.number_of_pointers + 1).ssu 194 = sci_ptr_parm; 195 report_writer_info.pointers (report_writer_info.number_of_pointers + 1).report_writer 196 = report_writer_info_ptr_parm; 197 report_writer_info.number_of_pointers = report_writer_info.number_of_pointers + 1; 198 199 return; 200 201 set_format_options: entry ( 202 203 sci_ptr_parm, /* input: ptr to the ssu_ info structure */ 204 subsystems_info_ptr_parm /* input: ptr to the subsystems info */ 205 ); 206 207 call load_report_control_info_ptr (REFRESH_THE_AREA); 208 call rw_set_format_options (sci_ptr, report_cip); 209 210 return; 211 212 set_report_writer_info_ptr: entry ( 213 214 report_writer_info_ptr_parm, /* input: points to report_control_info structure */ 215 sci_ptr_parm, /* input: ssu_ info pointer */ 216 code_parm, /* output: success or failure */ 217 message_parm /* output: reason for the failure */ 218 ); 219 220 dcl srwip_loop fixed bin; 221 222 code_parm = 0; 223 message_parm = ""; 224 225 do srwip_loop = 1 to report_writer_info.number_of_pointers; 226 if report_writer_info.pointers (srwip_loop).ssu = sci_ptr_parm 227 then do; 228 report_writer_info.pointers (srwip_loop).report_writer 229 = report_writer_info_ptr_parm; 230 return; 231 end; 232 end; 233 234 code_parm = rw_error_$no_ssu_ptr_match; 235 message_parm = "^/The current report_writer_ info pointer will be retained."; 236 237 return; 238 239 load_report_control_info_ptr: proc ( 240 241 lrcip_refresh_the_area_parm /* input: ON means to refresh the area */ 242 ); 243 244 dcl lrcip_loop fixed bin; 245 dcl lrcip_not_found bit (1) aligned; 246 dcl lrcip_refresh_the_area_parm bit (1) aligned parm; 247 248 sci_ptr = sci_ptr_parm; 249 250 lrcip_not_found = "1"b; 251 do lrcip_loop = 1 to report_writer_info.number_of_pointers 252 while (lrcip_not_found); 253 if report_writer_info.pointers (lrcip_loop).ssu = sci_ptr 254 then do; 255 report_cip = report_writer_info.pointers (lrcip_loop).report_writer; 256 lrcip_not_found = "0"b; 257 end; 258 end; 259 if lrcip_not_found 260 then call ssu_$abort_line (sci_ptr, rw_error_$logic_error, 261 "^/Unable to find the report writer info pointer for the request."); 262 263 if lrcip_refresh_the_area_parm 264 then do; 265 call ssu_$release_area (sci_ptr, report_control_info.name_value_area_ptr); 266 call ssu_$get_area (sci_ptr, report_control_info.area_info_ptr, 267 "rw_.names_and_values_area", report_control_info.name_value_area_ptr); 268 end; 269 270 return; 271 272 end load_report_control_info_ptr; 273 274 dcl DONT_REFRESH_THE_AREA bit (1) aligned internal static options (constant) init ("0"b); 275 276 dcl REFRESH_THE_AREA bit (1) aligned internal static options (constant) init ("1"b); 277 278 dcl com_err_ entry() options(variable); 279 280 dcl error_table_$badcall fixed bin(35) ext static; 281 dcl error_table_$fatal_error fixed bin(35) ext static; 282 283 dcl hbound builtin; 284 285 dcl names_and_values_area_ptr ptr; 286 dcl null builtin; 287 288 dcl 1 report_writer_info aligned internal static, 289 2 number_of_pointers fixed bin init (0), 290 2 pointers (512), 291 3 ssu ptr, 292 3 report_writer ptr; 293 dcl rw_column_value entry (ptr, ptr); 294 dcl rw_display entry (ptr, ptr); 295 dcl rw_display_builtins entry (ptr, ptr); 296 dcl rw_error_$logic_error fixed bin(35) ext static; 297 dcl rw_error_$no_ssu_ptr_match fixed bin(35) ext static; 298 dcl rw_list_format_options entry (ptr, ptr); 299 dcl rw_restore_format_options entry (ptr, ptr); 300 dcl rw_save_format_options entry (ptr, ptr); 301 dcl rw_set_format_options entry (ptr, ptr); 302 303 dcl sci_ptr ptr; 304 dcl ssu_$abort_line entry() options(variable); 305 dcl ssu_$get_area entry (ptr, ptr, char(*), ptr); 306 dcl ssu_$release_area entry (ptr, ptr); 307 1 1 /* BEGIN INCLUDE FILE rw_options_extents.incl.pl1 1 2* 1 3* Extents for the formatting options used for producing reports. 1 4* Kept as a separate include so that some programs may include this 1 5* file without including rw_format_options.incl.pl1 1 6* 1 7* Al Dupuis - August 1983 1 8* 1 9**/ 1 10 /* format: off */ 1 11 1 12 /* The three types of format options that we have. */ 1 13 1 14 dcl GENERAL_REPORT_OPTION fixed bin static int options (constant) init (1); 1 15 dcl GENERAL_COLUMN_OPTION fixed bin static int options (constant) init (2); 1 16 dcl SPECIFIC_COLUMN_OPTION fixed bin static int options (constant) init (3); 1 17 1 18 /* Used to determine how big the tables are without doing a hbound on it. */ 1 19 1 20 dcl NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE fixed bin static int options (constant) init (15); 1 21 dcl NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE fixed bin static int options (constant) init (9); 1 22 dcl NUMBER_OF_SPECIFIC_COLUMN_OPTIONS_IN_TABLE fixed bin static int options (constant) init (6); 1 23 1 24 /* Used to determine how much space is needed to list them. */ 1 25 1 26 dcl LONGEST_SPECIFIC_COLUMN_OPTION_NAME_LENGTH fixed bin static int options (constant) init (10); /* -alignment */ 1 27 dcl LONGEST_GENERAL_REPORT_OPTION_NAME_LENGTH fixed bin static int options (constant) init (25); /* -format_document_controls */ 1 28 dcl LONGEST_GENERAL_COLUMN_OPTION_NAME_LENGTH fixed bin static int options (constant) init (21); /* -group_footer_trigger */ 1 29 1 30 /* MAXIMUM_OPTION_IDENTIFIER_LENGTH + MAXIMUM_OPTION_NAME_LENGTH */ 1 31 1 32 dcl MAXIMUM_NORMALIZED_OPTION_NAME_LENGTH fixed bin static int options (constant) init (101); 1 33 1 34 dcl MAXIMUM_OPTION_IDENTIFIER_LENGTH fixed bin static int options (constant) init (69); 1 35 dcl MAXIMUM_OPTION_NAME_LENGTH fixed bin static int options (constant) init (32); 1 36 dcl MAXIMUM_OPTION_VALUE_LENGTH fixed bin static int options (constant) init (4096); 1 37 1 38 /* Used to index into the OPTIONS tables defined in rw_format_options.incl.pl1. */ 1 39 1 40 dcl INDEX_FOR_DELIMITER fixed bin static int options (constant) init (1); 1 41 dcl INDEX_FOR_FORMAT_DOCUMENT_CONTROLS fixed bin static int options (constant) init (2); 1 42 dcl INDEX_FOR_HYPHENATION fixed bin static int options (constant) init (3); 1 43 dcl INDEX_FOR_PAGE_FOOTER_VALUE fixed bin static int options (constant) init (4); 1 44 dcl INDEX_FOR_PAGE_HEADER_VALUE fixed bin static int options (constant) init (5); 1 45 dcl INDEX_FOR_PAGE_LENGTH fixed bin static int options (constant) init (6); 1 46 dcl INDEX_FOR_PAGE_WIDTH fixed bin static int options (constant) init (7); 1 47 dcl INDEX_FOR_TITLE_LINE fixed bin static int options (constant) init (8); 1 48 dcl INDEX_FOR_TRUNCATION fixed bin static int options (constant) init (9); 1 49 1 50 dcl INDEX_FOR_COLUMN_ORDER fixed bin static int options (constant) init (1); 1 51 dcl INDEX_FOR_COUNT fixed bin static int options (constant) init (2); 1 52 dcl INDEX_FOR_EXCLUDE fixed bin static int options (constant) init (3); 1 53 dcl INDEX_FOR_GROUP fixed bin static int options (constant) init (4); 1 54 dcl INDEX_FOR_GROUP_FOOTER_TRIGGER fixed bin static int options (constant) init (5); 1 55 dcl INDEX_FOR_GROUP_FOOTER_VALUE fixed bin static int options (constant) init (6); 1 56 dcl INDEX_FOR_GROUP_HEADER_TRIGGER fixed bin static int options (constant) init (7); 1 57 dcl INDEX_FOR_GROUP_HEADER_VALUE fixed bin static int options (constant) init (8); 1 58 dcl INDEX_FOR_OUTLINE fixed bin static int options (constant) init (9); 1 59 dcl INDEX_FOR_PAGE_BREAK fixed bin static int options (constant) init (10); 1 60 dcl INDEX_FOR_ROW_FOOTER_VALUE fixed bin static int options (constant) init (11); 1 61 dcl INDEX_FOR_ROW_HEADER_VALUE fixed bin static int options (constant) init (12); 1 62 dcl INDEX_FOR_SUBCOUNT fixed bin static int options (constant) init (13); 1 63 dcl INDEX_FOR_SUBTOTAL fixed bin static int options (constant) init (14); 1 64 dcl INDEX_FOR_TOTAL fixed bin static int options (constant) init (15); 1 65 1 66 dcl INDEX_FOR_ALIGNMENT fixed bin static int options (constant) init (1); 1 67 dcl INDEX_FOR_EDITING fixed bin static int options (constant) init (2); 1 68 dcl INDEX_FOR_FOLDING fixed bin static int options (constant) init (3); 1 69 dcl INDEX_FOR_SEPARATOR fixed bin static int options (constant) init (4); 1 70 dcl INDEX_FOR_TITLE fixed bin static int options (constant) init (5); 1 71 dcl INDEX_FOR_WIDTH fixed bin static int options (constant) init (6); 1 72 1 73 /* END INCLUDE FILE rw_options_extents */ 308 309 2 1 /* BEGIN INCLUDE FILE rw_report_info.incl.pl1 2 2* Information needed to control the report environment. 2 3* Al Dupuis - August 1983 2 4**/ 2 5 /* format: off */ 2 6 2 7 dcl 1 report_control_info aligned based (report_cip), 2 8 2 flags, 2 9 3 report_is_paginated bit (1) unaligned, /* paged or one continous stream */ 2 10 3 table_has_been_started bit (1) unaligned, /* table clean up is necessary */ 2 11 3 table_is_full bit (1) unaligned, /* no more retrieves are necessary */ 2 12 3 report_has_been_started bit (1) unaligned, /* report clean up is necessary */ 2 13 3 report_is_formatted bit (1) unaligned, /* no more formatting is necessary */ 2 14 3 permanent_report bit (1) unaligned, /* or disposable */ 2 15 3 permanent_table bit (1) unaligned, /* or disposable */ 2 16 3 report_has_just_been_completed bit (1) unaligned, /* used for printing timers */ 2 17 3 table_has_just_been_loaded bit (1) unaligned, /* used for printing timers */ 2 18 3 multi_pass_mode bit (1) unaligned, /* on if we are to do more than 1 pass */ 2 19 3 available bit (26) unaligned, 2 20 2 format_options_flags, /* used to determine if value is default */ 2 21 3 general_report_default_value (NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE) bit (1) unaligned, 2 22 3 general_column_default_value (NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE) bit (1) unaligned, 2 23 2 value_seg_ptr ptr, /* the options value seg */ 2 24 2 table_information_ptr ptr, /* points to table_info */ 2 25 2 table_control_info_ptr ptr, /* points to table_control_info */ 2 26 2 row_value_temp_segment_ptr ptr, /* points to a segment for the row value */ 2 27 2 general_work_area_ptr ptr, /* a freeing work area */ 2 28 2 name_value_area_ptr ptr, /* area for name-value allocations */ 2 29 2 subsystem_control_info_ptr ptr, /* ptr for ssu_ info structure */ 2 30 2 subsystems_info_ptr ptr, /* points to subsystems info structure */ 2 31 2 name_value_temp_seg_ptr ptr, /* temp seg for name-value space */ 2 32 2 report_temp_seg_ptr ptr, /* report workspace */ 2 33 2 report_work_area_ptr ptr, /* report workspace */ 2 34 2 format_report_info_ptr ptr, /* info needed to create a report */ 2 35 2 input_string_temp_seg_ptr ptr, /* report workspace */ 2 36 2 output_string_temp_seg_ptr ptr, /* report workspace */ 2 37 2 editing_strings_temp_seg_ptr ptr, /* report workspace */ 2 38 2 headers_temp_seg_ptr ptr, /* report workspace */ 2 39 2 display_iocb_ptr ptr, /* report is displayed through this */ 2 40 2 area_info_ptr ptr, /* points to area_info structure */ 2 41 2 table_manager_delete_table_entry variable entry (ptr, fixed bin (35)), /* entry who deletes the table */ 2 42 2 table_manager_get_query_entry variable entry (ptr, ptr, fixed bin (21), fixed bin (35)), /* entry who gets the query */ 2 43 2 table_manager_get_row_entry variable entry (ptr, fixed bin (35)), /* entry who loads rows */ 2 44 2 table_manager_create_table_entry variable entry (ptr, fixed bin (35)), /* entry who makes a new table */ 2 45 2 options_identifier fixed bin, /* current set of options */ 2 46 2 report_identifier fixed bin, /* current report */ 2 47 2 no_of_rows_retrieved fixed bin (35), /* current no of rows */ 2 48 2 no_of_formatted_pages fixed bin (21), /* current no of pages */ 2 49 2 number_of_passes fixed bin, /* number of times report will be formatted */ 2 50 2 table_loading_time float bin (63), 2 51 2 table_sorting_time float bin (63), 2 52 2 table_deletion_time float bin (63), 2 53 2 report_setup_time float bin (63), 2 54 2 report_formatting_time float bin (63), 2 55 2 report_display_time float bin (63), 2 56 2 report_deletion_time float bin (63), 2 57 2 ssu_evaluate_active_string_time float bin (63), 2 58 2 temp_dir_unique_id bit (36), /* uid of temp dir */ 2 59 2 subsystems_ec_suffix char (32), /* suffix for saving and restoring ecs */ 2 60 2 temp_dir_name char (168) unaligned; /* the dir where we place the retrieved table and report */ 2 61 dcl report_cip ptr init (null ()); 2 62 2 63 /* END INCLUDE FILE rw_report_info.incl.pl1 */ 310 311 312 end rw_requests; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/16/84 1107.3 rw_requests.pl1 >special_ldd>online>7001-11/16/84>rw_requests.pl1 308 1 11/16/84 1107.8 rw_options_extents.incl.pl1 >special_ldd>online>7001-11/16/84>rw_options_extents.incl.pl1 310 2 11/16/84 1107.6 rw_report_info.incl.pl1 >special_ldd>online>7001-11/16/84>rw_report_info.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. DONT_REFRESH_THE_AREA constant bit(1) initial dcl 274 set ref 85* 130* 141* 163* NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE constant fixed bin(17,0) initial dcl 1-20 ref 265 266 266 NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE constant fixed bin(17,0) initial dcl 1-21 ref 265 266 266 REFRESH_THE_AREA constant bit(1) initial dcl 276 set ref 152* 174* 207* area_info_ptr based pointer level 2 dcl 2-7 set ref 266* code_parm parameter fixed bin(35,0) dcl 69 set ref 179 189* 192* 212 222* 234* com_err_ 004012 constant entry external dcl 278 ref 75 drip_loop 000100 automatic fixed bin(17,0) dcl 95 set ref 101* 103 103* 115* 116 116 118 118* drip_pointer_number 000101 automatic fixed bin(17,0) dcl 96 set ref 99* 101 103* 107 112 115 error_table_$badcall 004014 external static fixed bin(35,0) dcl 280 set ref 75* error_table_$fatal_error 004016 external static fixed bin(35,0) dcl 281 set ref 107* 189 hbound builtin function dcl 283 ref 186 lrcip_loop 000126 automatic fixed bin(17,0) dcl 244 set ref 251* 253 255* lrcip_not_found 000127 automatic bit(1) dcl 245 set ref 250* 251 256* 259 lrcip_refresh_the_area_parm parameter bit(1) dcl 246 ref 239 263 message_parm parameter varying char dcl 70 set ref 212 223* 235* name_value_area_ptr based pointer level 2 dcl 2-7 set ref 265* 266* null builtin function dcl 286 ref 2-61 number_of_pointers 000010 internal static fixed bin(17,0) initial level 2 dcl 288 set ref 101 110* 110 112 115 186 193 195 197* 197 225 251 pointers 2 000010 internal static structure array level 2 dcl 288 set ref 186 report_cip 000106 automatic pointer initial dcl 2-61 set ref 86* 131* 142* 153* 164* 175* 208* 2-61* 255* 265 266 266 report_control_info based structure level 1 dcl 2-7 report_writer 4 000010 internal static pointer array level 3 dcl 288 set ref 118* 118 195* 228* 255 report_writer_info 000010 internal static structure level 1 dcl 288 report_writer_info_ptr_parm parameter pointer dcl 71 ref 179 195 212 228 rw_column_value 004020 constant entry external dcl 293 ref 86 rw_display 004022 constant entry external dcl 294 ref 131 rw_display_builtins 004024 constant entry external dcl 295 ref 142 rw_error_$logic_error 004026 external static fixed bin(35,0) dcl 296 set ref 259* rw_error_$no_ssu_ptr_match 004030 external static fixed bin(35,0) dcl 297 ref 234 rw_list_format_options 004032 constant entry external dcl 298 ref 153 rw_restore_format_options 004034 constant entry external dcl 299 ref 164 rw_save_format_options 004036 constant entry external dcl 300 ref 175 rw_set_format_options 004040 constant entry external dcl 301 ref 208 sci_ptr 000104 automatic pointer dcl 303 set ref 86* 98* 103 107* 131* 142* 153* 164* 175* 208* 248* 253 259* 265* 266* sci_ptr_parm parameter pointer dcl 72 ref 79 90 98 124 135 146 157 168 179 193 201 212 226 248 srwip_loop 000102 automatic fixed bin(17,0) dcl 220 set ref 225* 226 228* ssu 2 000010 internal static pointer array level 3 dcl 288 set ref 103 116* 116 193* 226 253 ssu_$abort_line 004042 constant entry external dcl 304 ref 107 259 ssu_$get_area 004044 constant entry external dcl 305 ref 266 ssu_$release_area 004046 constant entry external dcl 306 ref 265 subsystems_info_ptr_parm parameter pointer dcl 73 ref 79 124 135 146 157 168 201 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. GENERAL_COLUMN_OPTION internal static fixed bin(17,0) initial dcl 1-15 GENERAL_REPORT_OPTION internal static fixed bin(17,0) initial dcl 1-14 INDEX_FOR_ALIGNMENT internal static fixed bin(17,0) initial dcl 1-66 INDEX_FOR_COLUMN_ORDER internal static fixed bin(17,0) initial dcl 1-50 INDEX_FOR_COUNT internal static fixed bin(17,0) initial dcl 1-51 INDEX_FOR_DELIMITER internal static fixed bin(17,0) initial dcl 1-40 INDEX_FOR_EDITING internal static fixed bin(17,0) initial dcl 1-67 INDEX_FOR_EXCLUDE internal static fixed bin(17,0) initial dcl 1-52 INDEX_FOR_FOLDING internal static fixed bin(17,0) initial dcl 1-68 INDEX_FOR_FORMAT_DOCUMENT_CONTROLS internal static fixed bin(17,0) initial dcl 1-41 INDEX_FOR_GROUP internal static fixed bin(17,0) initial dcl 1-53 INDEX_FOR_GROUP_FOOTER_TRIGGER internal static fixed bin(17,0) initial dcl 1-54 INDEX_FOR_GROUP_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 1-55 INDEX_FOR_GROUP_HEADER_TRIGGER internal static fixed bin(17,0) initial dcl 1-56 INDEX_FOR_GROUP_HEADER_VALUE internal static fixed bin(17,0) initial dcl 1-57 INDEX_FOR_HYPHENATION internal static fixed bin(17,0) initial dcl 1-42 INDEX_FOR_OUTLINE internal static fixed bin(17,0) initial dcl 1-58 INDEX_FOR_PAGE_BREAK internal static fixed bin(17,0) initial dcl 1-59 INDEX_FOR_PAGE_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 1-43 INDEX_FOR_PAGE_HEADER_VALUE internal static fixed bin(17,0) initial dcl 1-44 INDEX_FOR_PAGE_LENGTH internal static fixed bin(17,0) initial dcl 1-45 INDEX_FOR_PAGE_WIDTH internal static fixed bin(17,0) initial dcl 1-46 INDEX_FOR_ROW_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 1-60 INDEX_FOR_ROW_HEADER_VALUE internal static fixed bin(17,0) initial dcl 1-61 INDEX_FOR_SEPARATOR internal static fixed bin(17,0) initial dcl 1-69 INDEX_FOR_SUBCOUNT internal static fixed bin(17,0) initial dcl 1-62 INDEX_FOR_SUBTOTAL internal static fixed bin(17,0) initial dcl 1-63 INDEX_FOR_TITLE internal static fixed bin(17,0) initial dcl 1-70 INDEX_FOR_TITLE_LINE internal static fixed bin(17,0) initial dcl 1-47 INDEX_FOR_TOTAL internal static fixed bin(17,0) initial dcl 1-64 INDEX_FOR_TRUNCATION internal static fixed bin(17,0) initial dcl 1-48 INDEX_FOR_WIDTH internal static fixed bin(17,0) initial dcl 1-71 LONGEST_GENERAL_COLUMN_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 1-28 LONGEST_GENERAL_REPORT_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 1-27 LONGEST_SPECIFIC_COLUMN_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 1-26 MAXIMUM_NORMALIZED_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 1-32 MAXIMUM_OPTION_IDENTIFIER_LENGTH internal static fixed bin(17,0) initial dcl 1-34 MAXIMUM_OPTION_NAME_LENGTH internal static fixed bin(17,0) initial dcl 1-35 MAXIMUM_OPTION_VALUE_LENGTH internal static fixed bin(17,0) initial dcl 1-36 NUMBER_OF_SPECIFIC_COLUMN_OPTIONS_IN_TABLE internal static fixed bin(17,0) initial dcl 1-22 SPECIFIC_COLUMN_OPTION internal static fixed bin(17,0) initial dcl 1-16 names_and_values_area_ptr automatic pointer dcl 285 NAMES DECLARED BY EXPLICIT CONTEXT. column_value 000144 constant entry external dcl 79 delete_report_info_ptr 000174 constant entry external dcl 90 display 000316 constant entry external dcl 124 display_builtins 000345 constant entry external dcl 135 list_format_options 000374 constant entry external dcl 146 load_report_control_info_ptr 000671 constant entry internal dcl 239 ref 85 130 141 152 163 174 207 restore_format_options 000423 constant entry external dcl 157 rw_requests 000110 constant entry external dcl 65 save_format_options 000452 constant entry external dcl 168 set_format_options 000545 constant entry external dcl 201 set_initial_report_info_ptr 000503 constant entry external dcl 179 set_report_writer_info_ptr 000577 constant entry external dcl 212 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1400 5450 1044 1410 Length 5746 1044 4050 262 333 4002 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rw_requests 182 external procedure is an external procedure. load_report_control_info_ptr internal procedure shares stack frame of external procedure rw_requests. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 report_writer_info rw_requests STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rw_requests 000100 drip_loop rw_requests 000101 drip_pointer_number rw_requests 000102 srwip_loop rw_requests 000104 sci_ptr rw_requests 000106 report_cip rw_requests 000126 lrcip_loop load_report_control_info_ptr 000127 lrcip_not_found load_report_control_info_ptr THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ rw_column_value rw_display rw_display_builtins rw_list_format_options rw_restore_format_options rw_save_format_options rw_set_format_options ssu_$abort_line ssu_$get_area ssu_$release_area THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badcall error_table_$fatal_error rw_error_$logic_error rw_error_$no_ssu_ptr_match LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 2 61 000103 65 000107 75 000116 77 000137 79 000140 85 000155 86 000157 88 000170 90 000171 98 000205 99 000210 101 000211 103 000223 105 000235 107 000237 110 000265 112 000270 115 000274 116 000303 118 000307 120 000311 122 000313 124 000314 130 000327 131 000331 133 000342 135 000343 141 000356 142 000360 144 000371 146 000372 152 000405 153 000407 155 000420 157 000421 163 000434 164 000436 166 000447 168 000450 174 000463 175 000465 177 000476 179 000477 186 000516 189 000523 190 000526 192 000527 193 000531 195 000536 197 000541 199 000542 201 000543 207 000556 208 000560 210 000571 212 000572 222 000620 223 000622 225 000624 226 000635 228 000644 230 000650 232 000651 234 000653 235 000657 237 000670 239 000671 248 000673 250 000676 251 000700 253 000713 255 000722 256 000725 258 000726 259 000730 263 000756 265 000762 266 001003 270 001033 ----------------------------------------------------------- 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