COMPILATION LISTING OF SEGMENT linus_list_format_options Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 07/29/86 0956.6 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 /* The main level procedure called by ssu_ to implement the 8* linus list_format_options request. Description and usage follows. 9* 10* This request does either 1, 2 or 3 listed below. 11* 12* 1) Lists the ACTIVE option names and values. 13* 14* 2) Lists ALL the option names and values. 15* 16* 3) Lists USER SPECIFIED option names and values. 17* 18* Usage (1): "list_format_options" or "list_format_options -active" 19* 20* Only the active option names and values are listed. 21* 22* Usage (2): list_format_options -all 23* 24* All of the formatting option names and values are listed. 25* 26* Usage (3): list_format_options -format_option_args 27* or [list_format_options -format_option_args] 28* 29* Where -format_option_args are the same ones taken by the 30* set_format_options_request except no values are supplied. 31* When used as an active request only one format option can 32* be specified. 33* 34* Both parameters are passed to this request by ssu_. 35* 36* 37* Known Bugs: 38* 39* Other Problems: 40* 41* History: 42* 43* Written - Al Dupuis - August 1983 44* 45**/ 46 47 linus_list_format_options: proc (sci_ptr_parm, lcb_ptr_parm); 48 49 dcl sci_ptr_parm ptr parm; /* ptr to the subsystem control info structure */ 50 dcl lcb_ptr_parm ptr parm; /* ptr to the linus control block info structure */ 51 52 /* 53* Mainline Processing Overview. 54* 55* (1) Determine requested usage. 56* 57* (2) (a) For usage 1 and 2 get the active or all the option 58* names and values. 59* 60* (b) For usage 3 as a request, get the option value, list it, 61* continue until all user provided option names are exhausted, 62* then return. For usage 3 as an active request do the same 63* except only one format option is specified. 64* 65* (3) List the names and values. 66**/ 67 68 69 call initialize; 70 71 if usage_1 72 then call linus_options$get_active (lcb_ptr, 73 names_and_values_info_ptr, no_of_names_and_values, 74 names_and_values_ptr, size_of_names_and_values, code); 75 else if usage_2 76 then call linus_options$get_all (lcb_ptr, 77 names_and_values_info_ptr, no_of_names_and_values, 78 names_and_values_ptr, size_of_names_and_values, code); 79 else do; 80 call get_and_list_user_specified_option_values; 81 return; 82 end; 83 84 if code ^= 0 85 then call ssu_$abort_line (sci_ptr, code); 86 87 call list_the_values; 88 89 return; 90 91 get_and_list_option_name: proc; 92 93 call linus_options$get (lcb_ptr, long_option_name, 94 option_identifier, normalized_option_name, 95 option_value, code); 96 if code ^= 0 97 then call ssu_$abort_line (sci_ptr, code); 98 99 if active_request_flag 100 then do; 101 if ^identifier_needed 102 then number_of_legal_args = 1; 103 else number_of_legal_args = 2; 104 if number_of_args_supplied > number_of_legal_args 105 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, 106 INVALID_ACTIVE_REQUEST_MESSAGE); 107 else; 108 return_value = requote_string_ ((option_value)); 109 return; 110 end; 111 else; 112 113 if index (option_value, NEWLINE) = 0 114 then do; 115 padded_option_name = normalized_option_name; 116 call ioa_ ("^a", padded_option_name || QUOTE 117 || option_value || QUOTE); 118 end; 119 else call ioa_ ("^a^x^a^/^a^a^x^a", 120 normalized_option_name, "beginning", 121 option_value, normalized_option_name, "end"); 122 123 return; 124 125 end get_and_list_option_name; 126 127 get_and_list_star_name: proc; 128 129 /* Get and list the names and values for the columns named 130* by the starname. */ 131 132 if active_request_flag 133 then call ssu_$abort_line (sci_ptr, error_table_$nostars, 134 "^/When used as an active request starnames are not allowed."); 135 136 option_name_table.the_name (1) = long_option_name; 137 option_name_table.the_identifier (1) = option_identifier; 138 139 call linus_options$get_named (lcb_ptr, 140 option_name_table_ptr, no_of_options_in_name_table, 141 names_and_values_info_ptr, no_of_names_and_values, 142 names_and_values_ptr, size_of_names_and_values, code); 143 if code ^= 0 144 then call ssu_$abort_line (sci_ptr, code); 145 else; 146 147 call list_the_values; 148 149 return; 150 151 end get_and_list_star_name; 152 153 get_and_list_user_specified_option_values: proc; 154 155 /* 156* Walk through the loop once for each format option. Pick up the 157* format option name and have it expanded into a long name, and 158* determine if it needs a column identifier. If it does need a 159* column identifier then pick it up. Get the option value associated 160* with the format option. If called as an active request then set the 161* return value and return. If called as a regular request then list 162* the value and repeat the loop as long as there are more options. 163**/ 164 165 report_cip = lcb.report_control_info_ptr; 166 names_and_values_area_ptr = report_control_info.name_value_area_ptr; 167 no_of_options_in_name_table = 1; 168 allocate option_name_table in (names_and_values_area) 169 set (option_name_table_ptr); 170 171 option_identifier = ""; 172 current_arg_number = 1; 173 174 call ssu_$arg_ptr (sci_ptr, current_arg_number, arg_ptr, arg_length); 175 current_arg_number = current_arg_number + 1; 176 still_processing_args = ON; 177 178 do while (still_processing_args); 179 180 option_name = arg; 181 call linus_options$check_name (lcb_ptr, option_name, 182 long_option_name, identifier_needed, code); 183 if code ^= 0 184 then if code = linus_error_$no_lila_expr_processed 185 then call ssu_$abort_line (sci_ptr, code, 186 "^/There must be columns defined before the value of ^a can be listed.", 187 long_option_name); 188 else if code = linus_error_$bad_option_name 189 then call ssu_$abort_line (sci_ptr, code, 190 "^/^a is not a valid option name.", option_name); 191 else call ssu_$abort_line (sci_ptr, code); 192 else; 193 194 this_is_a_star_name = OFF; 195 if identifier_needed 196 then do; 197 if current_arg_number > number_of_args_supplied 198 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, 199 "The option ^a was not followed by a column identifier.", 200 long_option_name); 201 else; 202 call ssu_$arg_ptr (sci_ptr, current_arg_number, 203 arg_ptr, arg_length); 204 current_arg_number = current_arg_number + 1; 205 option_identifier = arg; 206 call linus_options$check_identifier (lcb_ptr, 207 long_option_name, option_identifier, 208 normalized_option_name, code); 209 if code ^= 0 210 then if code = linus_error_$bad_option_identifier 211 then call ssu_$abort_line (sci_ptr, code, 212 "^/^a is not a valid column identifier for ^a.", 213 option_identifier, long_option_name); 214 else if code = error_table_$nostars 215 then this_is_a_star_name = ON; 216 else call ssu_$abort_line (sci_ptr, code); 217 else; 218 end; 219 else; 220 221 if this_is_a_star_name 222 then call get_and_list_star_name; 223 else call get_and_list_option_name; 224 225 if active_request_flag 226 then return; 227 228 if current_arg_number > number_of_args_supplied 229 then still_processing_args = OFF; 230 else do; 231 call ssu_$arg_ptr (sci_ptr, current_arg_number, 232 arg_ptr, arg_length); 233 current_arg_number = current_arg_number + 1; 234 end; 235 236 end; 237 238 return; 239 240 end get_and_list_user_specified_option_values; 241 242 initialize: proc; 243 244 /* 245* 246* If zero args then usage_1 is requested. If there are any args 247* supplied then walk through them all once setting the usage_1 and 248* usage_2 flags as -active and -all are found. If -active and -all 249* are not found then usage_3 has been requested, or an incorrectly 250* spelled control arg has been given. If -active or -all are found 251* then there can't be any format_option_args supplied. 252* 253**/ 254 255 sci_ptr = sci_ptr_parm; 256 lcb_ptr = lcb_ptr_parm; 257 258 usage_1 = OFF; 259 usage_2 = OFF; 260 usage_3 = OFF; 261 262 /* Make sure the format options are up to date. */ 263 264 call linus_options$initialize (lcb_ptr, code); 265 if code ^= 0 266 then call ssu_$abort_line (sci_ptr, code); 267 268 /* Find the longest column name for the current select. */ 269 270 call linus_table$info (lcb_ptr, table_ip, code); 271 if code = linus_error_$no_lila_expr_processed 272 then the_longest_option_name 273 = LONGEST_GENERAL_REPORT_OPTION_NAME_LENGTH + 5; 274 else do; 275 if LONGEST_SPECIFIC_COLUMN_OPTION_NAME_LENGTH 276 > LONGEST_GENERAL_COLUMN_OPTION_NAME_LENGTH 277 then the_longest_option_name 278 = LONGEST_SPECIFIC_COLUMN_OPTION_NAME_LENGTH; 279 else the_longest_option_name 280 = LONGEST_GENERAL_COLUMN_OPTION_NAME_LENGTH; 281 the_longest_option_name = the_longest_option_name 282 + table_info.maximum_column_name_length + 5; 283 end; 284 padded_option_name_ptr = addr (chunk_of_automatic_storage); 285 286 call ssu_$return_arg (sci_ptr, number_of_args_supplied, 287 active_request_flag, return_value_ptr, return_value_length); 288 289 if number_of_args_supplied = 0 290 then do; 291 usage_1 = ON; 292 if active_request_flag 293 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, 294 INVALID_ACTIVE_REQUEST_MESSAGE); 295 else; 296 end; 297 else do; 298 number_of_control_args_found = 0; 299 do loop = 1 to number_of_args_supplied; 300 call ssu_$arg_ptr (sci_ptr, loop, arg_ptr, arg_length); 301 if arg = "-active" | arg = "-act" 302 then do; 303 number_of_control_args_found 304 = number_of_control_args_found + 1; 305 usage_1 = ON; 306 usage_2 = OFF; 307 end; 308 else if arg = "-all" | arg = "-a" 309 then do; 310 number_of_control_args_found 311 = number_of_control_args_found + 1; 312 usage_2 = ON; 313 usage_1 = OFF; 314 end; 315 else; 316 end; 317 if usage_1 | usage_2 318 then if active_request_flag 319 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, 320 INVALID_ACTIVE_REQUEST_MESSAGE); 321 else if number_of_control_args_found ^= number_of_args_supplied 322 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, 323 "^/When used, ^[-all^;-active^] must be the only argument given.", 324 fixed (usage_1 || usage_2)); 325 else; 326 else; 327 end; 328 329 if ^usage_1 & ^usage_2 330 then usage_3 = ON; 331 332 return; 333 334 end initialize; 335 336 list_the_values: proc; 337 338 /* 339* Walk through the loop once for each format option value. The 340* user may have requested that the active options were to be 341* listed, and the result of this may be zero option values to list. 342**/ 343 344 if no_of_names_and_values = 0 345 then do; 346 call ioa_ ("^a^/^a", 347 "All of the formatting options are set to their default values.", 348 "There are no column options defined."); 349 return; 350 end; 351 352 do loop = 1 to no_of_names_and_values; 353 354 option_value = substr (names_and_values, 355 name_value_info.value.index (loop), 356 name_value_info.value.length (loop)); 357 358 if index (option_value, NEWLINE) = 0 359 then do; 360 padded_option_name = substr (names_and_values, 361 name_value_info.name.index (loop), 362 name_value_info.name.length (loop)); 363 call ioa_ ("^a", padded_option_name || QUOTE 364 || option_value || QUOTE); 365 end; 366 else call ioa_ ("^a^x^a^/^a^a^x^a", 367 substr (names_and_values, 368 name_value_info.name.index (loop), 369 name_value_info.name.length (loop)), 370 "beginning", option_value, 371 substr (names_and_values, 372 name_value_info.name.index (loop), 373 name_value_info.name.length (loop)), "end"); 374 375 end; 376 377 return; 378 379 end list_the_values; 380 381 dcl INVALID_ACTIVE_REQUEST_MESSAGE char (79) static int options (constant) init ( 382 "^/When used as an active request only one format option value can be requested."); 383 dcl NEWLINE char (1) static int options (constant) init (" 384 "); 385 dcl OFF bit (1) aligned static int options (constant) init ("0"b); 386 dcl ON bit (1) aligned static int options (constant) init ("1"b); 387 dcl QUOTE char (1) static int options (constant) init (""""); 388 389 dcl active_request_flag bit (1) aligned; 390 dcl addr builtin; 391 dcl arg char (arg_length) based (arg_ptr); 392 dcl arg_length fixed bin (21); 393 dcl arg_ptr ptr; 394 395 dcl chunk_of_automatic_storage char (MAXIMUM_NORMALIZED_OPTION_NAME_LENGTH); 396 dcl code fixed bin (35); 397 dcl current_arg_number fixed bin; 398 399 dcl error_table_$inconsistent fixed bin(35) ext static; 400 dcl error_table_$nostars fixed bin(35) ext static; 401 402 dcl fixed builtin; 403 404 dcl identifier_needed bit (1) aligned; 405 dcl index builtin; 406 dcl ioa_ entry() options(variable); 407 408 dcl linus_error_$bad_option_identifier fixed bin(35) ext static; 409 dcl linus_error_$bad_option_name fixed bin(35) ext static; 410 dcl linus_error_$no_lila_expr_processed fixed bin(35) ext static; 411 dcl linus_options$check_identifier entry (ptr, char(*) var, char(*) var, char(*) var, fixed bin(35)); 412 dcl linus_options$check_name entry (ptr, char(*) var, char(*) var, bit(1) aligned, fixed bin(35)); 413 dcl linus_options$get entry (ptr, char(*) var, char(*) var, char(*) var, char(*) var, fixed bin(35)); 414 dcl linus_options$get_active entry (ptr, ptr, fixed bin(21), ptr, fixed bin(21), fixed bin(35)); 415 dcl linus_options$get_all entry (ptr, ptr, fixed bin(21), ptr, fixed bin(21), fixed bin(35)); 416 dcl linus_options$get_named entry (ptr, ptr, fixed bin(21), ptr, fixed bin(21), ptr, fixed bin(21), fixed bin(35)); 417 dcl linus_options$initialize entry (ptr, fixed bin(35)); 418 dcl linus_table$info entry (ptr, ptr, fixed bin(35)); 419 dcl long_option_name char (MAXIMUM_OPTION_NAME_LENGTH) varying; 420 dcl loop fixed bin; 421 422 dcl names_and_values_area area (sys_info$max_seg_size) based (names_and_values_area_ptr); 423 dcl names_and_values_area_ptr ptr; 424 dcl normalized_option_name char (MAXIMUM_NORMALIZED_OPTION_NAME_LENGTH) varying; 425 dcl null builtin; 426 dcl number_of_args_supplied fixed bin; 427 dcl number_of_control_args_found fixed bin; 428 dcl number_of_legal_args fixed bin; 429 430 dcl option_identifier char (MAXIMUM_OPTION_IDENTIFIER_LENGTH) varying; 431 dcl option_name char (MAXIMUM_OPTION_NAME_LENGTH) varying; 432 dcl option_value char (MAXIMUM_OPTION_VALUE_LENGTH) varying; 433 434 dcl padded_option_name char (the_longest_option_name) based (padded_option_name_ptr); 435 dcl padded_option_name_ptr ptr; 436 437 dcl rel builtin; 438 dcl requote_string_ entry (char(*)) returns(char(*)); 439 dcl return_value char (return_value_length) varying based (return_value_ptr); 440 dcl return_value_length fixed bin (21); 441 dcl return_value_ptr ptr; 442 443 dcl sci_ptr ptr; 444 dcl ssu_$abort_line entry() options(variable); 445 dcl ssu_$arg_ptr entry (ptr, fixed bin, ptr, fixed bin(21)); 446 dcl ssu_$return_arg entry (ptr, fixed bin, bit(1) aligned, ptr, fixed bin(21)); 447 dcl still_processing_args bit (1) aligned; 448 dcl substr builtin; 449 dcl sys_info$max_seg_size fixed bin(35) ext static; 450 451 dcl the_longest_option_name fixed bin; 452 dcl this_is_a_star_name bit (1) aligned; 453 454 dcl usage_1 bit (1) aligned; 455 dcl usage_2 bit (1) aligned; 456 dcl usage_3 bit (1) aligned; 457 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 */ 458 459 2 1 /* BEGIN INCLUDE FILE ... arg_list.incl.pl1 2 2* 2 3* James R. Davis 10 May 79 */ 2 4 2 5 dcl 1 arg_list aligned based, 2 6 2 header, 2 7 3 arg_count fixed bin (17) unsigned unal, 2 8 3 pad1 bit (1) unal, 2 9 3 call_type fixed bin (18) unsigned unal, 2 10 3 desc_count fixed bin (17) unsigned unal, 2 11 3 pad2 bit (19) unal, 2 12 2 arg_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr, 2 13 2 desc_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr; 2 14 2 15 2 16 2 17 dcl 1 arg_list_with_envptr aligned based, /* used with non-quick int and entry-var calls */ 2 18 2 header, 2 19 3 arg_count fixed bin (17) unsigned unal, 2 20 3 pad1 bit (1) unal, 2 21 3 call_type fixed bin (18) unsigned unal, 2 22 3 desc_count fixed bin (17) unsigned unal, 2 23 3 pad2 bit (19) unal, 2 24 2 arg_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr, 2 25 2 envptr ptr, 2 26 2 desc_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr; 2 27 2 28 2 29 dcl ( 2 30 Quick_call_type init (0), 2 31 Interseg_call_type init (4), 2 32 Envptr_supplied_call_type 2 33 init (8) 2 34 ) fixed bin (18) unsigned unal int static options (constant); 2 35 2 36 /* The user must declare arg_list_arg_count - if an adjustable automatic structure 2 37* is being "liked" then arg_list_arg_count may be a parameter, in order to allocate 2 38* an argument list of the proper size in the user's stack 2 39* 2 40**/ 2 41 /* END INCLUDE FILE ... arg_list.incl.pl1 */ 460 461 3 1 /* BEGIN INCLUDE FILE linus_lcb.incl.pl1 -- jaw 8/30/77 */ 3 2 3 3 3 4 3 5 /****^ HISTORY COMMENTS: 3 6* 1) change(86-04-23,Dupuis), approve(86-05-23,MCR7188), audit(86-07-23,GWMay), 3 7* install(86-07-29,MR12.0-1106): 3 8* Added general_work_area_ptr and renamed sfr_ptr to 3 9* force_retrieve_scope_ptr. 3 10* END HISTORY COMMENTS */ 3 11 3 12 3 13 /* HISTORY: 3 14* 3 15* 78-09-29 J. C. C. Jagernauth: Modified for MR7.0. 3 16* 3 17* 81-05-11 Rickie E. Brinegar: added security bit and andministrator bit as 3 18* a part of the attribute level control work. 3 19* 3 20* 81-06-17 Rickie E. Brinegar: deleted the sd_ptr as a part of removing the 3 21* scope_data structure from LINUS. LINUS now depends totally on MRDS for 3 22* scope information. 3 23* 3 24* 81-11-11 Rickie E. Brinegar: added the timing bit and three fields for 3 25* retaining various vcpu times to be collected when in timing mode. The 3 26* times to be collected are: LINUS parsing time, LINUS processing time, and 3 27* MRDS processing time. 3 28* 3 29* 82-01-15 DJ Schimke: Added the build_increment and build_start fields as 3 30* part of the line numbering implementation. This allows for possible later 3 31* LINUS control of the build defaults. 3 32* 3 33* 82-03-01 Paul W. Benjamin: Removed linus_prompt_chars_ptr, as that 3 34* information is now retained by ssu_. Removed parse_timer as no longer 3 35* meaningful. Added linus_version. Added iteration bit. Added 6 entry 3 36* variables for ssu_ replaceable procedures. Added actual_input_iocbp. 3 37* 3 38* 82-06-23 Al Dupuis: Added subsystem_control_info_ptr, 3 39* subsystem_invocation_level, and selection_expression_identifier. 3 40* 3 41* 82-08-26 DJ Schimke: Added report_control_info_ptr, and 3 42* table_control_info_ptr. 3 43* 3 44* 82-10-19 DJ Schimke: Added ssu_abort_line. 3 45* 3 46* 83-06-06 Bert Moberg: Added print_search_order (pso) and no_optimize (no_ot) 3 47* 3 48* 83-04-07 DJ Schimke: Added temp_seg_info_ptr. 3 49* 3 50* 83-08-26 Al Dupuis: Added query_temp_segment_ptr. 3 51**/ 3 52 3 53 dcl 1 lcb aligned based (lcb_ptr), /* LINUS control block */ 3 54 2 db_index fixed bin (35), /* index of open data base, or 0 */ 3 55 2 rb_len fixed bin (21), /* length of request buffer */ 3 56 2 lila_count fixed bin (35), /* number of LILA text lines */ 3 57 2 lila_chars fixed bin (35), /* number of LILA source test chars */ 3 58 2 trans_id fixed bin (35), /* used by checkpoint and rollback facilities (MR7.0) */ 3 59 2 lila_fn char (32) unal, /* entry name of lila data file */ 3 60 2 prompt_flag bit (1) unal, /* on if in prompt mode */ 3 61 2 test_flag bit (1) unal, /* on if in test mode */ 3 62 2 new_version bit (1) unal init (1), /* on for new version data base (MR7.0) */ 3 63 2 secured_db bit (1) unal, /* on if the db is in a secure state */ 3 64 2 administrator bit (1) unal, /* on if the user is a db administrator */ 3 65 2 timing_mode bit (1) unal, /* on if timing is to be done */ 3 66 2 iteration bit (1) unal, /* interpret parens as iteration sets */ 3 67 2 pso_flag bit (1) unal, /* add print_search_order to select */ 3 68 2 no_ot_flag bit (1) unal, /* add no_optimize to select */ 3 69 2 reserved bit (27) unal, 3 70 2 liocb_ptr ptr, /* iocb ptr for lila file */ 3 71 2 rb_ptr ptr, /* ptr to request buffer */ 3 72 2 is_ptr ptr, /* iocb ptr for currentinput stream switch */ 3 73 2 cal_ptr ptr, /* ptr to current arg list for invoke (or null) */ 3 74 2 ttn_ptr ptr, /* pointer to table info structure */ 3 75 2 force_retrieve_scope_info_ptr ptr, /* structure pointer to force retrieve scope operation */ 3 76 2 lv_ptr ptr, /* pointer linus variables */ 3 77 2 si_ptr ptr, /* pointer to select_info structure */ 3 78 2 setfi_ptr ptr, /* pointer to set function information */ 3 79 2 sclfi_ptr ptr, /* pointer to user declared scalar fun. names */ 3 80 2 ivs_ptr ptr, /* pointer to stack of invoke iocb pointers */ 3 81 2 lit_ptr ptr, /* pointer to literal pool */ 3 82 2 lvv_ptr ptr, /* pointer to linus variable alloc. pool */ 3 83 2 rd_ptr ptr, /* point to readied files mode information (MR7.0) */ 3 84 2 rt_ptr ptr, /* point to table of relation names and their readied modes 3 85* (MR7.0) */ 3 86 2 actual_input_iocbp ptr, /* ptr to input while in macros */ 3 87 2 lila_promp_chars_ptr ptr, /* pointer to the prompt characters for lila */ 3 88 2 linus_area_ptr ptr, /* LINUS temporary segment pointer */ 3 89 2 lila_area_ptr ptr, /* LILA temporary segment pointer */ 3 90 2 i_o_area_ptr ptr, /* temporary segment pointer used by write, print, create_list */ 3 91 2 rel_array_ptr ptr, /* ptr to array of names rslt info structure 3 92* for current lila expression */ 3 93 2 unused_timer float bin (63), /* future expansion */ 3 94 2 request_time float bin (63), /* How much request time was spent 3 95* in LINUS. (-1 = user has just enabled 3 96* timing, do not report) */ 3 97 2 mrds_time float bin (63), /* How much time was spent in MRDS */ 3 98 2 build_increment fixed bin, /* default increment for build mode */ 3 99 2 build_start fixed bin, /* default start count for build mode */ 3 100 2 linus_version char (4), /* current version of LINUS */ 3 101 2 subsystem_control_info_ptr ptr, /* the same ptr passed by ssu_ to each request procedure */ 3 102 2 subsystem_invocation_level fixed bin, /* identifies this invocation of LINUS */ 3 103 2 selection_expression_identifier fixed bin, /* identifies the current processed selection expression */ 3 104 2 report_control_info_ptr ptr, /* pointer to linus_report_control_info structure */ 3 105 2 table_control_info_ptr ptr, /* pointer to linus_table control structure */ 3 106 2 temp_seg_info_ptr ptr, /* pointer to linus_temp_seg_mgr control structure */ 3 107 2 query_temp_segment_ptr ptr, /* points to temp seg used for manipulating query */ 3 108 2 general_work_area_ptr ptr, /* a freeing area for general use */ 3 109 2 word_pad (6) bit (36) unal, 3 110 /* procedures that will be optionally */ 3 111 /* replaced by the user. Saved so they */ 3 112 /* can be reinstated if desired. */ 3 113 2 ssu_abort_line entry options (variable), 3 114 2 ssu_post_request_line variable entry (ptr), 3 115 2 ssu_pre_request_line variable entry (ptr), 3 116 3 117 2 curr_lit_offset fixed bin (35), /* index of first free bit in lit. pool */ 3 118 2 curr_lv_val_offset fixed bin (35), /* index of first free bit lv. val. pool */ 3 119 2 static_area area (sys_info$max_seg_size - fixed (rel (addr (lcb.static_area))) + 1); 3 120 3 121 dcl lcb_ptr ptr; 3 122 3 123 /* END INCLUDE FILE linus_lcb.incl.pl1 */ 462 463 4 1 /* BEGIN INCLUDE FILE ... linus_names_and_values.incl.pl1 4 2* 4 3* Names and values used for producing reports. These structures provide for 4 4* the passing of format report option names and values between requests and 4 5* the "linus_options" subroutine. The caller (usually a request) fills in the 4 6* "option_name_table" structure, or calls a bulk load entry point such as 4 7* linus_options$get_all. The linus_options subroutine uses the 4 8* "name_value_info" structure and the "names_and_values" character string to 4 9* return the requested names and values. 4 10* 4 11* Al Dupuis - August 1983 4 12**/ 4 13 /* format: off */ 4 14 4 15 /* Describes the "names_and_values" character string below. */ 4 16 4 17 dcl 1 name_value_info (no_of_names_and_values) aligned based (names_and_values_info_ptr), 4 18 2 name, /* location and length in temp seg */ 4 19 3 index fixed bin (21), 4 20 3 length fixed bin (21), 4 21 2 value, /* location and length in temp seg */ 4 22 3 index fixed bin (21), 4 23 3 length fixed bin (21); 4 24 4 25 /* Described by "name_value_info" structure above. */ 4 26 4 27 dcl names_and_values char (size_of_names_and_values) based (names_and_values_ptr); 4 28 4 29 dcl names_and_values_info_ptr ptr init (null()); 4 30 dcl names_and_values_ptr ptr init (null()); 4 31 dcl no_of_names_and_values fixed bin (21); 4 32 dcl size_of_names_and_values fixed bin (21); 4 33 4 34 /* Filled in by the caller (i.e. "list_format_options" request) */ 4 35 4 36 dcl 1 option_name_table (no_of_options_in_name_table) based (option_name_table_ptr), 4 37 2 the_name char (32) varying, /* option name */ 4 38 2 the_identifier char (32) varying; /* null, column name, or star name */ 4 39 4 40 dcl no_of_options_in_name_table fixed bin (21); 4 41 dcl option_name_table_ptr ptr init (null()); 4 42 4 43 /* END INCLUDE FILE linus_names_and_values.incl.pl1 */ 464 465 5 1 /* BEGIN INCLUDE FILE linus_options_extents.incl.pl1 5 2* 5 3* Extents for the formatting options used for producing reports. 5 4* Kept as a separate include so that some programs may include this 5 5* file without including linus_format_options.incl.pl1 5 6* 5 7* Al Dupuis - August 1983 5 8* 5 9**/ 5 10 /* format: off */ 5 11 5 12 /* The three types of format options that we have. */ 5 13 5 14 dcl GENERAL_REPORT_OPTION fixed bin static int options (constant) init (1); 5 15 dcl GENERAL_COLUMN_OPTION fixed bin static int options (constant) init (2); 5 16 dcl SPECIFIC_COLUMN_OPTION fixed bin static int options (constant) init (3); 5 17 5 18 /* Used to determine how big the tables are without doing a hbound on it. */ 5 19 5 20 dcl NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE fixed bin static int options (constant) init (15); 5 21 dcl NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE fixed bin static int options (constant) init (9); 5 22 dcl NUMBER_OF_SPECIFIC_COLUMN_OPTIONS_IN_TABLE fixed bin static int options (constant) init (6); 5 23 5 24 /* Used to determine how much space is needed to list them. */ 5 25 5 26 dcl LONGEST_SPECIFIC_COLUMN_OPTION_NAME_LENGTH fixed bin static int options (constant) init (10); /* -alignment */ 5 27 dcl LONGEST_GENERAL_REPORT_OPTION_NAME_LENGTH fixed bin static int options (constant) init (25); /* -format_document_controls */ 5 28 dcl LONGEST_GENERAL_COLUMN_OPTION_NAME_LENGTH fixed bin static int options (constant) init (21); /* -group_footer_trigger */ 5 29 5 30 /* MAXIMUM_OPTION_IDENTIFIER_LENGTH + MAXIMUM_OPTION_NAME_LENGTH */ 5 31 5 32 dcl MAXIMUM_NORMALIZED_OPTION_NAME_LENGTH fixed bin static int options (constant) init (101); 5 33 5 34 dcl MAXIMUM_OPTION_IDENTIFIER_LENGTH fixed bin static int options (constant) init (69); 5 35 dcl MAXIMUM_OPTION_NAME_LENGTH fixed bin static int options (constant) init (32); 5 36 dcl MAXIMUM_OPTION_VALUE_LENGTH fixed bin static int options (constant) init (4096); 5 37 5 38 /* Used to index into the OPTIONS tables defined in linus_format_options.incl.pl1. */ 5 39 5 40 dcl INDEX_FOR_DELIMITER fixed bin static int options (constant) init (1); 5 41 dcl INDEX_FOR_FORMAT_DOCUMENT_CONTROLS fixed bin static int options (constant) init (2); 5 42 dcl INDEX_FOR_HYPHENATION fixed bin static int options (constant) init (3); 5 43 dcl INDEX_FOR_PAGE_FOOTER_VALUE fixed bin static int options (constant) init (4); 5 44 dcl INDEX_FOR_PAGE_HEADER_VALUE fixed bin static int options (constant) init (5); 5 45 dcl INDEX_FOR_PAGE_LENGTH fixed bin static int options (constant) init (6); 5 46 dcl INDEX_FOR_PAGE_WIDTH fixed bin static int options (constant) init (7); 5 47 dcl INDEX_FOR_TITLE_LINE fixed bin static int options (constant) init (8); 5 48 dcl INDEX_FOR_TRUNCATION fixed bin static int options (constant) init (9); 5 49 5 50 dcl INDEX_FOR_COLUMN_ORDER fixed bin static int options (constant) init (1); 5 51 dcl INDEX_FOR_COUNT fixed bin static int options (constant) init (2); 5 52 dcl INDEX_FOR_EXCLUDE fixed bin static int options (constant) init (3); 5 53 dcl INDEX_FOR_GROUP fixed bin static int options (constant) init (4); 5 54 dcl INDEX_FOR_GROUP_FOOTER_TRIGGER fixed bin static int options (constant) init (5); 5 55 dcl INDEX_FOR_GROUP_FOOTER_VALUE fixed bin static int options (constant) init (6); 5 56 dcl INDEX_FOR_GROUP_HEADER_TRIGGER fixed bin static int options (constant) init (7); 5 57 dcl INDEX_FOR_GROUP_HEADER_VALUE fixed bin static int options (constant) init (8); 5 58 dcl INDEX_FOR_OUTLINE fixed bin static int options (constant) init (9); 5 59 dcl INDEX_FOR_PAGE_BREAK fixed bin static int options (constant) init (10); 5 60 dcl INDEX_FOR_ROW_FOOTER_VALUE fixed bin static int options (constant) init (11); 5 61 dcl INDEX_FOR_ROW_HEADER_VALUE fixed bin static int options (constant) init (12); 5 62 dcl INDEX_FOR_SUBCOUNT fixed bin static int options (constant) init (13); 5 63 dcl INDEX_FOR_SUBTOTAL fixed bin static int options (constant) init (14); 5 64 dcl INDEX_FOR_TOTAL fixed bin static int options (constant) init (15); 5 65 5 66 dcl INDEX_FOR_ALIGNMENT fixed bin static int options (constant) init (1); 5 67 dcl INDEX_FOR_EDITING fixed bin static int options (constant) init (2); 5 68 dcl INDEX_FOR_FOLDING fixed bin static int options (constant) init (3); 5 69 dcl INDEX_FOR_SEPARATOR fixed bin static int options (constant) init (4); 5 70 dcl INDEX_FOR_TITLE fixed bin static int options (constant) init (5); 5 71 dcl INDEX_FOR_WIDTH fixed bin static int options (constant) init (6); 5 72 5 73 /* END INCLUDE FILE linus_options_extents */ 466 467 6 1 /* BEGIN INCLUDE FILE linus_report_info.incl.pl1 6 2* Information needed to control the report environment. 6 3* Al Dupuis - August 1983 6 4**/ 6 5 /* format: off */ 6 6 6 7 dcl 1 report_control_info aligned based (report_cip), 6 8 2 flags, 6 9 3 report_is_paginated bit (1) unaligned, /* paged or one continous stream */ 6 10 3 table_has_been_started bit (1) unaligned, /* table clean up is necessary */ 6 11 3 table_is_full bit (1) unaligned, /* no more retrieves are necessary */ 6 12 3 report_has_been_started bit (1) unaligned, /* report clean up is necessary */ 6 13 3 report_is_formatted bit (1) unaligned, /* no more formatting is necessary */ 6 14 3 permanent_report bit (1) unaligned, /* or disposable */ 6 15 3 permanent_table bit (1) unaligned, /* or disposable */ 6 16 3 report_has_just_been_completed bit (1) unaligned, /* used for printing timers */ 6 17 3 table_has_just_been_loaded bit (1) unaligned, /* used for printing timers */ 6 18 3 multi_pass_mode bit (1) unaligned, /* on if we are to do more than 1 pass */ 6 19 3 available bit (26) unaligned, 6 20 2 format_options_flags, /* used to determine if value is default */ 6 21 3 general_report_default_value (NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE) bit (1) unaligned, 6 22 3 general_column_default_value (NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE) bit (1) unaligned, 6 23 2 value_seg_ptr ptr, /* the options value seg */ 6 24 2 name_value_area_ptr ptr, /* area for name-value allocations */ 6 25 2 name_value_temp_seg_ptr ptr, /* temp seg for name-value space */ 6 26 2 display_work_area_ptr ptr, /* display workspace */ 6 27 2 report_temp_seg_ptr ptr, /* report workspace */ 6 28 2 report_work_area_ptr ptr, /* report workspace */ 6 29 2 format_report_info_ptr ptr, /* info needed to create a report */ 6 30 2 input_string_temp_seg_ptr ptr, /* report workspace */ 6 31 2 output_string_temp_seg_ptr ptr, /* report workspace */ 6 32 2 editing_strings_temp_seg_ptr ptr, /* report workspace */ 6 33 2 headers_temp_seg_ptr ptr, /* report workspace */ 6 34 2 display_iocb_ptr ptr, /* report is displayed through this */ 6 35 2 selection_expression_identifier fixed bin, /* current selection expression */ 6 36 2 options_identifier fixed bin, /* current set of options */ 6 37 2 report_identifier fixed bin, /* current report */ 6 38 2 retrieval_identifier fixed bin, /* current retrieval */ 6 39 2 no_of_rows_retrieved fixed bin (35), /* current no of rows */ 6 40 2 no_of_formatted_pages fixed bin (21), /* current no of pages */ 6 41 2 number_of_passes fixed bin, /* number of times report will be formatted */ 6 42 2 table_loading_time float bin (63), 6 43 2 table_sorting_time float bin (63), 6 44 2 table_deletion_time float bin (63), 6 45 2 report_setup_time float bin (63), 6 46 2 report_formatting_time float bin (63), 6 47 2 report_display_time float bin (63), 6 48 2 report_deletion_time float bin (63), 6 49 2 ssu_evaluate_active_string_time float bin (63), 6 50 2 temp_dir_unique_id bit (36), /* uid of temp dir */ 6 51 2 temp_dir_name char (168) unaligned; /* the dir where we place the retrieved table and report */ 6 52 dcl report_cip ptr init (null ()); 6 53 6 54 /* END INCLUDE FILE linus_report_info.incl.pl1 */ 468 469 7 1 /* BEGIN INCLUDE FILE linus_table_info.incl.pl1 -- Dave Schimke 1/5/83 */ 7 2 /* 7 3*09/28/83 Al Dupuis: Added the store_args_ptr variable and the store_args structure. 7 4**/ 7 5 dcl 1 table_info aligned based (table_ip), /* info on displayable table */ 7 6 2 retrieval_identifier fixed bin , /* current retrieval id */ 7 7 2 row_count fixed bin(35), /* number of rows in table */ 7 8 2 column_count fixed bin, /* number of columns in table */ 7 9 2 maximum_column_name_length fixed bin, 7 10 /* largest column name */ 7 11 2 maximum_column_value_length fixed bin, 7 12 /* largest column length */ 7 13 2 row_value_length fixed bin (21), /* length of entire row */ 7 14 /* (sum of column lengths) */ 7 15 2 row_segs_info_ptr ptr init (null), /* ptr to the row segs info */ 7 16 2 store_args_ptr ptr, /* ptr to the arg list for storing rows */ 7 17 2 columns (ti_init_column_count refer (table_info.column_count)), 7 18 /* column info */ 7 19 3 column_name char (69) var, /* column header name */ 7 20 3 column_data_type bit (36), /* original data descriptor */ 7 21 3 column_length fixed bin (21), /* length of column in chars */ 7 22 3 column_index fixed bin (21); /* index of start of column in */ 7 23 /* row value */ 7 24 7 25 dcl 1 row_segs_info aligned based (row_segs_ip), 7 26 2 max_number_of_seg_ptrs fixed bin, 7 27 2 max_number_of_ptrs_per_seg fixed bin(21), 7 28 2 number_of_seg_ptrs fixed bin, 7 29 2 seg_ptr (rsi_init_max_number_of_seg_ptrs refer (row_segs_info. 7 30 max_number_of_seg_ptrs)) ptr unal; 7 31 7 32 dcl 1 row_ptrs aligned based (row_ptrs_p), 7 33 2 number_of_ptrs_this_seg fixed bin(21), 7 34 2 row_value_ptr (row_ptrs.number_of_ptrs_this_seg) ptr unal; 7 35 7 36 dcl row_value char (table_info.row_value_length) based (row_value_p); 7 37 dcl row_value_p ptr unal; /* ptr to the current row value */ 7 38 7 39 dcl row_segs_ip ptr; /* ptr to the seg of ptrs to */ 7 40 /* the arrays of row_value_ptrs */ 7 41 dcl row_ptrs_p ptr; /* ptr to an array of */ 7 42 /* row_value_ptrs */ 7 43 7 44 dcl 1 store_args aligned based (store_ap), 7 45 2 table_name char (30), 7 46 2 error_code fixed bin (35), 7 47 2 number_of_descriptors fixed bin, 7 48 2 header like arg_list.header, 7 49 2 arg_ptrs (arg_list_arg_count refer (store_args.header.arg_count)) ptr, 7 50 2 desc_ptrs (arg_list_arg_count refer (store_args.header.arg_count)) ptr, 7 51 2 argument_list_descriptors (init_number_of_descriptors refer 7 52 (store_args.number_of_descriptors)) like arg_descriptor; 7 53 7 54 dcl init_number_of_descriptors; 7 55 dcl rsi_init_max_number_of_seg_ptrs fixed bin; 7 56 dcl store_ap ptr; 7 57 dcl table_ip ptr; 7 58 dcl ti_init_column_count fixed bin; 7 59 7 60 /* END INCLUDE FILE linus_table_info.incl.pl1 */ 470 471 472 end linus_list_format_options; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/29/86 0939.6 linus_list_format_options.pl1 >special_ldd>install>MR12.0-1106>linus_list_format_options.pl1 458 1 11/02/83 1845.0 arg_descriptor.incl.pl1 >ldd>include>arg_descriptor.incl.pl1 460 2 10/23/81 1948.6 arg_list.incl.pl1 >ldd>include>arg_list.incl.pl1 462 3 07/29/86 0937.8 linus_lcb.incl.pl1 >special_ldd>install>MR12.0-1106>linus_lcb.incl.pl1 464 4 09/16/83 1338.0 linus_names_and_values.incl.pl1 >ldd>include>linus_names_and_values.incl.pl1 466 5 09/16/83 1338.0 linus_options_extents.incl.pl1 >ldd>include>linus_options_extents.incl.pl1 468 6 09/16/83 1338.1 linus_report_info.incl.pl1 >ldd>include>linus_report_info.incl.pl1 470 7 10/06/83 1219.0 linus_table_info.incl.pl1 >ldd>include>linus_table_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. INVALID_ACTIVE_REQUEST_MESSAGE 000000 constant char(79) initial unaligned dcl 381 set ref 104* 292* 317* LONGEST_GENERAL_COLUMN_OPTION_NAME_LENGTH constant fixed bin(17,0) initial dcl 5-28 ref 275 279 LONGEST_GENERAL_REPORT_OPTION_NAME_LENGTH constant fixed bin(17,0) initial dcl 5-27 ref 271 LONGEST_SPECIFIC_COLUMN_OPTION_NAME_LENGTH constant fixed bin(17,0) initial dcl 5-26 ref 275 275 MAXIMUM_NORMALIZED_OPTION_NAME_LENGTH constant fixed bin(17,0) initial dcl 5-32 ref 395 424 MAXIMUM_OPTION_IDENTIFIER_LENGTH constant fixed bin(17,0) initial dcl 5-34 ref 430 MAXIMUM_OPTION_NAME_LENGTH constant fixed bin(17,0) initial dcl 5-35 ref 419 431 MAXIMUM_OPTION_VALUE_LENGTH constant fixed bin(17,0) initial dcl 5-36 ref 432 NEWLINE constant char(1) initial unaligned dcl 383 ref 113 358 NUMBER_OF_GENERAL_COLUMN_OPTIONS_IN_TABLE constant fixed bin(17,0) initial dcl 5-20 ref 166 NUMBER_OF_GENERAL_REPORT_OPTIONS_IN_TABLE constant fixed bin(17,0) initial dcl 5-21 ref 166 OFF constant bit(1) initial dcl 385 ref 194 228 258 259 260 306 313 ON constant bit(1) initial dcl 386 ref 176 214 291 305 312 329 QUOTE 002506 constant char(1) initial unaligned dcl 387 ref 116 116 363 363 active_request_flag 000100 automatic bit(1) dcl 389 set ref 99 132 225 286* 292 317 addr builtin function dcl 390 ref 284 arg based char unaligned dcl 391 ref 180 205 301 301 308 308 arg_descriptor based structure level 1 dcl 1-6 arg_length 000101 automatic fixed bin(21,0) dcl 392 set ref 174* 180 202* 205 231* 300* 301 301 308 308 arg_list based structure level 1 dcl 2-5 arg_ptr 000102 automatic pointer dcl 393 set ref 174* 180 202* 205 231* 300* 301 301 308 308 chunk_of_automatic_storage 000104 automatic char unaligned dcl 395 set ref 284 code 000104 automatic fixed bin(35,0) dcl 396 set ref 71* 75* 84 84* 93* 96 96* 139* 143 143* 181* 183 183 183* 188 188* 191* 206* 209 209 209* 214 216* 264* 265 265* 270* 271 current_arg_number 000105 automatic fixed bin(17,0) dcl 397 set ref 172* 174* 175* 175 197 202* 204* 204 228 231* 233* 233 error_table_$inconsistent 000010 external static fixed bin(35,0) dcl 399 set ref 104* 197* 292* 317* 321* error_table_$nostars 000012 external static fixed bin(35,0) dcl 400 set ref 132* 214 extended_arg_type 000134 automatic fixed bin(17,0) initial dcl 1-36 set ref 1-36* fixed builtin function dcl 402 ref 321 321 header based structure level 2 dcl 2-5 identifier_needed 000106 automatic bit(1) dcl 404 set ref 101 181* 195 index builtin function dcl 405 in procedure "linus_list_format_options" ref 113 358 index 2 based fixed bin(21,0) array level 3 in structure "name_value_info" dcl 4-17 in procedure "linus_list_format_options" ref 354 index based fixed bin(21,0) array level 3 in structure "name_value_info" dcl 4-17 in procedure "linus_list_format_options" ref 360 366 366 366 366 ioa_ 000014 constant entry external dcl 406 ref 116 119 346 363 366 lcb based structure level 1 dcl 3-53 lcb_ptr 000136 automatic pointer dcl 3-121 set ref 71* 75* 93* 139* 165 181* 206* 256* 264* 270* lcb_ptr_parm parameter pointer dcl 50 ref 47 256 length 3 based fixed bin(21,0) array level 3 in structure "name_value_info" dcl 4-17 in procedure "linus_list_format_options" ref 354 length 1 based fixed bin(21,0) array level 3 in structure "name_value_info" dcl 4-17 in procedure "linus_list_format_options" ref 360 366 366 366 366 linus_error_$bad_option_identifier 000016 external static fixed bin(35,0) dcl 408 ref 209 linus_error_$bad_option_name 000020 external static fixed bin(35,0) dcl 409 ref 188 linus_error_$no_lila_expr_processed 000022 external static fixed bin(35,0) dcl 410 ref 183 271 linus_options$check_identifier 000024 constant entry external dcl 411 ref 206 linus_options$check_name 000026 constant entry external dcl 412 ref 181 linus_options$get 000030 constant entry external dcl 413 ref 93 linus_options$get_active 000032 constant entry external dcl 414 ref 71 linus_options$get_all 000034 constant entry external dcl 415 ref 75 linus_options$get_named 000036 constant entry external dcl 416 ref 139 linus_options$initialize 000040 constant entry external dcl 417 ref 264 linus_table$info 000042 constant entry external dcl 418 ref 270 long_option_name 000107 automatic varying char dcl 419 set ref 93* 136 181* 183* 197* 206* 209* loop 000107 automatic fixed bin(17,0) dcl 420 set ref 299* 300* 352* 354 354 360 360 366 366 366 366 366 366 366 366* maximum_column_name_length 3 based fixed bin(17,0) level 2 dcl 7-5 ref 281 name based structure array level 2 dcl 4-17 name_value_area_ptr based pointer level 2 dcl 6-7 ref 166 name_value_info based structure array level 1 dcl 4-17 names_and_values based char unaligned dcl 4-27 ref 354 360 366 366 366 366 names_and_values_area based area dcl 422 ref 168 names_and_values_area_ptr 000110 automatic pointer dcl 423 set ref 166* 168 names_and_values_info_ptr 000140 automatic pointer initial dcl 4-29 set ref 71* 75* 4-29* 139* 354 354 360 360 366 366 366 366 366 366 366 366 names_and_values_ptr 000142 automatic pointer initial dcl 4-30 set ref 71* 75* 4-30* 139* 354 360 366 366 366 366 no_of_names_and_values 000144 automatic fixed bin(21,0) dcl 4-31 set ref 71* 75* 139* 344 352 no_of_options_in_name_table 000146 automatic fixed bin(21,0) dcl 4-40 set ref 139* 167* 168 normalized_option_name 000112 automatic varying char dcl 424 set ref 93* 115 119* 119* 206* null builtin function dcl 425 ref 4-29 4-30 4-41 6-52 number_of_args_supplied 000112 automatic fixed bin(17,0) dcl 426 set ref 104 197 228 286* 289 299 321 number_of_control_args_found 000113 automatic fixed bin(17,0) dcl 427 set ref 298* 303* 303 310* 310 321 number_of_legal_args 000114 automatic fixed bin(17,0) dcl 428 set ref 101* 103* 104 option_identifier 000115 automatic varying char dcl 430 set ref 93* 137 171* 205* 206* 209* option_name 000115 automatic varying char dcl 431 set ref 180* 181* 188* option_name_table based structure array level 1 unaligned dcl 4-36 set ref 168 option_name_table_ptr 000150 automatic pointer initial dcl 4-41 set ref 4-41* 136 137 139* 168* option_value 000115 automatic varying char dcl 432 set ref 93* 108 113 116 119* 354* 358 363 366* padded_option_name based char unaligned dcl 434 set ref 115* 116 360* 363 padded_option_name_ptr 000116 automatic pointer dcl 435 set ref 115 116 284* 360 363 report_cip 000152 automatic pointer initial dcl 6-52 set ref 6-52* 165* 166 report_control_info based structure level 1 dcl 6-7 report_control_info_ptr 106 based pointer level 2 dcl 3-53 ref 165 requote_string_ 000044 constant entry external dcl 438 ref 108 return_value based varying char dcl 439 set ref 108* return_value_length 000120 automatic fixed bin(21,0) dcl 440 set ref 108 286* return_value_ptr 000122 automatic pointer dcl 441 set ref 108 286* sci_ptr 000124 automatic pointer dcl 443 set ref 84* 96* 104* 132* 143* 174* 183* 188* 191* 197* 202* 209* 216* 231* 255* 265* 286* 292* 300* 317* 321* sci_ptr_parm parameter pointer dcl 49 ref 47 255 size_of_names_and_values 000145 automatic fixed bin(21,0) dcl 4-32 set ref 71* 75* 139* 354 360 366 366 366 366 ssu_$abort_line 000046 constant entry external dcl 444 ref 84 96 104 132 143 183 188 191 197 209 216 265 292 317 321 ssu_$arg_ptr 000050 constant entry external dcl 445 ref 174 202 231 300 ssu_$return_arg 000052 constant entry external dcl 446 ref 286 still_processing_args 000126 automatic bit(1) dcl 447 set ref 176* 178 228* substr builtin function dcl 448 ref 354 360 366 366 366 366 table_info based structure level 1 dcl 7-5 table_ip 000154 automatic pointer dcl 7-57 set ref 270* 281 the_identifier 11 based varying char(32) array level 2 dcl 4-36 set ref 137* the_longest_option_name 000127 automatic fixed bin(17,0) dcl 451 set ref 115 116 271* 275* 279* 281* 281 360 363 the_name based varying char(32) array level 2 dcl 4-36 set ref 136* this_is_a_star_name 000130 automatic bit(1) dcl 452 set ref 194* 214* 221 usage_1 000131 automatic bit(1) dcl 454 set ref 71 258* 291* 305* 313* 317 321 321 329 usage_2 000132 automatic bit(1) dcl 455 set ref 75 259* 306* 312* 317 321 321 329 usage_3 000133 automatic bit(1) dcl 456 set ref 260* 329* value 2 based structure array level 2 dcl 4-17 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Envptr_supplied_call_type internal static fixed bin(18,0) initial unsigned unaligned dcl 2-29 GENERAL_COLUMN_OPTION internal static fixed bin(17,0) initial dcl 5-15 GENERAL_REPORT_OPTION internal static fixed bin(17,0) initial dcl 5-14 INDEX_FOR_ALIGNMENT internal static fixed bin(17,0) initial dcl 5-66 INDEX_FOR_COLUMN_ORDER internal static fixed bin(17,0) initial dcl 5-50 INDEX_FOR_COUNT internal static fixed bin(17,0) initial dcl 5-51 INDEX_FOR_DELIMITER internal static fixed bin(17,0) initial dcl 5-40 INDEX_FOR_EDITING internal static fixed bin(17,0) initial dcl 5-67 INDEX_FOR_EXCLUDE internal static fixed bin(17,0) initial dcl 5-52 INDEX_FOR_FOLDING internal static fixed bin(17,0) initial dcl 5-68 INDEX_FOR_FORMAT_DOCUMENT_CONTROLS internal static fixed bin(17,0) initial dcl 5-41 INDEX_FOR_GROUP internal static fixed bin(17,0) initial dcl 5-53 INDEX_FOR_GROUP_FOOTER_TRIGGER internal static fixed bin(17,0) initial dcl 5-54 INDEX_FOR_GROUP_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 5-55 INDEX_FOR_GROUP_HEADER_TRIGGER internal static fixed bin(17,0) initial dcl 5-56 INDEX_FOR_GROUP_HEADER_VALUE internal static fixed bin(17,0) initial dcl 5-57 INDEX_FOR_HYPHENATION internal static fixed bin(17,0) initial dcl 5-42 INDEX_FOR_OUTLINE internal static fixed bin(17,0) initial dcl 5-58 INDEX_FOR_PAGE_BREAK internal static fixed bin(17,0) initial dcl 5-59 INDEX_FOR_PAGE_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 5-43 INDEX_FOR_PAGE_HEADER_VALUE internal static fixed bin(17,0) initial dcl 5-44 INDEX_FOR_PAGE_LENGTH internal static fixed bin(17,0) initial dcl 5-45 INDEX_FOR_PAGE_WIDTH internal static fixed bin(17,0) initial dcl 5-46 INDEX_FOR_ROW_FOOTER_VALUE internal static fixed bin(17,0) initial dcl 5-60 INDEX_FOR_ROW_HEADER_VALUE internal static fixed bin(17,0) initial dcl 5-61 INDEX_FOR_SEPARATOR internal static fixed bin(17,0) initial dcl 5-69 INDEX_FOR_SUBCOUNT internal static fixed bin(17,0) initial dcl 5-62 INDEX_FOR_SUBTOTAL internal static fixed bin(17,0) initial dcl 5-63 INDEX_FOR_TITLE internal static fixed bin(17,0) initial dcl 5-70 INDEX_FOR_TITLE_LINE internal static fixed bin(17,0) initial dcl 5-47 INDEX_FOR_TOTAL internal static fixed bin(17,0) initial dcl 5-64 INDEX_FOR_TRUNCATION internal static fixed bin(17,0) initial dcl 5-48 INDEX_FOR_WIDTH internal static fixed bin(17,0) initial dcl 5-71 Interseg_call_type internal static fixed bin(18,0) initial unsigned unaligned dcl 2-29 NUMBER_OF_SPECIFIC_COLUMN_OPTIONS_IN_TABLE internal static fixed bin(17,0) initial dcl 5-22 Quick_call_type internal static fixed bin(18,0) initial unsigned unaligned dcl 2-29 SPECIFIC_COLUMN_OPTION internal static fixed bin(17,0) initial dcl 5-16 arg_descriptor_ptr automatic pointer dcl 1-34 arg_list_with_envptr based structure level 1 dcl 2-17 extended_arg_descriptor based structure level 1 dcl 1-21 fixed_arg_descriptor based structure level 1 dcl 1-13 init_number_of_descriptors automatic fixed bin(17,0) dcl 7-54 rel builtin function dcl 437 row_ptrs based structure level 1 dcl 7-32 row_ptrs_p automatic pointer dcl 7-41 row_segs_info based structure level 1 dcl 7-25 row_segs_ip automatic pointer dcl 7-39 row_value based char unaligned dcl 7-36 row_value_p automatic pointer unaligned dcl 7-37 rsi_init_max_number_of_seg_ptrs automatic fixed bin(17,0) dcl 7-55 store_ap automatic pointer dcl 7-56 store_args based structure level 1 dcl 7-44 sys_info$max_seg_size external static fixed bin(35,0) dcl 449 ti_init_column_count automatic fixed bin(17,0) dcl 7-58 NAMES DECLARED BY EXPLICIT CONTEXT. get_and_list_option_name 000524 constant entry internal dcl 91 ref 223 get_and_list_star_name 001063 constant entry internal dcl 127 ref 221 get_and_list_user_specified_option_values 001204 constant entry internal dcl 153 ref 80 initialize 001674 constant entry internal dcl 242 ref 69 linus_list_format_options 000247 constant entry external dcl 47 list_the_values 002227 constant entry internal dcl 336 ref 87 147 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2742 3016 2510 2752 Length 3410 2510 54 355 231 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME linus_list_format_options 518 external procedure is an external procedure. get_and_list_option_name internal procedure shares stack frame of external procedure linus_list_format_options. get_and_list_star_name internal procedure shares stack frame of external procedure linus_list_format_options. get_and_list_user_specified_option_values internal procedure shares stack frame of external procedure linus_list_format_options. initialize internal procedure shares stack frame of external procedure linus_list_format_options. list_the_values internal procedure shares stack frame of external procedure linus_list_format_options. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME linus_list_format_options 000100 active_request_flag linus_list_format_options 000101 arg_length linus_list_format_options 000102 arg_ptr linus_list_format_options 000104 chunk_of_automatic_storage linus_list_format_options 000104 code linus_list_format_options 000105 current_arg_number linus_list_format_options 000106 identifier_needed linus_list_format_options 000107 long_option_name linus_list_format_options 000107 loop linus_list_format_options 000110 names_and_values_area_ptr linus_list_format_options 000112 number_of_args_supplied linus_list_format_options 000112 normalized_option_name linus_list_format_options 000113 number_of_control_args_found linus_list_format_options 000114 number_of_legal_args linus_list_format_options 000115 option_name linus_list_format_options 000115 option_identifier linus_list_format_options 000115 option_value linus_list_format_options 000116 padded_option_name_ptr linus_list_format_options 000120 return_value_length linus_list_format_options 000122 return_value_ptr linus_list_format_options 000124 sci_ptr linus_list_format_options 000126 still_processing_args linus_list_format_options 000127 the_longest_option_name linus_list_format_options 000130 this_is_a_star_name linus_list_format_options 000131 usage_1 linus_list_format_options 000132 usage_2 linus_list_format_options 000133 usage_3 linus_list_format_options 000134 extended_arg_type linus_list_format_options 000136 lcb_ptr linus_list_format_options 000140 names_and_values_info_ptr linus_list_format_options 000142 names_and_values_ptr linus_list_format_options 000144 no_of_names_and_values linus_list_format_options 000145 size_of_names_and_values linus_list_format_options 000146 no_of_options_in_name_table linus_list_format_options 000150 option_name_table_ptr linus_list_format_options 000152 report_cip linus_list_format_options 000154 table_ip linus_list_format_options THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs cat_realloc_cs call_ext_out_desc call_ext_out return alloc_auto_adj shorten_stack ext_entry alloc_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ioa_ linus_options$check_identifier linus_options$check_name linus_options$get linus_options$get_active linus_options$get_all linus_options$get_named linus_options$initialize linus_table$info requote_string_ ssu_$abort_line ssu_$arg_ptr ssu_$return_arg THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$inconsistent error_table_$nostars linus_error_$bad_option_identifier linus_error_$bad_option_name linus_error_$no_lila_expr_processed LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 47 000243 395 000254 419 000263 424 000273 430 000303 431 000313 432 000323 1 36 000333 4 29 000335 4 30 000337 4 41 000340 6 52 000341 93 000342 119 000356 181 000367 183 000375 188 000400 197 000403 206 000406 209 000417 366 000425 69 000430 71 000431 75 000455 80 000501 81 000502 84 000503 87 000522 89 000523 91 000524 93 000525 96 000566 99 000605 101 000610 103 000616 104 000620 108 000643 109 000706 113 000710 115 000723 116 000732 118 001006 119 001010 123 001062 127 001063 132 001064 136 001113 137 001125 139 001136 143 001163 147 001202 149 001203 153 001204 165 001205 166 001210 167 001220 168 001222 171 001230 172 001231 174 001233 175 001250 176 001251 178 001253 180 001256 181 001270 183 001322 188 001360 191 001413 194 001427 195 001430 197 001433 202 001467 204 001504 205 001505 206 001517 209 001552 214 001615 216 001622 221 001636 223 001642 225 001643 228 001647 231 001654 233 001671 236 001672 238 001673 242 001674 255 001675 256 001701 258 001704 259 001705 260 001706 264 001707 265 001720 270 001737 271 001752 275 001761 279 001766 281 001770 284 001774 286 001776 289 002014 291 002016 292 002020 296 002044 298 002045 299 002046 300 002055 301 002072 303 002104 305 002105 306 002107 307 002110 308 002111 310 002121 312 002122 313 002124 316 002125 317 002127 321 002160 329 002220 332 002226 336 002227 344 002230 346 002232 349 002263 352 002264 354 002273 358 002311 360 002324 363 002333 365 002407 366 002411 375 002502 377 002505 ----------------------------------------------------------- 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