COMPILATION LISTING OF SEGMENT linus_create_data_file 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.6 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* *********************************************************** */ 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(88-01-27,Dupuis), approve(88-03-03,MCR7844), audit(88-03-14,Blair), 12* install(88-03-15,MR12.2-1036): 13* Implemented the -progress/-no_progress control arguments. 14* END HISTORY COMMENTS */ 15 16 17 /* format: off */ 18 19 /* This is the subroutine called by the linus write and write_data_file 20* requests to implement the file writing. Description and usage follows. 21* 22* Description: 23* 24* This subroutine retrieves the selected data from the data base and writes 25* it to a file which can later be input to the store_data_file request, and 26* sometimes to the linus store request if the delimiters don't get in 27* the way. 28* 29* Usage: "call linus_create_data_file (lcb_ptr, addr (data_file_info)); 30* 31* Known Bugs: 32* 33* Other Problems: 34* 35* History: 36* 37* Written - Al Dupuis - September 1983. 38* 39**/ 40 41 linus_create_data_file: proc ( 42 43 lcb_ptr_parm, /* input: ptr to the linus control block info structure */ 44 data_file_info_ptr_parm /* input: ptr to the data_file_info structure */ 45 ); 46 47 dcl data_file_info_ptr_parm ptr parm; 48 dcl lcb_ptr_parm ptr parm; 49 50 /* 51* Mainline Processing Overview: 52* 53* (1) Check that a data base is open and a translated query is available. 54* 55* (2) Attach and open output file. 56* 57* (3) Begin a new table and have first row retrieved. 58* 59* (4) Write the row to the output file, retrieve another and repeat. 60* 61* (5) Close file and delete table. 62* 63**/ 64 65 66 call initialize; 67 if lcb.db_index = 0 68 then call ssu_$abort_line (sci_ptr, linus_error_$no_db); 69 70 if lcb.si_ptr = null 71 then do; 72 call linus_translate_query$auto (sci_ptr, lcb_ptr); 73 if lcb.si_ptr = null 74 then call ssu_$abort_line (sci_ptr, 0); 75 end; 76 77 cleanup_signalled = OFF; 78 on cleanup begin; 79 cleanup_signalled = ON; 80 call terminate; 81 end; 82 83 call setup_for_retrieval; 84 still_retrieving = ON; 85 86 do while (still_retrieving); 87 call write_row_to_output_file; 88 call linus_table$get_row (lcb_ptr, row_value_p, code); 89 if code ^= 0 90 then if code = mrds_error_$tuple_not_found 91 then still_retrieving = OFF; 92 else call ssu_$abort_line (sci_ptr, code); 93 else; 94 end; 95 96 call terminate; 97 98 return; 99 100 initialize: proc; 101 102 lcb_ptr = lcb_ptr_parm; 103 file_info_ptr = data_file_info_ptr_parm; 104 105 sci_ptr = lcb.subsystem_control_info_ptr; 106 truncate = file_info.flags.truncate_file; 107 108 checking_values = file_info.flags.check_values_for_delimiters; 109 the_column_delimiter = file_info.column_delimiter; 110 the_row_delimiter = file_info.row_delimiter; 111 if checking_values 112 then special_characters = the_column_delimiter || the_row_delimiter || QUOTE; 113 114 creating_new_columns = file_info.flags.create_new_columns; 115 if creating_new_columns 116 then create_cm_ptr = file_info.create_columns_map_ptr; 117 else create_cm_ptr = null; 118 119 file_is_attached = OFF; 120 file_is_opened = OFF; 121 table_has_been_started = OFF; 122 temp_segment_has_been_acquired = OFF; 123 output_columns_map_has_been_allocated = OFF; 124 125 return; 126 127 end initialize; 128 129 setup_for_retrieval: proc; 130 131 dcl sfr_current_table_column_number fixed bin; 132 dcl sfr_inner_loop fixed bin; 133 dcl sfr_loop fixed bin; 134 dcl sfr_new_column_found bit (1) aligned; 135 136 137 call linus_table$translate_query (lcb_ptr, table_ip, code); 138 if code ^= 0 139 then call ssu_$abort_line (sci_ptr, code); 140 141 call linus_table$new_table (lcb_ptr, get_pdir_ (), TEMPORARY_TABLE, code); 142 if code ^= 0 143 then call ssu_$abort_line (sci_ptr, code); 144 table_has_been_started = ON; 145 146 call linus_table$info (lcb_ptr, table_ip, code); 147 if code ^= 0 148 then call ssu_$abort_line (sci_ptr, code); 149 150 row_segs_ip = table_info.row_segs_info_ptr; 151 row_ptrs_p = row_segs_info.seg_ptr (1); 152 row_value_p = row_ptrs.row_value_ptr (1); 153 number_of_output_columns = table_info.column_count; 154 if creating_new_columns 155 then number_of_output_columns = number_of_output_columns 156 + create_columns_map.number_of_columns; 157 allocate output_columns_map in (lcb.static_area) 158 set (output_columns_map_ptr); 159 output_columns_map_has_been_allocated = ON; 160 output_columns_map.columns.index (*) = 0; 161 output_columns_map.columns.length (*) = 0; 162 output_columns_map.columns.value (*) = ""; 163 164 sfr_current_table_column_number = 1; 165 do sfr_loop = 1 to number_of_output_columns; 166 sfr_new_column_found = OFF; 167 if creating_new_columns 168 then do sfr_inner_loop = 1 to create_columns_map.number_of_columns 169 while (^sfr_new_column_found); 170 if create_columns_map.column_numbers (sfr_inner_loop) = sfr_loop 171 then sfr_new_column_found = ON; 172 else; 173 end; 174 if ^sfr_new_column_found 175 then do; 176 output_columns_map.columns (sfr_loop).index 177 = table_info.columns.column_index (sfr_current_table_column_number); 178 output_columns_map.columns (sfr_loop).length 179 = table_info.columns.column_length (sfr_current_table_column_number); 180 sfr_current_table_column_number = sfr_current_table_column_number + 1; 181 end; 182 else; 183 end; 184 185 current_row_number = 0; 186 187 call linus_temp_seg_mgr$get_segment (lcb_ptr, CREATE_DATA_FILE, "", 188 buffer_ptr, code); 189 if code ^= 0 190 then call ssu_$abort_line (sci_ptr, code, 191 "^/While trying to acquire a temporary segment."); 192 temp_segment_has_been_acquired = ON; 193 buffer_length = sys_info$max_seg_size * 4 - 4; 194 one_word_past_buffer_ptr = addrel (buffer_ptr, 1); 195 196 spare_buffer_as_non_varying_ptr = addrel (addr (spare_buffer), 1); 197 198 call expand_pathname_ (file_info.output_file_pathname, 199 directory_name, entry_name, code); 200 if code ^= 0 201 then call ssu_$abort_line (sci_ptr, code, 202 "^/While trying to expand the output file pathname ^a.", 203 file_info.output_file_pathname); 204 205 switch_name = unique_chars_ ("0"b) || ".create_data_file"; 206 if truncate 207 then attach_description = "vfile_ " 208 || rtrim (directory_name) || ">" || rtrim (entry_name); 209 else attach_description = "vfile_ " 210 || rtrim (directory_name) || ">" || rtrim (entry_name) || " -extend"; 211 212 call iox_$attach_name (switch_name, output_file_iocb_ptr, attach_description, null (), code); 213 if code ^= 0 214 then call ssu_$abort_line (sci_ptr, code, 215 "^/While trying to attach file ^a in dir ^a.", 216 rtrim (directory_name), rtrim (entry_name)); 217 file_is_attached = ON; 218 219 call iox_$open (output_file_iocb_ptr, Stream_output, "0"b, code); 220 if code ^= 0 221 then call ssu_$abort_line (sci_ptr, code, 222 "^/While trying to open file ^a in dir ^a.", 223 rtrim (directory_name), rtrim (entry_name)); 224 file_is_opened = ON; 225 226 return; 227 228 end setup_for_retrieval; 229 230 terminate: proc; 231 232 if ^cleanup_signalled & file_info.flags.tracing 233 then call ioa_ ("Writing completed. ^d tuples written.", current_row_number); 234 235 if temp_segment_has_been_acquired 236 then do; 237 call linus_temp_seg_mgr$release_segment (lcb_ptr, CREATE_DATA_FILE, buffer_ptr, code); 238 if code ^= 0 239 then if cleanup_signalled 240 then call ssu_$print_message (sci_ptr, code, 241 "^/While trying to release a temporary segment."); 242 else call ssu_$abort_line (sci_ptr, code, 243 "^/While trying to release a temporary segment."); 244 else temp_segment_has_been_acquired = OFF; 245 end; 246 247 if file_is_opened 248 then do; 249 call iox_$close (output_file_iocb_ptr, code); 250 if code ^= 0 251 then if cleanup_signalled 252 then call ssu_$print_message (sci_ptr, code, 253 "^/While trying to close ^a.", entry_name); 254 else call ssu_$abort_line (sci_ptr, code, 255 "^/While trying to close ^a.", entry_name); 256 else file_is_opened = OFF; 257 end; 258 else; 259 260 if file_is_attached 261 then do; 262 call iox_$detach_iocb (output_file_iocb_ptr, code); 263 if code ^= 0 264 then if cleanup_signalled 265 then call ssu_$print_message (sci_ptr, code, 266 "^/While trying to detach ^p.", output_file_iocb_ptr); 267 else call ssu_$abort_line (sci_ptr, code, 268 "^/While trying to detach ^p.", output_file_iocb_ptr); 269 else do; 270 file_is_attached = OFF; 271 call iox_$destroy_iocb (output_file_iocb_ptr, code); 272 if code ^= 0 273 then if cleanup_signalled 274 then call ssu_$print_message (sci_ptr, code, 275 "^/While trying to destroy ^p.", output_file_iocb_ptr); 276 else call ssu_$abort_line (sci_ptr, code, 277 "^/While trying to destroy ^p.", output_file_iocb_ptr); 278 else; 279 end; 280 end; 281 282 if table_has_been_started 283 then do; 284 call linus_table$delete_table (lcb_ptr, code); 285 if code ^= 0 286 then if cleanup_signalled 287 then call ssu_$print_message (sci_ptr, code, 288 "^/While trying to delete the table."); 289 else call ssu_$abort_line (sci_ptr, code, 290 "^/While trying to delete the table."); 291 else table_has_been_started = OFF; 292 end; 293 294 if output_columns_map_has_been_allocated 295 then do; 296 free output_columns_map in (lcb.static_area); 297 output_columns_map_has_been_allocated = OFF; 298 end; 299 300 return; 301 302 end terminate; 303 304 write_row_to_output_file: proc; 305 306 dcl wrtof_loop fixed bin; 307 dcl wrtof_table_column_number fixed bin; 308 309 buffer = ""; 310 current_row_number = current_row_number + 1; 311 wrtof_table_column_number = 0; 312 313 do wrtof_loop = 1 to number_of_output_columns; 314 if output_columns_map.columns (wrtof_loop).index ^= 0 315 then do; 316 wrtof_table_column_number = wrtof_table_column_number + 1; 317 if ^checking_values 318 then buffer = buffer || substr (row_value, 319 output_columns_map.columns (wrtof_loop).index, 320 output_columns_map.columns (wrtof_loop).length); 321 else call add_checked_value_to_buffer (wrtof_loop, wrtof_table_column_number); 322 end; 323 buffer = buffer || the_column_delimiter; 324 end; 325 326 buffer = buffer || the_row_delimiter; 327 call iox_$put_chars (output_file_iocb_ptr, one_word_past_buffer_ptr, 328 length (buffer), code); 329 if code ^= 0 330 then call ssu_$abort_line (sci_ptr, code, 331 "^/While trying to write row number ^d to the output file.", current_row_number); 332 333 if file_info.flags.tracing 334 then if mod (current_row_number, file_info.trace_every_n_tuples) = 0 335 then call ioa_ ("^d tuples have been written.", current_row_number); 336 337 return; 338 339 end write_row_to_output_file; 340 341 add_checked_value_to_buffer: proc ( 342 343 acvtb_column_index_parm, /* input: number of current output column */ 344 acvtb_table_index_parm /* input: number of current table column */ 345 ); 346 347 dcl acvtb_column_index fixed bin (21); 348 dcl acvtb_column_index_parm fixed bin parm; 349 dcl acvtb_column_length fixed bin (21); 350 dcl acvtb_data_type fixed bin (6) unsigned unaligned; 351 dcl acvtb_table_index_parm fixed bin parm; 352 353 acvtb_column_index = output_columns_map.columns (acvtb_column_index_parm).index; 354 acvtb_column_length = output_columns_map.columns (acvtb_column_index_parm).length; 355 acvtb_data_type = addr (table_info.columns.column_data_type ( 356 acvtb_table_index_parm)) -> descriptor.type; 357 358 if acvtb_data_type ^= char_dtype & acvtb_data_type ^= varying_char_dtype 359 & acvtb_data_type ^= bit_dtype & acvtb_data_type ^= varying_bit_dtype 360 then spare_buffer = ltrim (rtrim (substr (row_value, 361 acvtb_column_index, acvtb_column_length))); 362 else spare_buffer = rtrim (substr (row_value, 363 acvtb_column_index, acvtb_column_length)); 364 if search (spare_buffer, special_characters) = 0 365 then buffer = buffer || spare_buffer; 366 else do; 367 spare_buffer_length = length (spare_buffer); 368 buffer = buffer || requote_string_ (spare_buffer_as_non_varying); 369 end; 370 371 return; 372 373 end add_checked_value_to_buffer; 374 375 dcl CREATE_DATA_FILE char (16) static internal options (constant) init ("create_data_file"); 376 377 dcl MAXIMUM_MRDS_ATTRIBUTE_LENGTH fixed bin static internal options (constant) init (4096); 378 379 dcl OFF bit (1) aligned static internal options (constant) init ("0"b); 380 dcl ON bit (1) aligned static internal options (constant) init ("1"b); 381 382 dcl QUOTE char (1) static internal options (constant) init (""""); 383 384 dcl TEMPORARY_TABLE bit (1) aligned static internal options (constant) init ("0"b); 385 386 dcl addr builtin; 387 dcl addrel builtin; 388 dcl attach_description char (256); 389 390 dcl buffer char (buffer_length) varying based (buffer_ptr); 391 dcl buffer_length fixed bin (21); 392 dcl buffer_ptr ptr; 393 394 dcl checking_values bit (1) aligned; 395 dcl cleanup condition; 396 dcl cleanup_signalled bit (1) aligned; 397 dcl code fixed bin (35); 398 dcl creating_new_columns bit (1) aligned; 399 dcl current_row_number fixed bin; 400 401 dcl directory_name char (168); 402 403 dcl entry_name char (32); 404 dcl expand_pathname_ entry (char(*), char(*), char(*), fixed bin(35)); 405 406 dcl 1 file_info like data_file_info based (file_info_ptr); 407 dcl file_info_ptr ptr; 408 dcl file_is_attached bit (1) aligned; 409 dcl file_is_opened bit (1) aligned; 410 dcl fixed builtin; 411 412 dcl get_pdir_ entry() returns(char(168)); 413 414 dcl ioa_ entry() options(variable); 415 416 dcl length builtin; 417 dcl linus_error_$no_db fixed bin(35) ext static; 418 dcl linus_table$delete_table entry (ptr, fixed bin(35)); 419 dcl linus_table$info entry (ptr, ptr, fixed bin(35)); 420 dcl linus_table$new_table entry (ptr, char(168) var, bit(1) aligned, fixed bin(35)); 421 dcl linus_table$get_row entry (ptr, ptr unaligned, fixed bin (35)); 422 dcl linus_table$translate_query entry (ptr, ptr, fixed bin(35)); 423 dcl linus_temp_seg_mgr$get_segment entry (ptr, char(*), char(*), ptr, fixed bin(35)); 424 dcl linus_temp_seg_mgr$release_segment entry (ptr, char(*), ptr, fixed bin(35)); 425 dcl linus_translate_query$auto entry (ptr, ptr); 426 dcl ltrim builtin; 427 428 dcl mod builtin; 429 dcl mrds_error_$tuple_not_found fixed bin(35) ext static; 430 431 dcl null builtin; 432 dcl number_of_output_columns fixed bin; 433 434 dcl one_word_past_buffer_ptr ptr; 435 dcl 1 output_columns_map aligned based (output_columns_map_ptr), 436 2 number_of_columns fixed bin, 437 2 columns (number_of_output_columns refer (output_columns_map.number_of_columns)), 438 3 index fixed bin (21), 439 3 length fixed bin (21), 440 3 value char (1) varying; 441 dcl output_columns_map_has_been_allocated bit (1) aligned; 442 dcl output_columns_map_ptr ptr; 443 dcl output_file_iocb_ptr ptr; 444 445 dcl rel builtin; 446 dcl requote_string_ entry (char(*)) returns(char(*)); 447 dcl rtrim builtin; 448 449 dcl sci_ptr ptr; 450 dcl search builtin; 451 dcl spare_buffer char (MAXIMUM_MRDS_ATTRIBUTE_LENGTH) varying; 452 dcl spare_buffer_length fixed bin; 453 dcl spare_buffer_as_non_varying char (spare_buffer_length) based (spare_buffer_as_non_varying_ptr); 454 dcl spare_buffer_as_non_varying_ptr ptr; 455 dcl special_characters char (3); 456 dcl ssu_$abort_line entry() options(variable); 457 dcl ssu_$print_message entry() options(variable); 458 dcl still_retrieving bit (1) aligned; 459 dcl substr builtin; 460 dcl switch_name char (32); 461 dcl sys_info$max_seg_size fixed bin(35) ext static; 462 463 dcl table_has_been_started bit (1) aligned; 464 dcl temp_segment_has_been_acquired bit (1) aligned; 465 dcl the_column_delimiter char (1); 466 dcl the_row_delimiter char (1); 467 dcl truncate bit (1) aligned; 468 469 dcl unique_chars_ entry (bit(*)) returns(char(15)); 470 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 */ 471 472 2 1 /* BEGIN INCLUDE FILE ... arg_list.incl.pl1 2 2* 2 3* James R. Davis 10 May 79 */ 2 4 2 5 2 6 2 7 /****^ HISTORY COMMENTS: 2 8* 1) change(86-05-15,DGHowe), approve(86-05-15,MCR7375), 2 9* audit(86-07-15,Schroth): 2 10* added command_name_arglist declaration to allow the storage of the 2 11* command name given to the command processor 2 12* END HISTORY COMMENTS */ 2 13 2 14 dcl 1 arg_list aligned based, 2 15 2 header, 2 16 3 arg_count fixed bin (17) unsigned unal, 2 17 3 pad1 bit (1) unal, 2 18 3 call_type fixed bin (18) unsigned unal, 2 19 3 desc_count fixed bin (17) unsigned unal, 2 20 3 pad2 bit (19) unal, 2 21 2 arg_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr, 2 22 2 desc_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr; 2 23 2 24 2 25 dcl 1 command_name_arglist aligned based, 2 26 2 header, 2 27 3 arg_count fixed bin (17) unsigned unal, 2 28 3 pad1 bit (1) unal, 2 29 3 call_type fixed bin (18) unsigned unal, 2 30 3 desc_count fixed bin (17) unsigned unal, 2 31 3 mbz bit(1) unal, 2 32 3 has_command_name bit(1) unal, 2 33 3 pad2 bit (17) unal, 2 34 2 arg_ptrs (arg_list_arg_count refer (command_name_arglist.arg_count)) ptr, 2 35 2 desc_ptrs (arg_list_arg_count refer (command_name_arglist.arg_count)) ptr, 2 36 2 name, 2 37 3 command_name_ptr pointer, 2 38 3 command_name_length fixed bin (21); 2 39 2 40 2 41 2 42 dcl 1 arg_list_with_envptr aligned based, /* used with non-quick int and entry-var calls */ 2 43 2 header, 2 44 3 arg_count fixed bin (17) unsigned unal, 2 45 3 pad1 bit (1) unal, 2 46 3 call_type fixed bin (18) unsigned unal, 2 47 3 desc_count fixed bin (17) unsigned unal, 2 48 3 pad2 bit (19) unal, 2 49 2 arg_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr, 2 50 2 envptr ptr, 2 51 2 desc_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr; 2 52 2 53 2 54 dcl ( 2 55 Quick_call_type init (0), 2 56 Interseg_call_type init (4), 2 57 Envptr_supplied_call_type 2 58 init (8) 2 59 ) fixed bin (18) unsigned unal int static options (constant); 2 60 2 61 /* The user must declare arg_list_arg_count - if an adjustable automatic structure 2 62* is being "liked" then arg_list_arg_count may be a parameter, in order to allocate 2 63* an argument list of the proper size in the user's stack 2 64* 2 65**/ 2 66 /* END INCLUDE FILE ... arg_list.incl.pl1 */ 473 474 3 1 /* --------------- BEGIN include file iox_dcls.incl.pl1 --------------- */ 3 2 3 3 /* Written 05/04/78 by C. D. Tavares */ 3 4 /* Fixed declaration of iox_$find_iocb_n 05/07/80 by R. Holmstedt */ 3 5 /* Modified 5/83 by S. Krupp to add declarations for: iox_$open_file, 3 6* iox_$close_file, iox_$detach and iox_$attach_loud entries. */ 3 7 3 8 dcl iox_$attach_name entry (char (*), pointer, char (*), pointer, fixed bin (35)), 3 9 iox_$attach_ptr entry (pointer, char (*), pointer, fixed bin (35)), 3 10 iox_$close entry (pointer, fixed bin (35)), 3 11 iox_$control entry (pointer, char (*), pointer, fixed bin (35)), 3 12 iox_$delete_record entry (pointer, fixed bin (35)), 3 13 iox_$destroy_iocb entry (pointer, fixed bin (35)), 3 14 iox_$detach_iocb entry (pointer, fixed bin (35)), 3 15 iox_$err_not_attached entry options (variable), 3 16 iox_$err_not_closed entry options (variable), 3 17 iox_$err_no_operation entry options (variable), 3 18 iox_$err_not_open entry options (variable), 3 19 iox_$find_iocb entry (char (*), pointer, fixed bin (35)), 3 20 iox_$find_iocb_n entry (fixed bin, ptr, fixed bin(35)), 3 21 iox_$get_chars entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 3 22 iox_$get_line entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 3 23 iox_$look_iocb entry (char (*), pointer, fixed bin (35)), 3 24 iox_$modes entry (pointer, char (*), char (*), fixed bin (35)), 3 25 iox_$move_attach entry (pointer, pointer, fixed bin (35)), 3 26 iox_$open entry (pointer, fixed bin, bit (1) aligned, fixed bin (35)), 3 27 iox_$position entry (pointer, fixed bin, fixed bin (21), fixed bin (35)), 3 28 iox_$propagate entry (pointer), 3 29 iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)), 3 30 iox_$read_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 3 31 iox_$read_length entry (pointer, fixed bin (21), fixed bin (35)), 3 32 iox_$read_record entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 3 33 iox_$rewrite_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 3 34 iox_$seek_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 3 35 iox_$write_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 3 36 iox_$open_file entry(ptr, fixed bin, char(*), bit(1) aligned, fixed bin(35)), 3 37 iox_$close_file entry(ptr, char(*), fixed bin(35)), 3 38 iox_$detach entry(ptr, char(*), fixed bin(35)), 3 39 iox_$attach_loud entry(ptr, char(*), ptr, fixed bin(35)); 3 40 3 41 dcl (iox_$user_output, 3 42 iox_$user_input, 3 43 iox_$user_io, 3 44 iox_$error_output) external static pointer; 3 45 3 46 /* ---------------- END include file iox_dcls.incl.pl1 ---------------- */ 475 476 4 1 /* Begin include file ..... iox_modes.incl.pl1 */ 4 2 4 3 /* Written by C. D. Tavares, 03/17/75 */ 4 4 /* Updated 10/31/77 by CDT to include short iox mode strings */ 4 5 4 6 dcl iox_modes (13) char (24) int static options (constant) aligned initial 4 7 ("stream_input", "stream_output", "stream_input_output", 4 8 "sequential_input", "sequential_output", "sequential_input_output", "sequential_update", 4 9 "keyed_sequential_input", "keyed_sequential_output", "keyed_sequential_update", 4 10 "direct_input", "direct_output", "direct_update"); 4 11 4 12 dcl short_iox_modes (13) char (4) int static options (constant) aligned initial 4 13 ("si", "so", "sio", "sqi", "sqo", "sqio", "squ", "ksqi", "ksqo", "ksqu", "di", "do", "du"); 4 14 4 15 dcl (Stream_input initial (1), 4 16 Stream_output initial (2), 4 17 Stream_input_output initial (3), 4 18 Sequential_input initial (4), 4 19 Sequential_output initial (5), 4 20 Sequential_input_output initial (6), 4 21 Sequential_update initial (7), 4 22 Keyed_sequential_input initial (8), 4 23 Keyed_sequential_output initial (9), 4 24 Keyed_sequential_update initial (10), 4 25 Direct_input initial (11), 4 26 Direct_output initial (12), 4 27 Direct_update initial (13)) fixed bin int static options (constant); 4 28 4 29 /* End include file ..... iox_modes.incl.pl1 */ 477 478 5 1 /* BEGIN INCLUDE FILE linus_data_file_info.incl.pl1 5 2* 5 3* Written - Al Dupuis - September 1983 5 4**/ 5 5 5 6 /****^ HISTORY COMMENTS: 5 7* 1) change(88-01-27,Dupuis), approve(88-03-03,MCR7844), 5 8* audit(88-03-14,Blair), install(88-03-15,MR12.2-1036): 5 9* Added the trace_every_n_tuples field and the tracing flag. 5 10* END HISTORY COMMENTS */ 5 11 5 12 /* format: off */ 5 13 5 14 dcl 1 create_columns_map aligned based (create_cm_ptr), 5 15 2 number_of_columns fixed bin, 5 16 2 column_numbers (create_columns_map_init_number_of_columns refer (create_columns_map.number_of_columns)) fixed bin; 5 17 dcl create_columns_map_init_number_of_columns fixed bin; 5 18 dcl create_cm_ptr ptr; 5 19 5 20 dcl 1 data_file_info aligned, 5 21 2 flags, 5 22 3 truncate_file bit (1) unaligned, /* ON means truncate */ 5 23 3 check_values_for_delimiters bit (1) unaligned, /* ON means to check */ 5 24 3 process_quotes bit (1) unaligned, /* ON means process quotes */ 5 25 3 process_whitespace bit (1) unaligned, /* ON means treat all whitespace as one blank */ 5 26 3 last_column_delimiter_is_optional bit (1) unaligned, /* ON means last column delimiter is optional */ 5 27 3 create_new_columns bit (1) unaligned, /* ON means create new columns */ 5 28 3 file_is_opened bit (1) unaligned, /* ON means file is opened */ 5 29 3 file_is_attached bit (1) unaligned, /* ON means file is attached */ 5 30 3 end_of_file_has_been_hit bit (1) unaligned, /* ON means we've already hit EOF */ 5 31 3 tracing bit (1) unaligned, /* ON means we need to give progress reports */ 5 32 3 available bit (26) unaligned, 5 33 2 current_row_number fixed bin (35), /* current row number in table */ 5 34 2 current_line_number fixed bin (35), /* current line number of file */ 5 35 2 current_char_in_buffer fixed bin (35), /* index of where we're about to start */ 5 36 2 current_char_in_previous_buffer fixed bin (35), /* index of where we left off in previous buffer */ 5 37 2 file_buffer_length fixed bin (21), /* length of file buffer in chars */ 5 38 2 trace_every_n_tuples fixed bin (35), /* print a progress report every n */ 5 39 2 create_columns_map_ptr ptr, /* points to create_columns_map structure */ 5 40 2 file_iocb_ptr ptr, /* points to iocb for file */ 5 41 2 file_buffer_ptr ptr, /* points to buffer for file */ 5 42 2 column_delimiter char (1) unaligned, /* a single ascii character */ 5 43 2 row_delimiter char (1) unaligned, /* a single ascii character */ 5 44 2 output_file_pathname char (168) unaligned, /* path of output file */ 5 45 2 entry_name char (32) unaligned, /* dir name where file is located */ 5 46 2 directory_name char (168) unaligned; /* entry name of file */ 5 47 5 48 /* END INCLUDE FILE linus_data_file_info.incl.pl1 */ 479 480 6 1 /* BEGIN INCLUDE FILE linus_lcb.incl.pl1 -- jaw 8/30/77 */ 6 2 6 3 6 4 6 5 /****^ HISTORY COMMENTS: 6 6* 1) change(86-04-23,Dupuis), approve(86-05-23,MCR7188), audit(86-07-23,GWMay), 6 7* install(86-07-29,MR12.0-1106): 6 8* Added general_work_area_ptr and renamed sfr_ptr to 6 9* force_retrieve_scope_ptr. 6 10* END HISTORY COMMENTS */ 6 11 6 12 6 13 /* HISTORY: 6 14* 6 15* 78-09-29 J. C. C. Jagernauth: Modified for MR7.0. 6 16* 6 17* 81-05-11 Rickie E. Brinegar: added security bit and andministrator bit as 6 18* a part of the attribute level control work. 6 19* 6 20* 81-06-17 Rickie E. Brinegar: deleted the sd_ptr as a part of removing the 6 21* scope_data structure from LINUS. LINUS now depends totally on MRDS for 6 22* scope information. 6 23* 6 24* 81-11-11 Rickie E. Brinegar: added the timing bit and three fields for 6 25* retaining various vcpu times to be collected when in timing mode. The 6 26* times to be collected are: LINUS parsing time, LINUS processing time, and 6 27* MRDS processing time. 6 28* 6 29* 82-01-15 DJ Schimke: Added the build_increment and build_start fields as 6 30* part of the line numbering implementation. This allows for possible later 6 31* LINUS control of the build defaults. 6 32* 6 33* 82-03-01 Paul W. Benjamin: Removed linus_prompt_chars_ptr, as that 6 34* information is now retained by ssu_. Removed parse_timer as no longer 6 35* meaningful. Added linus_version. Added iteration bit. Added 6 entry 6 36* variables for ssu_ replaceable procedures. Added actual_input_iocbp. 6 37* 6 38* 82-06-23 Al Dupuis: Added subsystem_control_info_ptr, 6 39* subsystem_invocation_level, and selection_expression_identifier. 6 40* 6 41* 82-08-26 DJ Schimke: Added report_control_info_ptr, and 6 42* table_control_info_ptr. 6 43* 6 44* 82-10-19 DJ Schimke: Added ssu_abort_line. 6 45* 6 46* 83-06-06 Bert Moberg: Added print_search_order (pso) and no_optimize (no_ot) 6 47* 6 48* 83-04-07 DJ Schimke: Added temp_seg_info_ptr. 6 49* 6 50* 83-08-26 Al Dupuis: Added query_temp_segment_ptr. 6 51**/ 6 52 6 53 dcl 1 lcb aligned based (lcb_ptr), /* LINUS control block */ 6 54 2 db_index fixed bin (35), /* index of open data base, or 0 */ 6 55 2 rb_len fixed bin (21), /* length of request buffer */ 6 56 2 lila_count fixed bin (35), /* number of LILA text lines */ 6 57 2 lila_chars fixed bin (35), /* number of LILA source test chars */ 6 58 2 trans_id fixed bin (35), /* used by checkpoint and rollback facilities (MR7.0) */ 6 59 2 lila_fn char (32) unal, /* entry name of lila data file */ 6 60 2 prompt_flag bit (1) unal, /* on if in prompt mode */ 6 61 2 test_flag bit (1) unal, /* on if in test mode */ 6 62 2 new_version bit (1) unal init (1), /* on for new version data base (MR7.0) */ 6 63 2 secured_db bit (1) unal, /* on if the db is in a secure state */ 6 64 2 administrator bit (1) unal, /* on if the user is a db administrator */ 6 65 2 timing_mode bit (1) unal, /* on if timing is to be done */ 6 66 2 iteration bit (1) unal, /* interpret parens as iteration sets */ 6 67 2 pso_flag bit (1) unal, /* add print_search_order to select */ 6 68 2 no_ot_flag bit (1) unal, /* add no_optimize to select */ 6 69 2 reserved bit (27) unal, 6 70 2 liocb_ptr ptr, /* iocb ptr for lila file */ 6 71 2 rb_ptr ptr, /* ptr to request buffer */ 6 72 2 is_ptr ptr, /* iocb ptr for currentinput stream switch */ 6 73 2 cal_ptr ptr, /* ptr to current arg list for invoke (or null) */ 6 74 2 ttn_ptr ptr, /* pointer to table info structure */ 6 75 2 force_retrieve_scope_info_ptr ptr, /* structure pointer to force retrieve scope operation */ 6 76 2 lv_ptr ptr, /* pointer linus variables */ 6 77 2 si_ptr ptr, /* pointer to select_info structure */ 6 78 2 setfi_ptr ptr, /* pointer to set function information */ 6 79 2 sclfi_ptr ptr, /* pointer to user declared scalar fun. names */ 6 80 2 ivs_ptr ptr, /* pointer to stack of invoke iocb pointers */ 6 81 2 lit_ptr ptr, /* pointer to literal pool */ 6 82 2 lvv_ptr ptr, /* pointer to linus variable alloc. pool */ 6 83 2 rd_ptr ptr, /* point to readied files mode information (MR7.0) */ 6 84 2 rt_ptr ptr, /* point to table of relation names and their readied modes 6 85* (MR7.0) */ 6 86 2 actual_input_iocbp ptr, /* ptr to input while in macros */ 6 87 2 lila_promp_chars_ptr ptr, /* pointer to the prompt characters for lila */ 6 88 2 linus_area_ptr ptr, /* LINUS temporary segment pointer */ 6 89 2 lila_area_ptr ptr, /* LILA temporary segment pointer */ 6 90 2 i_o_area_ptr ptr, /* temporary segment pointer used by write, print, create_list */ 6 91 2 rel_array_ptr ptr, /* ptr to array of names rslt info structure 6 92* for current lila expression */ 6 93 2 unused_timer float bin (63), /* future expansion */ 6 94 2 request_time float bin (63), /* How much request time was spent 6 95* in LINUS. (-1 = user has just enabled 6 96* timing, do not report) */ 6 97 2 mrds_time float bin (63), /* How much time was spent in MRDS */ 6 98 2 build_increment fixed bin, /* default increment for build mode */ 6 99 2 build_start fixed bin, /* default start count for build mode */ 6 100 2 linus_version char (4), /* current version of LINUS */ 6 101 2 subsystem_control_info_ptr ptr, /* the same ptr passed by ssu_ to each request procedure */ 6 102 2 subsystem_invocation_level fixed bin, /* identifies this invocation of LINUS */ 6 103 2 selection_expression_identifier fixed bin, /* identifies the current processed selection expression */ 6 104 2 report_control_info_ptr ptr, /* pointer to linus_report_control_info structure */ 6 105 2 table_control_info_ptr ptr, /* pointer to linus_table control structure */ 6 106 2 temp_seg_info_ptr ptr, /* pointer to linus_temp_seg_mgr control structure */ 6 107 2 query_temp_segment_ptr ptr, /* points to temp seg used for manipulating query */ 6 108 2 general_work_area_ptr ptr, /* a freeing area for general use */ 6 109 2 word_pad (6) bit (36) unal, 6 110 /* procedures that will be optionally */ 6 111 /* replaced by the user. Saved so they */ 6 112 /* can be reinstated if desired. */ 6 113 2 ssu_abort_line entry options (variable), 6 114 2 ssu_post_request_line variable entry (ptr), 6 115 2 ssu_pre_request_line variable entry (ptr), 6 116 6 117 2 curr_lit_offset fixed bin (35), /* index of first free bit in lit. pool */ 6 118 2 curr_lv_val_offset fixed bin (35), /* index of first free bit lv. val. pool */ 6 119 2 static_area area (sys_info$max_seg_size - fixed (rel (addr (lcb.static_area))) + 1); 6 120 6 121 dcl lcb_ptr ptr; 6 122 6 123 /* END INCLUDE FILE linus_lcb.incl.pl1 */ 481 482 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 */ 483 484 8 1 /* BEGIN mdbm_descriptor.incl.pl1 -- jaw 5/31/78 */ 8 2 /* modified by Jim Gray - - Nov. 1979, to change type from fixed bin(5) to 8 3* unsigned fixed bin(6), so new packed decimal data types could be handled. 8 4* also the duplicate mrds_descriptor.incl.pl1 was eliminated. */ 8 5 8 6 dcl 1 descriptor based (desc_ptr), /* map of Multics descriptor */ 8 7 2 version bit (1) unal, /* DBM handles vers. 1 only */ 8 8 2 type unsigned fixed bin (6) unal, /* data type */ 8 9 2 packed bit (1) unal, /* on if data item is packed */ 8 10 2 number_dims bit (4) unal, /* dimensions */ 8 11 2 size, /* size for string data */ 8 12 3 scale bit (12) unal, /* scale for num. data */ 8 13 3 precision bit (12) unal, /* prec. for num. data */ 8 14 2 array_info (num_dims), 8 15 3 lower_bound fixed bin (35), /* lower bound of dimension */ 8 16 3 upper_bound fixed bin (35), /* upper bound of dimension */ 8 17 3 multiplier fixed bin (35); /* element separation */ 8 18 8 19 dcl desc_ptr ptr; 8 20 dcl num_dims fixed bin init (0) ; /* more useful form of number_dims */ 8 21 8 22 /* END mdbm_descriptor.incl.pl1 */ 8 23 8 24 485 486 9 1 /* BEGIN INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 9 2 9 3 9 4 /****^ HISTORY COMMENTS: 9 5* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 9 6* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 9 7* Added pascal_string_type_dtype descriptor type. Its number is 87. 9 8* Objects of this type are PASCAL string types. 9 9* 2) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 9 10* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 9 11* Added the new C types. 9 12* END HISTORY COMMENTS */ 9 13 9 14 /* This include file defines mnemonic names for the Multics 9 15* standard descriptor types, using both pl1 and cobol terminology. 9 16* PG 780613 9 17* JRD 790530 9 18* JRD 791016 9 19* MBW 810731 9 20* TGO 830614 Add hex types. 9 21* Modified June 83 JMAthane to add PASCAL data types 9 22* TGO 840120 Add float dec extended and generic, float binary generic 9 23**/ 9 24 9 25 dcl (real_fix_bin_1_dtype init (1), 9 26 real_fix_bin_2_dtype init (2), 9 27 real_flt_bin_1_dtype init (3), 9 28 real_flt_bin_2_dtype init (4), 9 29 cplx_fix_bin_1_dtype init (5), 9 30 cplx_fix_bin_2_dtype init (6), 9 31 cplx_flt_bin_1_dtype init (7), 9 32 cplx_flt_bin_2_dtype init (8), 9 33 real_fix_dec_9bit_ls_dtype init (9), 9 34 real_flt_dec_9bit_dtype init (10), 9 35 cplx_fix_dec_9bit_ls_dtype init (11), 9 36 cplx_flt_dec_9bit_dtype init (12), 9 37 pointer_dtype init (13), 9 38 offset_dtype init (14), 9 39 label_dtype init (15), 9 40 entry_dtype init (16), 9 41 structure_dtype init (17), 9 42 area_dtype init (18), 9 43 bit_dtype init (19), 9 44 varying_bit_dtype init (20), 9 45 char_dtype init (21), 9 46 varying_char_dtype init (22), 9 47 file_dtype init (23), 9 48 real_fix_dec_9bit_ls_overp_dtype init (29), 9 49 real_fix_dec_9bit_ts_overp_dtype init (30), 9 50 real_fix_bin_1_uns_dtype init (33), 9 51 real_fix_bin_2_uns_dtype init (34), 9 52 real_fix_dec_9bit_uns_dtype init (35), 9 53 real_fix_dec_9bit_ts_dtype init (36), 9 54 real_fix_dec_4bit_uns_dtype init (38), /* digit-aligned */ 9 55 real_fix_dec_4bit_ts_dtype init (39), /* byte-aligned */ 9 56 real_fix_dec_4bit_bytealigned_uns_dtype init (40), /* COBOL */ 9 57 real_fix_dec_4bit_ls_dtype init (41), /* digit-aligned */ 9 58 real_flt_dec_4bit_dtype init (42), /* digit-aligned */ 9 59 real_fix_dec_4bit_bytealigned_ls_dtype init (43), 9 60 real_flt_dec_4bit_bytealigned_dtype init (44), 9 61 cplx_fix_dec_4bit_bytealigned_ls_dtype init (45), 9 62 cplx_flt_dec_4bit_bytealigned_dtype init (46), 9 63 real_flt_hex_1_dtype init (47), 9 64 real_flt_hex_2_dtype init (48), 9 65 cplx_flt_hex_1_dtype init (49), 9 66 cplx_flt_hex_2_dtype init (50), 9 67 c_typeref_dtype init (54), 9 68 c_enum_dtype init (55), 9 69 c_enum_const_dtype init (56), 9 70 c_union_dtype init (57), 9 71 algol68_straight_dtype init (59), 9 72 algol68_format_dtype init (60), 9 73 algol68_array_descriptor_dtype init (61), 9 74 algol68_union_dtype init (62), 9 75 9 76 cobol_comp_6_dtype init (1), 9 77 cobol_comp_7_dtype init (1), 9 78 cobol_display_ls_dtype init (9), 9 79 cobol_structure_dtype init (17), 9 80 cobol_char_string_dtype init (21), 9 81 cobol_display_ls_overp_dtype init (29), 9 82 cobol_display_ts_overp_dtype init (30), 9 83 cobol_display_uns_dtype init (35), 9 84 cobol_display_ts_dtype init (36), 9 85 cobol_comp_8_uns_dtype init (38), /* digit aligned */ 9 86 cobol_comp_5_ts_dtype init (39), /* byte aligned */ 9 87 cobol_comp_5_uns_dtype init (40), 9 88 cobol_comp_8_ls_dtype init (41), /* digit aligned */ 9 89 real_flt_dec_extended_dtype init (81), /* 9-bit exponent */ 9 90 cplx_flt_dec_extended_dtype init (82), /* 9-bit exponent */ 9 91 real_flt_dec_generic_dtype init (83), /* generic float decimal */ 9 92 cplx_flt_dec_generic_dtype init (84), 9 93 real_flt_bin_generic_dtype init (85), /* generic float binary */ 9 94 cplx_flt_bin_generic_dtype init (86)) fixed bin internal static options (constant); 9 95 9 96 dcl (ft_integer_dtype init (1), 9 97 ft_real_dtype init (3), 9 98 ft_double_dtype init (4), 9 99 ft_complex_dtype init (7), 9 100 ft_complex_double_dtype init (8), 9 101 ft_external_dtype init (16), 9 102 ft_logical_dtype init (19), 9 103 ft_char_dtype init (21), 9 104 ft_hex_real_dtype init (47), 9 105 ft_hex_double_dtype init (48), 9 106 ft_hex_complex_dtype init (49), 9 107 ft_hex_complex_double_dtype init (50) 9 108 ) fixed bin internal static options (constant); 9 109 9 110 dcl (algol68_short_int_dtype init (1), 9 111 algol68_int_dtype init (1), 9 112 algol68_long_int_dtype init (2), 9 113 algol68_real_dtype init (3), 9 114 algol68_long_real_dtype init (4), 9 115 algol68_compl_dtype init (7), 9 116 algol68_long_compl_dtype init (8), 9 117 algol68_bits_dtype init (19), 9 118 algol68_bool_dtype init (19), 9 119 algol68_char_dtype init (21), 9 120 algol68_byte_dtype init (21), 9 121 algol68_struct_struct_char_dtype init (22), 9 122 algol68_struct_struct_bool_dtype init (20) 9 123 ) fixed bin internal static options (constant); 9 124 9 125 dcl (label_constant_runtime_dtype init (24), 9 126 int_entry_runtime_dtype init (25), 9 127 ext_entry_runtime_dtype init (26), 9 128 ext_procedure_runtime_dtype init (27), 9 129 picture_runtime_dtype init (63) 9 130 ) fixed bin internal static options (constant); 9 131 9 132 dcl (pascal_integer_dtype init (1), 9 133 pascal_real_dtype init (4), 9 134 pascal_label_dtype init (24), 9 135 pascal_internal_procedure_dtype init (25), 9 136 pascal_exportable_procedure_dtype init (26), 9 137 pascal_imported_procedure_dtype init (27), 9 138 pascal_typed_pointer_type_dtype init (64), 9 139 pascal_char_dtype init (65), 9 140 pascal_boolean_dtype init (66), 9 141 pascal_record_file_type_dtype init (67), 9 142 pascal_record_type_dtype init (68), 9 143 pascal_set_dtype init (69), 9 144 pascal_enumerated_type_dtype init (70), 9 145 pascal_enumerated_type_element_dtype init (71), 9 146 pascal_enumerated_type_instance_dtype init (72), 9 147 pascal_user_defined_type_dtype init (73), 9 148 pascal_user_defined_type_instance_dtype init (74), 9 149 pascal_text_file_dtype init (75), 9 150 pascal_procedure_type_dtype init (76), 9 151 pascal_variable_formal_parameter_dtype init (77), 9 152 pascal_value_formal_parameter_dtype init (78), 9 153 pascal_entry_formal_parameter_dtype init (79), 9 154 pascal_parameter_procedure_dtype init (80), 9 155 pascal_string_type_dtype init (87)) fixed bin int static options (constant); 9 156 9 157 9 158 /* END INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 487 488 489 end linus_create_data_file; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/24/88 1400.3 linus_create_data_file.pl1 >special_ldd>install>MR12.2-1184>linus_create_data_file.pl1 471 1 11/02/83 1845.0 arg_descriptor.incl.pl1 >ldd>include>arg_descriptor.incl.pl1 473 2 08/05/86 0856.8 arg_list.incl.pl1 >ldd>include>arg_list.incl.pl1 475 3 05/23/83 0916.6 iox_dcls.incl.pl1 >ldd>include>iox_dcls.incl.pl1 477 4 02/02/78 1229.7 iox_modes.incl.pl1 >ldd>include>iox_modes.incl.pl1 479 5 03/17/88 2148.1 linus_data_file_info.incl.pl1 >ldd>include>linus_data_file_info.incl.pl1 481 6 07/29/86 1148.4 linus_lcb.incl.pl1 >ldd>include>linus_lcb.incl.pl1 483 7 10/06/83 1219.0 linus_table_info.incl.pl1 >ldd>include>linus_table_info.incl.pl1 485 8 10/14/83 1608.6 mdbm_descriptor.incl.pl1 >ldd>include>mdbm_descriptor.incl.pl1 487 9 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. CREATE_DATA_FILE 000000 constant char(16) initial packed unaligned dcl 375 set ref 187* 237* MAXIMUM_MRDS_ATTRIBUTE_LENGTH internal static fixed bin(17,0) initial dcl 377 ref 451 OFF constant bit(1) initial dcl 379 ref 77 89 119 120 121 122 123 166 244 256 270 291 297 ON constant bit(1) initial dcl 380 ref 79 84 144 159 170 192 217 224 QUOTE constant char(1) initial packed unaligned dcl 382 ref 111 Stream_output 000032 constant fixed bin(17,0) initial dcl 4-15 set ref 219* TEMPORARY_TABLE 000027 constant bit(1) initial dcl 384 set ref 141* acvtb_column_index 002604 automatic fixed bin(21,0) dcl 347 set ref 353* 358 362 acvtb_column_index_parm parameter fixed bin(17,0) dcl 348 ref 341 353 354 acvtb_column_length 002605 automatic fixed bin(21,0) dcl 349 set ref 354* 358 362 acvtb_data_type 002606 automatic fixed bin(6,0) packed unsigned unaligned dcl 350 set ref 355* 358 358 358 358 acvtb_table_index_parm parameter fixed bin(17,0) dcl 351 ref 341 355 addr builtin function dcl 386 ref 196 355 addrel builtin function dcl 387 ref 194 196 arg_descriptor based structure level 1 dcl 1-6 arg_list based structure level 1 dcl 2-14 attach_description 000100 automatic char(256) packed unaligned dcl 388 set ref 206* 209* 212* bit_dtype constant fixed bin(17,0) initial dcl 9-25 ref 358 buffer based varying char dcl 390 set ref 309* 317* 317 323* 323 326* 326 327 327 364* 364 368* 368 buffer_length 000200 automatic fixed bin(21,0) dcl 391 set ref 193* 309 317 323 326 364 368 buffer_ptr 000202 automatic pointer dcl 392 set ref 187* 194 237* 309 317 317 323 323 326 326 327 327 364 364 368 368 char_dtype constant fixed bin(17,0) initial dcl 9-25 ref 358 check_values_for_delimiters 0(01) based bit(1) level 3 packed packed unaligned dcl 406 ref 108 checking_values 000204 automatic bit(1) dcl 394 set ref 108* 111 317 cleanup 000206 stack reference condition dcl 395 ref 78 cleanup_signalled 000214 automatic bit(1) dcl 396 set ref 77* 79* 232 238 250 263 272 285 code 000215 automatic fixed bin(35,0) dcl 397 set ref 88* 89 89 92* 137* 138 138* 141* 142 142* 146* 147 147* 187* 189 189* 198* 200 200* 212* 213 213* 219* 220 220* 237* 238 238* 242* 249* 250 250* 254* 262* 263 263* 267* 271* 272 272* 276* 284* 285 285* 289* 327* 329 329* column_count 2 based fixed bin(17,0) level 2 dcl 7-5 ref 153 column_data_type 35 based bit(36) array level 3 dcl 7-5 set ref 355 column_delimiter 16 based char(1) level 2 packed packed unaligned dcl 406 ref 109 column_index 37 based fixed bin(21,0) array level 3 dcl 7-5 ref 176 column_length 36 based fixed bin(21,0) array level 3 dcl 7-5 ref 178 column_numbers 1 based fixed bin(17,0) array level 2 dcl 5-14 ref 170 columns 1 based structure array level 2 in structure "output_columns_map" dcl 435 in procedure "linus_create_data_file" columns 12 based structure array level 2 in structure "table_info" dcl 7-5 in procedure "linus_create_data_file" create_cm_ptr 002346 automatic pointer dcl 5-18 set ref 115* 117* 154 167 170 create_columns_map based structure level 1 dcl 5-14 create_columns_map_ptr 10 based pointer level 2 dcl 406 ref 115 create_new_columns 0(05) based bit(1) level 3 packed packed unaligned dcl 406 ref 114 creating_new_columns 000216 automatic bit(1) dcl 398 set ref 114* 115 154 167 current_row_number 000217 automatic fixed bin(17,0) dcl 399 set ref 185* 232* 310* 310 329* 333 333* data_file_info 002350 automatic structure level 1 dcl 5-20 data_file_info_ptr_parm parameter pointer dcl 47 ref 41 103 db_index based fixed bin(35,0) level 2 dcl 6-53 ref 67 descriptor based structure level 1 unaligned dcl 8-6 directory_name 000220 automatic char(168) packed unaligned dcl 401 set ref 198* 206 209 213 213 220 220 entry_name 000272 automatic char(32) packed unaligned dcl 403 set ref 198* 206 209 213 213 220 220 250* 254* expand_pathname_ 000010 constant entry external dcl 404 ref 198 extended_arg_type 002345 automatic fixed bin(17,0) initial dcl 1-36 set ref 1-36* file_info based structure level 1 unaligned dcl 406 file_info_ptr 000302 automatic pointer dcl 407 set ref 103* 106 108 109 110 114 115 198 200 232 333 333 file_is_attached 000304 automatic bit(1) dcl 408 set ref 119* 217* 260 270* file_is_opened 000305 automatic bit(1) dcl 409 set ref 120* 224* 247 256* flags based structure level 2 packed packed unaligned dcl 406 get_pdir_ 000012 constant entry external dcl 412 ref 141 141 header based structure level 2 dcl 2-14 index 1 based fixed bin(21,0) array level 3 dcl 435 set ref 160* 176* 314 317 353 ioa_ 000014 constant entry external dcl 414 ref 232 333 iox_$attach_name 000054 constant entry external dcl 3-8 ref 212 iox_$close 000056 constant entry external dcl 3-8 ref 249 iox_$destroy_iocb 000060 constant entry external dcl 3-8 ref 271 iox_$detach_iocb 000062 constant entry external dcl 3-8 ref 262 iox_$open 000064 constant entry external dcl 3-8 ref 219 iox_$put_chars 000066 constant entry external dcl 3-8 ref 327 lcb based structure level 1 dcl 6-53 lcb_ptr 002524 automatic pointer dcl 6-121 set ref 67 70 72* 73 88* 102* 105 137* 141* 146* 157 187* 237* 284* 296 lcb_ptr_parm parameter pointer dcl 48 ref 41 102 length 2 based fixed bin(21,0) array level 3 in structure "output_columns_map" dcl 435 in procedure "linus_create_data_file" set ref 161* 178* 317 354 length builtin function dcl 416 in procedure "linus_create_data_file" ref 327 327 367 linus_error_$no_db 000016 external static fixed bin(35,0) dcl 417 set ref 67* linus_table$delete_table 000020 constant entry external dcl 418 ref 284 linus_table$get_row 000026 constant entry external dcl 421 ref 88 linus_table$info 000022 constant entry external dcl 419 ref 146 linus_table$new_table 000024 constant entry external dcl 420 ref 141 linus_table$translate_query 000030 constant entry external dcl 422 ref 137 linus_temp_seg_mgr$get_segment 000032 constant entry external dcl 423 ref 187 linus_temp_seg_mgr$release_segment 000034 constant entry external dcl 424 ref 237 linus_translate_query$auto 000036 constant entry external dcl 425 ref 72 ltrim builtin function dcl 426 ref 358 mod builtin function dcl 428 ref 333 mrds_error_$tuple_not_found 000040 external static fixed bin(35,0) dcl 429 ref 89 null builtin function dcl 431 ref 70 73 117 212 212 num_dims 002536 automatic fixed bin(17,0) initial dcl 8-20 set ref 8-20* number_of_columns based fixed bin(17,0) level 2 in structure "create_columns_map" dcl 5-14 in procedure "linus_create_data_file" ref 154 167 number_of_columns based fixed bin(17,0) level 2 in structure "output_columns_map" dcl 435 in procedure "linus_create_data_file" set ref 157* 160 161 162 296 number_of_output_columns 000306 automatic fixed bin(17,0) dcl 432 set ref 153* 154* 154 157 157 165 313 one_word_past_buffer_ptr 000310 automatic pointer dcl 434 set ref 194* 327* output_columns_map based structure level 1 dcl 435 set ref 157 296 output_columns_map_has_been_allocated 000312 automatic bit(1) dcl 441 set ref 123* 159* 294 297* output_columns_map_ptr 000314 automatic pointer dcl 442 set ref 157* 160 161 162 176 178 296 314 317 317 353 354 output_file_iocb_ptr 000316 automatic pointer dcl 443 set ref 212* 219* 249* 262* 263* 267* 271* 272* 276* 327* output_file_pathname 16(18) based char(168) level 2 packed packed unaligned dcl 406 set ref 198* 200* requote_string_ 000042 constant entry external dcl 446 ref 368 row_delimiter 16(09) based char(1) level 2 packed packed unaligned dcl 406 ref 110 row_ptrs based structure level 1 dcl 7-32 row_ptrs_p 002532 automatic pointer dcl 7-41 set ref 151* 152 row_segs_info based structure level 1 dcl 7-25 row_segs_info_ptr 6 based pointer initial level 2 dcl 7-5 ref 150 row_segs_ip 002530 automatic pointer dcl 7-39 set ref 150* 151 row_value based char packed unaligned dcl 7-36 ref 317 358 362 row_value_length 5 based fixed bin(21,0) level 2 dcl 7-5 ref 317 358 362 row_value_p 002526 automatic pointer packed unaligned dcl 7-37 set ref 88* 152* 317 358 362 row_value_ptr 1 based pointer array level 2 packed packed unaligned dcl 7-32 ref 152 rtrim builtin function dcl 447 ref 206 206 209 209 213 213 213 213 220 220 220 220 358 362 sci_ptr 000320 automatic pointer dcl 449 set ref 67* 72* 73* 92* 105* 138* 142* 147* 189* 200* 213* 220* 238* 242* 250* 254* 263* 267* 272* 276* 285* 289* 329* search builtin function dcl 450 ref 364 seg_ptr 3 based pointer array level 2 packed packed unaligned dcl 7-25 ref 151 sfr_current_table_column_number 002554 automatic fixed bin(17,0) dcl 131 set ref 164* 176 178 180* 180 sfr_inner_loop 002555 automatic fixed bin(17,0) dcl 132 set ref 167* 170* sfr_loop 002556 automatic fixed bin(17,0) dcl 133 set ref 165* 170 176 178* sfr_new_column_found 002557 automatic bit(1) dcl 134 set ref 166* 167 170* 174 si_ptr 34 based pointer level 2 dcl 6-53 ref 70 73 spare_buffer 000322 automatic varying char(4096) dcl 451 set ref 196 358* 362* 364 364 367 spare_buffer_as_non_varying based char packed unaligned dcl 453 set ref 368* spare_buffer_as_non_varying_ptr 002324 automatic pointer dcl 454 set ref 196* 368 spare_buffer_length 002323 automatic fixed bin(17,0) dcl 452 set ref 367* 368 368 special_characters 002326 automatic char(3) packed unaligned dcl 455 set ref 111* 364 ssu_$abort_line 000044 constant entry external dcl 456 ref 67 73 92 138 142 147 189 200 213 220 242 254 267 276 289 329 ssu_$print_message 000046 constant entry external dcl 457 ref 238 250 263 272 285 static_area 144 based area level 2 dcl 6-53 ref 157 296 still_retrieving 002327 automatic bit(1) dcl 458 set ref 84* 86 89* substr builtin function dcl 459 ref 317 358 362 subsystem_control_info_ptr 102 based pointer level 2 dcl 6-53 ref 105 switch_name 002330 automatic char(32) packed unaligned dcl 460 set ref 205* 212* sys_info$max_seg_size 000050 external static fixed bin(35,0) dcl 461 ref 193 table_has_been_started 002340 automatic bit(1) dcl 463 set ref 121* 144* 282 291* table_info based structure level 1 dcl 7-5 table_ip 002534 automatic pointer dcl 7-57 set ref 137* 146* 150 153 176 178 317 355 358 362 temp_segment_has_been_acquired 002341 automatic bit(1) dcl 464 set ref 122* 192* 235 244* the_column_delimiter 002342 automatic char(1) packed unaligned dcl 465 set ref 109* 111 323 the_row_delimiter 002343 automatic char(1) packed unaligned dcl 466 set ref 110* 111 326 trace_every_n_tuples 6 based fixed bin(35,0) level 2 dcl 406 ref 333 tracing 0(09) based bit(1) level 3 packed packed unaligned dcl 406 ref 232 333 truncate 002344 automatic bit(1) dcl 467 set ref 106* 206 truncate_file based bit(1) level 3 packed packed unaligned dcl 406 ref 106 type 0(01) based fixed bin(6,0) level 2 packed packed unsigned unaligned dcl 8-6 ref 355 unique_chars_ 000052 constant entry external dcl 469 ref 205 value 3 based varying char(1) array level 3 dcl 435 set ref 162* varying_bit_dtype constant fixed bin(17,0) initial dcl 9-25 ref 358 varying_char_dtype constant fixed bin(17,0) initial dcl 9-25 ref 358 wrtof_loop 002572 automatic fixed bin(17,0) dcl 306 set ref 313* 314 317 317 321* wrtof_table_column_number 002573 automatic fixed bin(17,0) dcl 307 set ref 311* 316* 316 321* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Direct_input internal static fixed bin(17,0) initial dcl 4-15 Direct_output internal static fixed bin(17,0) initial dcl 4-15 Direct_update internal static fixed bin(17,0) initial dcl 4-15 Envptr_supplied_call_type internal static fixed bin(18,0) initial packed unsigned unaligned dcl 2-54 Interseg_call_type internal static fixed bin(18,0) initial packed unsigned unaligned dcl 2-54 Keyed_sequential_input internal static fixed bin(17,0) initial dcl 4-15 Keyed_sequential_output internal static fixed bin(17,0) initial dcl 4-15 Keyed_sequential_update internal static fixed bin(17,0) initial dcl 4-15 Quick_call_type internal static fixed bin(18,0) initial packed unsigned unaligned dcl 2-54 Sequential_input internal static fixed bin(17,0) initial dcl 4-15 Sequential_input_output internal static fixed bin(17,0) initial dcl 4-15 Sequential_output internal static fixed bin(17,0) initial dcl 4-15 Sequential_update internal static fixed bin(17,0) initial dcl 4-15 Stream_input internal static fixed bin(17,0) initial dcl 4-15 Stream_input_output internal static fixed bin(17,0) initial dcl 4-15 algol68_array_descriptor_dtype internal static fixed bin(17,0) initial dcl 9-25 algol68_bits_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_bool_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_byte_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_char_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_compl_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_format_dtype internal static fixed bin(17,0) initial dcl 9-25 algol68_int_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_long_compl_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_long_int_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_long_real_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_real_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_short_int_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_straight_dtype internal static fixed bin(17,0) initial dcl 9-25 algol68_struct_struct_bool_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_struct_struct_char_dtype internal static fixed bin(17,0) initial dcl 9-110 algol68_union_dtype internal static fixed bin(17,0) initial dcl 9-25 area_dtype internal static fixed bin(17,0) initial dcl 9-25 arg_descriptor_ptr automatic pointer dcl 1-34 arg_list_with_envptr based structure level 1 dcl 2-42 c_enum_const_dtype internal static fixed bin(17,0) initial dcl 9-25 c_enum_dtype internal static fixed bin(17,0) initial dcl 9-25 c_typeref_dtype internal static fixed bin(17,0) initial dcl 9-25 c_union_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_char_string_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_comp_5_ts_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_comp_5_uns_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_comp_6_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_comp_7_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_comp_8_ls_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_comp_8_uns_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_display_ls_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_display_ls_overp_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_display_ts_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_display_ts_overp_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_display_uns_dtype internal static fixed bin(17,0) initial dcl 9-25 cobol_structure_dtype internal static fixed bin(17,0) initial dcl 9-25 command_name_arglist based structure level 1 dcl 2-25 cplx_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 9-25 cplx_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 9-25 cplx_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 9-25 cplx_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 9-25 cplx_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 9-25 cplx_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 9-25 cplx_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 9-25 cplx_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 9-25 cplx_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 9-25 cplx_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 9-25 cplx_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 9-25 cplx_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 9-25 cplx_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 9-25 create_columns_map_init_number_of_columns automatic fixed bin(17,0) dcl 5-17 desc_ptr automatic pointer dcl 8-19 entry_dtype internal static fixed bin(17,0) initial dcl 9-25 ext_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 9-125 ext_procedure_runtime_dtype internal static fixed bin(17,0) initial dcl 9-125 extended_arg_descriptor based structure level 1 dcl 1-21 file_dtype internal static fixed bin(17,0) initial dcl 9-25 fixed builtin function dcl 410 fixed_arg_descriptor based structure level 1 dcl 1-13 ft_char_dtype internal static fixed bin(17,0) initial dcl 9-96 ft_complex_double_dtype internal static fixed bin(17,0) initial dcl 9-96 ft_complex_dtype internal static fixed bin(17,0) initial dcl 9-96 ft_double_dtype internal static fixed bin(17,0) initial dcl 9-96 ft_external_dtype internal static fixed bin(17,0) initial dcl 9-96 ft_hex_complex_double_dtype internal static fixed bin(17,0) initial dcl 9-96 ft_hex_complex_dtype internal static fixed bin(17,0) initial dcl 9-96 ft_hex_double_dtype internal static fixed bin(17,0) initial dcl 9-96 ft_hex_real_dtype internal static fixed bin(17,0) initial dcl 9-96 ft_integer_dtype internal static fixed bin(17,0) initial dcl 9-96 ft_logical_dtype internal static fixed bin(17,0) initial dcl 9-96 ft_real_dtype internal static fixed bin(17,0) initial dcl 9-96 init_number_of_descriptors automatic fixed bin(17,0) dcl 7-54 int_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 9-125 iox_$attach_loud 000000 constant entry external dcl 3-8 iox_$attach_ptr 000000 constant entry external dcl 3-8 iox_$close_file 000000 constant entry external dcl 3-8 iox_$control 000000 constant entry external dcl 3-8 iox_$delete_record 000000 constant entry external dcl 3-8 iox_$detach 000000 constant entry external dcl 3-8 iox_$err_no_operation 000000 constant entry external dcl 3-8 iox_$err_not_attached 000000 constant entry external dcl 3-8 iox_$err_not_closed 000000 constant entry external dcl 3-8 iox_$err_not_open 000000 constant entry external dcl 3-8 iox_$error_output external static pointer dcl 3-41 iox_$find_iocb 000000 constant entry external dcl 3-8 iox_$find_iocb_n 000000 constant entry external dcl 3-8 iox_$get_chars 000000 constant entry external dcl 3-8 iox_$get_line 000000 constant entry external dcl 3-8 iox_$look_iocb 000000 constant entry external dcl 3-8 iox_$modes 000000 constant entry external dcl 3-8 iox_$move_attach 000000 constant entry external dcl 3-8 iox_$open_file 000000 constant entry external dcl 3-8 iox_$position 000000 constant entry external dcl 3-8 iox_$propagate 000000 constant entry external dcl 3-8 iox_$read_key 000000 constant entry external dcl 3-8 iox_$read_length 000000 constant entry external dcl 3-8 iox_$read_record 000000 constant entry external dcl 3-8 iox_$rewrite_record 000000 constant entry external dcl 3-8 iox_$seek_key 000000 constant entry external dcl 3-8 iox_$user_input external static pointer dcl 3-41 iox_$user_io external static pointer dcl 3-41 iox_$user_output external static pointer dcl 3-41 iox_$write_record 000000 constant entry external dcl 3-8 iox_modes internal static char(24) initial array dcl 4-6 label_constant_runtime_dtype internal static fixed bin(17,0) initial dcl 9-125 label_dtype internal static fixed bin(17,0) initial dcl 9-25 offset_dtype internal static fixed bin(17,0) initial dcl 9-25 pascal_boolean_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_char_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_entry_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_enumerated_type_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_enumerated_type_element_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_enumerated_type_instance_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_exportable_procedure_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_imported_procedure_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_integer_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_internal_procedure_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_label_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_parameter_procedure_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_procedure_type_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_real_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_record_file_type_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_record_type_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_set_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_string_type_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_text_file_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_typed_pointer_type_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_user_defined_type_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_user_defined_type_instance_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_value_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 9-132 pascal_variable_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 9-132 picture_runtime_dtype internal static fixed bin(17,0) initial dcl 9-125 pointer_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_bin_1_uns_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_bin_2_uns_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_dec_4bit_bytealigned_uns_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_dec_4bit_ls_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_dec_4bit_ts_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_dec_4bit_uns_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_dec_9bit_ls_overp_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_dec_9bit_ts_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_dec_9bit_ts_overp_dtype internal static fixed bin(17,0) initial dcl 9-25 real_fix_dec_9bit_uns_dtype internal static fixed bin(17,0) initial dcl 9-25 real_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 9-25 real_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 9-25 real_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 9-25 real_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 9-25 real_flt_dec_4bit_dtype internal static fixed bin(17,0) initial dcl 9-25 real_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 9-25 real_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 9-25 real_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 9-25 real_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 9-25 real_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 9-25 rel builtin function dcl 445 rsi_init_max_number_of_seg_ptrs automatic fixed bin(17,0) dcl 7-55 short_iox_modes internal static char(4) initial array dcl 4-12 store_ap automatic pointer dcl 7-56 store_args based structure level 1 dcl 7-44 structure_dtype internal static fixed bin(17,0) initial dcl 9-25 ti_init_column_count automatic fixed bin(17,0) dcl 7-58 NAMES DECLARED BY EXPLICIT CONTEXT. add_checked_value_to_buffer 002643 constant entry internal dcl 341 ref 321 initialize 000441 constant entry internal dcl 100 ref 66 linus_create_data_file 000250 constant entry external dcl 41 setup_for_retrieval 000522 constant entry internal dcl 129 ref 83 terminate 001675 constant entry internal dcl 230 ref 80 96 write_row_to_output_file 002450 constant entry internal dcl 304 ref 87 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3410 3500 3065 3420 Length 4132 3065 70 415 323 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME linus_create_data_file 1602 external procedure is an external procedure. on unit on line 78 64 on unit initialize internal procedure shares stack frame of external procedure linus_create_data_file. setup_for_retrieval internal procedure shares stack frame of external procedure linus_create_data_file. terminate 116 internal procedure is called by several nonquick procedures. write_row_to_output_file internal procedure shares stack frame of external procedure linus_create_data_file. add_checked_value_to_buffer internal procedure shares stack frame of external procedure linus_create_data_file. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME linus_create_data_file 000100 attach_description linus_create_data_file 000200 buffer_length linus_create_data_file 000202 buffer_ptr linus_create_data_file 000204 checking_values linus_create_data_file 000214 cleanup_signalled linus_create_data_file 000215 code linus_create_data_file 000216 creating_new_columns linus_create_data_file 000217 current_row_number linus_create_data_file 000220 directory_name linus_create_data_file 000272 entry_name linus_create_data_file 000302 file_info_ptr linus_create_data_file 000304 file_is_attached linus_create_data_file 000305 file_is_opened linus_create_data_file 000306 number_of_output_columns linus_create_data_file 000310 one_word_past_buffer_ptr linus_create_data_file 000312 output_columns_map_has_been_allocated linus_create_data_file 000314 output_columns_map_ptr linus_create_data_file 000316 output_file_iocb_ptr linus_create_data_file 000320 sci_ptr linus_create_data_file 000322 spare_buffer linus_create_data_file 002323 spare_buffer_length linus_create_data_file 002324 spare_buffer_as_non_varying_ptr linus_create_data_file 002326 special_characters linus_create_data_file 002327 still_retrieving linus_create_data_file 002330 switch_name linus_create_data_file 002340 table_has_been_started linus_create_data_file 002341 temp_segment_has_been_acquired linus_create_data_file 002342 the_column_delimiter linus_create_data_file 002343 the_row_delimiter linus_create_data_file 002344 truncate linus_create_data_file 002345 extended_arg_type linus_create_data_file 002346 create_cm_ptr linus_create_data_file 002350 data_file_info linus_create_data_file 002524 lcb_ptr linus_create_data_file 002526 row_value_p linus_create_data_file 002530 row_segs_ip linus_create_data_file 002532 row_ptrs_p linus_create_data_file 002534 table_ip linus_create_data_file 002536 num_dims linus_create_data_file 002554 sfr_current_table_column_number setup_for_retrieval 002555 sfr_inner_loop setup_for_retrieval 002556 sfr_loop setup_for_retrieval 002557 sfr_new_column_found setup_for_retrieval 002572 wrtof_loop write_row_to_output_file 002573 wrtof_table_column_number write_row_to_output_file 002604 acvtb_column_index add_checked_value_to_buffer 002605 acvtb_column_length add_checked_value_to_buffer 002606 acvtb_data_type add_checked_value_to_buffer THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this call_int_other return_mac mdfx1 enable_op shorten_stack ext_entry int_entry search_eis op_alloc_ op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. expand_pathname_ get_pdir_ ioa_ iox_$attach_name iox_$close iox_$destroy_iocb iox_$detach_iocb iox_$open iox_$put_chars linus_table$delete_table linus_table$get_row linus_table$info linus_table$new_table linus_table$translate_query linus_temp_seg_mgr$get_segment linus_temp_seg_mgr$release_segment linus_translate_query$auto requote_string_ ssu_$abort_line ssu_$print_message unique_chars_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. linus_error_$no_db mrds_error_$tuple_not_found sys_info$max_seg_size LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 41 000244 1 36 000255 8 20 000257 66 000260 67 000261 70 000300 72 000305 73 000316 77 000341 78 000342 79 000356 80 000361 81 000366 83 000367 84 000370 86 000372 87 000374 88 000375 89 000410 92 000417 94 000433 96 000434 98 000440 100 000441 102 000442 103 000446 105 000451 106 000453 108 000456 109 000462 110 000465 111 000471 114 000502 115 000506 117 000512 119 000514 120 000515 121 000516 122 000517 123 000520 125 000521 129 000522 137 000523 138 000536 141 000555 142 000606 144 000625 146 000627 147 000642 150 000661 151 000664 152 000666 153 000670 154 000673 157 000677 159 000711 160 000713 161 000726 162 000740 164 000752 165 000754 166 000763 167 000764 170 000777 173 001004 174 001006 176 001010 178 001022 180 001024 183 001025 185 001027 187 001030 189 001060 192 001106 193 001110 194 001117 196 001122 198 001126 200 001155 205 001212 206 001237 209 001324 212 001417 213 001452 217 001550 219 001553 220 001572 224 001670 226 001673 230 001674 232 001702 235 001727 237 001732 238 001756 242 002010 244 002035 247 002036 249 002041 250 002052 254 002110 256 002141 260 002142 262 002145 263 002156 267 002213 270 002243 271 002244 272 002255 276 002312 282 002341 284 002344 285 002355 289 002407 291 002434 294 002435 296 002440 297 002445 300 002447 304 002450 309 002451 310 002452 311 002453 313 002454 314 002463 316 002470 317 002471 321 002515 323 002517 324 002527 326 002531 327 002541 329 002560 333 002612 337 002642 341 002643 353 002645 354 002653 355 002655 358 002666 362 002744 364 002767 367 003011 368 003013 369 003053 371 003054 ----------------------------------------------------------- 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