COMPILATION LISTING OF SEGMENT lister_status_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 11/05/84 1154.8 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 /* ****************************************************** 10* * * 11* * * 12* * Copyright (c) 1972 by Massachusetts Institute of * 13* * Technology and Honeywell Information Systems, Inc. * 14* * * 15* * * 16* ****************************************************** */ 17 18 /* LISTER_STATUS_ - Program to report selected information about a lister segment. 19* * Written 800702 by Paul W. Benjamin 20* Modified 800923 by PB to fix bug where long output is truncated. 21* * */ 22 23 lister_status_: 24 proc (bv_in_file_ptr, bv_in_ename, bv_select_all, bv_status_info_ptr) 25 options (packed_decimal); 26 /* parameters */ 27 28 declare ( 29 bv_in_file_ptr ptr, /* Input - ptr to lister segment. */ 30 bv_in_ename char (*), /* Input - entryname of lister segment. */ 31 bv_select_all bit (1) aligned, /* Input - user wants all records. */ 32 bv_status_info_ptr ptr /* Input - ptr to status info structure. */ 33 ) parameter; 34 35 /* automatic */ 36 37 declare code fixed bin (35), 38 fname_len fixed bin (21), 39 fname_ptr ptr, 40 i fixed bin, 41 in_ename char (32), 42 now char (24), 43 out_len fixed bin (21), 44 out_ptr ptr, 45 select_all bit (1) aligned, 46 selected_records_ptr ptr, 47 status_info_ptr ptr, 48 verbosity fixed bin; 49 50 /* based */ 51 52 declare 1 status_info based (status_info_ptr), 53 2 print_switches, 54 3 print_fdelim bit (1), 55 3 print_fnames bit (1), 56 3 print_rdelim bit (1), 57 3 print_totals bit (1), 58 2 af bit (1) aligned, 59 2 total fixed bin, 60 2 retlen fixed bin (21), 61 2 retptr ptr, 62 2 header bit (1) aligned, 63 2 header_specified bit (1) aligned; 64 65 declare fnames_out char (fname_len) based (fname_ptr), 66 out_string char (out_len) based (out_ptr), 67 ret_string char (retlen) varying based (retptr); 68 69 /* builtins */ 70 71 declare (clock, fixed, hbound, null, pointer, substr) builtin; 72 73 /* conditions */ 74 75 declare cleanup condition; 76 77 /* entries */ 78 79 declare date_time_ entry (fixed bin (71), char (*)), 80 get_temp_segment_ entry (char (*), ptr, fixed bin (35)), 81 (ioa_, ioa_$rsnpnnl) entry () options (variable), 82 release_temp_segment_ entry (char (*), ptr, fixed bin (35)); 83 84 /* external static */ 85 86 declare sys_info$max_seg_size fixed bin (19) ext static; 87 88 /* include files */ 1 1 /* ====== BEGIN INCLUDE FILE lister_entries.incl.pl1 =================================== */ 1 2 1 3 /* 1 4* Modified 800521 by PB to add code to calling sequence for lister_merge_. 1 5* Modified 800702 by PB to add lister_status_. 1 6* Modified 800813 by PB to add lister_assign_. 1 7* Modified 800826 by PB to add lister_create_record_$retain_uid. 1 8* Modified 801008 by PB to add display to calling sequence for lister_print_. 1 9* Modified 801024 by PB to add lister_convert_. 1 10* Modified 810226 by PB to add listform_path to calling sequence for lister_print_. 1 11**/ 1 12 1 13 dcl lister_assign_ 1 14 entry (ptr, bit (1) aligned, ptr, ptr); 1 15 /* param 1 (input) ptr to lister segment */ 1 16 /* param 2 (input) "1"b iff all records are to be modified */ 1 17 /* param 3 (input) ptr to selected records */ 1 18 /* param 4 (input) ptr to assign info structure */ 1 19 1 20 dcl lister_compile_listin_ 1 21 entry (ptr, ptr, fixed bin (21), ptr, fixed bin, char (*), fixed bin (35)); 1 22 /* param 1 (input) ptr to new file segment */ 1 23 /* param 2 (input) ptr to listin segment */ 1 24 /* param 3 (input) length in chars of listin segment */ 1 25 /* param 4 (input) ptr to system free area */ 1 26 /* param 5 (output) number of records parsed */ 1 27 /* param 6 (output) error token, if any errors */ 1 28 /* param 7 (output) status code */ 1 29 1 30 dcl lister_compile_select_ 1 31 entry (char (*), ptr, ptr, ptr, char (*), fixed bin (35)); 1 32 /* param 1 (input) select expression to be parsed */ 1 33 /* param 2 (input) ptr to file that will be searched */ 1 34 /* param 3 (input) ptr to area */ 1 35 /* param 4 (output) ptr to compiled select expression */ 1 36 /* param 5 (output) error token */ 1 37 /* param 6 (output) standard status code */ 1 38 1 39 dcl lister_compile_sort_ 1 40 entry (char (*), ptr, ptr, ptr, char (*), fixed bin (35)); 1 41 /* param 1 (input) sort string to be parsed */ 1 42 /* param 2 (input) ptr to file */ 1 43 /* param 3 (input) ptr to area */ 1 44 /* param 4 (output) ptr to compiled sort expression */ 1 45 /* param 5 (output) token in error (if any error) */ 1 46 /* param 6 (output) standard status code */ 1 47 1 48 dcl lister_convert_ entry (ptr, fixed bin (35)); 1 49 /* param 1 (input) input file ptr */ 1 50 /* param 2 (output) standard status code */ 1 51 1 52 dcl lister_copy_file_head_ 1 53 entry (ptr, ptr); 1 54 /* param 1 (input) input file ptr */ 1 55 /* param 2 (input) output file ptr */ 1 56 1 57 dcl lister_copy_records_ 1 58 entry (ptr, ptr, ptr); 1 59 /* param 1 (input) ptr to input file */ 1 60 /* param 2 (input) ptr to output file */ 1 61 /* param 3 (input) ptr to list of records to be copied */ 1 62 1 63 dcl lister_compare_field_tables_ 1 64 entry (ptr, ptr) 1 65 returns (bit (1) aligned); 1 66 /* param 1 (input) ptr to file 1 */ 1 67 /* param 2 (input) ptr to file 2 */ 1 68 /* return (output) "1"b if field tables are equal */ 1 69 1 70 dcl lister_create_record_ 1 71 entry (ptr) 1 72 returns (ptr); 1 73 /* param 1 (input) file ptr */ 1 74 /* return (output) record ptr */ 1 75 1 76 dcl lister_create_record_$after 1 77 entry (ptr, ptr) 1 78 returns (ptr); 1 79 /* param 1 (input) ptr to file to create record in */ 1 80 /* param 2 (input) ptr to record that is to be just before created record */ 1 81 /* return (output) ptr to created record */ 1 82 1 83 dcl lister_create_record_$retain_uid 1 84 entry (ptr, fixed bin (24) unsigned unaligned) 1 85 returns (ptr); 1 86 /* param 1 (input) file ptr */ 1 87 /* param 2 (input) uid to be retained */ 1 88 /* return (output) record ptr */ 1 89 1 90 dcl lister_delete_ 1 91 entry (ptr, ptr); 1 92 /* param 1 (input) file ptr */ 1 93 /* param 2 (input) ptr to list of record to be deleted */ 1 94 1 95 dcl lister_expand_ 1 96 entry (ptr, ptr, fixed bin (21), fixed bin, bit (1) aligned) 1 97 returns (fixed bin); 1 98 /* param 1 (input) file ptr */ 1 99 /* param 2 (input) ptr to output segment */ 1 100 /* param 3 (in/out) 1-origin char index of next free char in output segment */ 1 101 /* param 4 (input) line length to use */ 1 102 /* param 5 (input) "1"b iff field names are always to appear */ 1 103 /* return (output) number of records expanded */ 1 104 1 105 dcl lister_hash_fid_ reducible 1 106 entry (ptr, char (*)) 1 107 returns (fixed bin); 1 108 /* param 1 (input) file ptr */ 1 109 /* param 2 (input) field identifier */ 1 110 /* return (output) field index */ 1 111 1 112 dcl lister_hash_fid_$enter irreducible 1 113 entry (ptr, char (*)) 1 114 returns (ptr); 1 115 /* param 1 (input) file ptr */ 1 116 /* param 2 (input) field identifier */ 1 117 /* return (output) field identifier node offset */ 1 118 1 119 dcl lister_format_parse_ 1 120 entry (ptr, ptr, char (*), ptr, char (*), fixed bin (35)); 1 121 /* param 1 (input) ptr to file containing field table */ 1 122 /* param 2 (input) ptr to area */ 1 123 /* param 3 (input) listform string */ 1 124 /* param 4 (output) format table ptr */ 1 125 /* param 5 (output) error token */ 1 126 /* param 6 (output) status code */ 1 127 1 128 dcl lister_merge_ entry (ptr, ptr, ptr, (*) fixed bin, fixed bin, fixed bin, fixed bin(35)) 1 129 returns ((3) fixed bin); 1 130 /* param 1 (input) input file ptr */ 1 131 /* param 2 (input) update file ptr */ 1 132 /* param 3 (input) output file ptr */ 1 133 /* param 4 (input) array of fields to merge on */ 1 134 /* param 5 (input) 1-origin number of elements in field_list */ 1 135 /* param 6 (input) type of merge */ 1 136 /* param 7 (output) status code */ 1 137 /* return (output) count of number of input, update, output records */ 1 138 1 139 dcl lister_print_ entry (ptr, ptr, ptr, fixed bin (21), bit (1) aligned, 1 140 ptr, ptr, fixed bin, bit (1) aligned, bit (1) aligned, char (*)); 1 141 /* param 1 (input) ptr to file to be printed */ 1 142 /* param 2 (input) format table ptr */ 1 143 /* param 3 (input) ptr to base of output segment */ 1 144 /* param 4 (in/out) index of next output character */ 1 145 /* param 5 (input) "1"b iff all records are to be printed */ 1 146 /* param 6 (input) ptr to list of records to print */ 1 147 /* null => print no records */ 1 148 /* param 7 (input) ptr to argument list for -ag */ 1 149 /* param 8 (input) index of -ag in above argument list */ 1 150 /* param 9 (input) brief error flag */ 1 151 /* param 10 (input) "1"b iff called by display_list af */ 1 152 /* param 11 (input) pathname of listform segment */ 1 153 1 154 dcl lister_select_ entry (ptr, ptr, ptr, ptr) 1 155 returns (fixed bin); 1 156 /* param 1 (input) ptr to file to be searched */ 1 157 /* param 2 (input) ptr to select_expression */ 1 158 /* param 3 (input) ptr to area */ 1 159 /* param 4 (output) ptr to list of selected records */ 1 160 /* return (output) number of records found */ 1 161 1 162 dcl lister_sort_ entry (ptr, ptr, ptr); 1 163 /* param 1 (input) file ptr */ 1 164 /* param 2 (input) ptr to list of records */ 1 165 /* param 3 (input) ptr to sort list array */ 1 166 1 167 dcl lister_status_ entry (ptr, char (*), bit (1) aligned, ptr); 1 168 /* param 1 (input) ptr to lister segment */ 1 169 /* param 2 (input) entryname of lister segment */ 1 170 /* param 3 (input) on if no selection expression given */ 1 171 /* param 4 (input) ptr to status info structure */ 1 172 1 173 /* ------ END INCLUDE FILE lister_entries.incl.pl1 ----------------------------------- */ 89 2 1 /* ====== BEGIN INCLUDE FILE lister_structures.incl.pl1 ================================ */ 2 2 2 3 /* 2 4* Modified 800813 by PB to add PUT_UID to listform declarations. 2 5* Modified 800825 by PB for version 2 lister file. 2 6* Modified 840523 by PB to add SELECT_BEG and SELECT_END. 2 7**/ 2 8 /* MASTER DECLARATIONS */ 2 9 2 10 /* format: style3 */ 2 11 dcl lister_file_version_2 2 12 fixed bin initial (2) internal static options (constant); 2 13 2 14 dcl 1 input_file based (in_file_ptr) aligned, 2 15 2 ( 2 16 field_table_offset, 2 17 record_head, 2 18 record_tail, 2 19 unused (2) 2 20 ) offset (input_file.area), 2 21 2 next_uid fixed bin (24) unsigned, 2 22 2 version fixed bin, 2 23 2 n_records fixed bin (17), 2 24 2 area area (261112); 2 25 2 26 dcl 1 update_file based (up_file_ptr) aligned, 2 27 2 ( 2 28 field_table_offset, 2 29 record_head, 2 30 record_tail, 2 31 unused (2) 2 32 ) offset (update_file.area), 2 33 2 next_uid fixed bin (24) unsigned, 2 34 2 version fixed bin, 2 35 2 n_records fixed bin (17), 2 36 2 area area (261112); 2 37 2 38 dcl 1 output_file based (out_file_ptr) aligned, 2 39 2 ( 2 40 field_table_offset, 2 41 record_head, 2 42 record_tail, 2 43 unused (2) 2 44 ) offset (output_file.area), 2 45 2 next_uid fixed bin (24) unsigned, 2 46 2 version fixed bin, 2 47 2 n_records fixed bin (17), 2 48 2 area area (261112); 2 49 2 50 dcl 1 input_record based (recordp) aligned, 2 51 2 next offset (input_file.area), 2 52 2 uid fixed bin (24) unsigned unaligned, 2 53 2 max_field_index fixed bin (12) unsigned unaligned, 2 54 2 field dim (0:field_table.max_field_index refer (input_record.max_field_index)) 2 55 offset (input_file.area); 2 56 2 57 dcl 1 update_record based aligned, 2 58 2 next offset (update_file.area), 2 59 2 uid fixed bin (24) unsigned unaligned, 2 60 2 max_field_index fixed bin (12) unsigned unaligned, 2 61 2 field dim (0:field_table.max_field_index refer (update_record.max_field_index)) 2 62 offset (update_file.area); 2 63 2 64 dcl 1 output_record based aligned, 2 65 2 next offset (output_file.area), 2 66 2 uid fixed bin (24) unsigned unaligned, 2 67 2 max_field_index fixed bin (12) unsigned unaligned, 2 68 2 field dim (0:field_table.max_field_index refer (output_record.max_field_index)) 2 69 offset (output_file.area); 2 70 2 71 dcl atom char (atom_length) based (atomp) varying aligned, 2 72 atom_length fixed bin initial (0), /* for table option */ 2 73 atomp ptr; 2 74 2 75 dcl (fidp, field_table_ptr, format_table_ptr, in_file_ptr, ltp, recordp, select_ptr, out_file_ptr, up_file_ptr) 2 76 ptr, 2 77 n fixed bin; 2 78 2 79 dcl 1 field_table based (field_table_ptr) aligned, 2 80 2 record_delimiter 2 81 unal char (1), 2 82 2 field_delimiter unal char (1), 2 83 2 max_field_index unal fixed bin (17), 2 84 2 hash_field_id_to_index 2 85 dimension (0:18) offset, 2 86 2 index_to_field_id 2 87 dimension (0:n refer (field_table.max_field_index)) offset; 2 88 2 89 dcl 1 field_identifier based (fidp) aligned, 2 90 2 next offset, 2 91 2 field_index unal fixed bin (17), 2 92 2 size unal fixed bin (17), 2 93 2 string unal char (n refer (field_identifier.size)); 2 94 2 95 dcl system_area area (261120) based (area_ptr); 2 96 dcl area_ptr ptr; 2 97 2 98 /* LISTFORM DECLARATIONS */ 2 99 2 100 declare ( 2 101 PUT_LITERAL initial (-1), 2 102 PUT_SPACES initial (-2), 2 103 PUT_END initial (-3), 2 104 PUT_DATE initial (-4), 2 105 PUT_TIME initial (-5), 2 106 PUT_RECORD_COUNT initial (-6), 2 107 PUT_ARGUMENT initial (-7), 2 108 PUT_UID initial (-8) 2 109 ) fixed bin internal static; 2 110 2 111 dcl 1 format_table aligned based (format_table_ptr), 2 112 2 size fixed bin (17) unal, 2 113 2 before fixed bin (17) unal, 2 114 2 after fixed bin (17) unal, 2 115 2 record fixed bin (17) unal, 2 116 2 literal_table ptr, 2 117 2 item dim (n refer (format_table.size)), 2 118 3 action fixed bin (17) unal, 2 119 3 justification bit (2) unal, 2 120 3 argument_number 2 121 fixed bin (15) unal, 2 122 3 width fixed bin (21); 2 123 2 124 dcl 1 literal_table aligned based (ltp), 2 125 2 size fixed bin, /* number of slots allocated */ 2 126 2 n_literals fixed bin, /* number of slots in use */ 2 127 2 literal dim (n refer (literal_table.size)) ptr unal; 2 128 2 129 dcl ( 2 130 flush_left initial ("00"b), 2 131 center initial ("01"b), 2 132 flush_right initial ("10"b) 2 133 ) bit (2) aligned internal static options (constant); 2 134 2 135 dcl MIN_FIELD_INDEX fixed bin initial (0) internal static options (constant); 2 136 2 137 dcl 1 list_node aligned based, 2 138 2 size fixed bin, 2 139 2 list dimension (n refer (list_node.size)) ptr; 2 140 2 141 /* SELECT DECLARATIONS */ 2 142 2 143 dcl 1 select_expression based (select_ptr) aligned, 2 144 2 literal_table_ptr 2 145 ptr, 2 146 2 size fixed bin, 2 147 2 last_element fixed bin, 2 148 2 element dim (n refer (select_expression.size)), 2 149 3 opcode unal bit (9), 2 150 3 not unal bit (1), 2 151 3 top unal bit (1), 2 152 3 unused unal bit (7), 2 153 3 field_index unal fixed bin (8), 2 154 3 literal_index unal fixed bin (8), 2 155 1 element aligned, 2 156 2 opcode fixed bin, 2 157 2 not bit (1) aligned, 2 158 2 top bit (1) aligned, 2 159 2 field_index fixed bin, 2 160 2 literal_index fixed bin, 2 161 operand1 fixed bin defined (element.field_index), 2 162 operand2 fixed bin defined (element.literal_index); 2 163 2 164 dcl ( 2 165 SELECT_AND init ("000000001"b), 2 166 SELECT_OR init ("000000010"b), 2 167 SELECT_NOT init ("000000011"b), 2 168 SELECT_FIND init ("000000100"b), 2 169 SELECT_EQ init ("000000101"b), 2 170 SELECT_LT init ("000000110"b), 2 171 SELECT_GT init ("000000111"b), 2 172 SELECT_LE init ("000001000"b), 2 173 SELECT_GE init ("000001001"b), 2 174 SELECT_NEQ init ("000001010"b), 2 175 SELECT_NLT init ("000001011"b), 2 176 SELECT_NGT init ("000001100"b), 2 177 SELECT_NLE init ("000001101"b), 2 178 SELECT_NGE init ("000001110"b), 2 179 SELECT_BEG init ("000001111"b), 2 180 SELECT_END init ("000010000"b) 2 181 ) bit (9) aligned internal static; 2 182 2 183 dcl ( 2 184 ANY_FIELD init (-1), 2 185 NULL_FIELD init (-2), 2 186 NUMERIC_FIELD init (-3), 2 187 UID init (-4) 2 188 ) aligned fixed bin (8) static; 2 189 2 190 dcl 1 numeric_atom aligned based (atomp), 2 191 2 flag fixed bin (35), /* must be -1 */ 2 192 2 value float dec (29) unal; 2 193 2 194 dcl numeric_flag fixed bin (35) internal static initial (-1) options (constant); 2 195 2 196 /* SORT DECLARATIONS */ 2 197 2 198 declare n_items_to_sort fixed bin, 2 199 sort_list_ptr ptr; 2 200 2 201 declare 1 sort_list aligned based (sort_list_ptr), 2 202 2 n_keys fixed bin, 2 203 2 key (n_items_to_sort refer (sort_list.n_keys)), 2 204 3 field_index fixed bin, 2 205 3 ascending bit (1) aligned, 2 206 3 numeric bit (1) aligned; 2 207 2 208 /* MERGE DECLARATIONS */ 2 209 2 210 dcl ( 2 211 MERGE_ADD init (0), 2 212 MERGE_AND init (1), 2 213 MERGE_OR init (2), 2 214 MERGE_SUBTRACT init (3) 2 215 ) fixed bin internal static options (constant); 2 216 2 217 /* ------ END INCLUDE FILE lister_structures.incl.pl1 -------------------------------- */ 90 91 92 93 /* program */ 94 95 in_file_ptr = bv_in_file_ptr; 96 in_ename = bv_in_ename; 97 select_all = bv_select_all; 98 status_info_ptr = bv_status_info_ptr; 99 100 out_ptr = null (); 101 fname_ptr = null (); 102 103 on cleanup begin; 104 if out_ptr ^= null () 105 then call release_temp_segment_ ("lister_status_", out_ptr, code); 106 if fname_ptr ^= null () 107 then call release_temp_segment_ ("lister_status_", fname_ptr, code); 108 end; 109 110 call get_temp_segment_ ("lister_status_", out_ptr, code); 111 112 field_table_ptr = input_file.field_table_offset; 113 114 if af 115 then verbosity = 0; 116 else verbosity = fixed (print_fdelim) + fixed (print_rdelim) + fixed (print_totals) + fixed (print_fnames); 117 118 if ^header_specified 119 then if verbosity = 4 120 then header = "1"b; 121 else header = "0"b; 122 123 if print_fnames 124 then do; 125 call get_temp_segment_ ("lister_status_", fname_ptr, code); 126 fname_len = 0; 127 do i = 0 to hbound (field_table.index_to_field_id (*), 1); 128 fidp = pointer (field_table.index_to_field_id (i), input_file.area); 129 if i ^= 0 & verbosity > 1 130 then do; 131 fname_len = fname_len + 1; 132 substr (fnames_out, fname_len, 1) = ","; 133 end; 134 if i ^= 0 135 then do; 136 fname_len = fname_len + 1; 137 substr (fnames_out, fname_len, 1) = " "; 138 end; 139 fname_len = fname_len + field_identifier.size; 140 substr (fnames_out, fname_len + 1 - field_identifier.size, field_identifier.size) = field_identifier.string; 141 end; 142 end; 143 144 if header 145 then call date_time_ (clock (), now); 146 147 out_len = sys_info$max_seg_size * 4; 148 call ioa_$rsnpnnl ( 149 "^[^21t^a^41t^a^2/^;^2s^]" || /* Header. */ 150 "^[^[Total ^[Selected ^]Records:^25t^;^s^]^i^[^/^;^x^]^;^4s^]" || 151 "^[^[Record_delimiter:^25t^]^a^[^[;^]^/^;^x^s^]^;^4s^]" || 152 "^[^[Field_delimiter:^25t^]^a^[^[;^]^/^;^x^s^]^;^4s^]" || 153 "^[^[Field_names:^25t^]^a^[^[;^]^/^;^x^]^]", 154 out_string, 155 out_len, 156 (header = "1"b), /* Only print header if all fields printed. */ 157 in_ename, 158 now, 159 (print_totals = "1"b), 160 (verbosity > 1), 161 (select_all = "0"b), 162 total, 163 (af = "0"b), 164 (print_rdelim = "1"b), 165 (verbosity > 1), 166 field_table.record_delimiter, 167 (af = "0"b), 168 (verbosity > 1), 169 (print_fdelim = "1"b), 170 (verbosity > 1), 171 field_table.field_delimiter, 172 (af = "0"b), 173 (verbosity > 1), 174 (print_fnames = "1"b), 175 (verbosity > 1), 176 fnames_out, 177 (af = "0"b), 178 (verbosity > 1) 179 ); 180 181 if af 182 then ret_string = out_string; 183 else call ioa_ ("^a", out_string); 184 185 call release_temp_segment_ ("lister_status_", out_ptr, code); 186 if fname_ptr ^= null () 187 then call release_temp_segment_ ("lister_status_", fname_ptr, code); 188 189 end; 190 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/05/84 1151.5 lister_status_.pl1 >special_ldd>online>6883-11/02/84>lister_status_.pl1 89 1 04/25/81 0728.4 lister_entries.incl.pl1 >ldd>include>lister_entries.incl.pl1 90 2 11/02/84 1208.5 lister_structures.incl.pl1 >special_ldd>online>6883-11/02/84>lister_structures.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. af 1 based bit(1) level 2 dcl 52 ref 114 148 148 148 148 181 area 10 based area(261112) level 2 dcl 2-14 ref 112 128 atom_length 000142 automatic fixed bin(17,0) initial dcl 2-71 set ref 2-71* bv_in_ename parameter char unaligned dcl 28 ref 23 96 bv_in_file_ptr parameter pointer dcl 28 ref 23 95 bv_select_all parameter bit(1) dcl 28 ref 23 97 bv_status_info_ptr parameter pointer dcl 28 ref 23 98 cleanup 000134 stack reference condition dcl 75 ref 103 clock builtin function dcl 71 ref 144 144 code 000100 automatic fixed bin(35,0) dcl 37 set ref 104* 106* 110* 125* 185* 186* date_time_ 000010 constant entry external dcl 79 ref 144 fidp 000144 automatic pointer dcl 2-75 set ref 128* 139 140 140 140 field_delimiter 0(09) based char(1) level 2 packed unaligned dcl 2-79 set ref 148* field_identifier based structure level 1 dcl 2-89 field_table based structure level 1 dcl 2-79 field_table_offset based offset level 2 dcl 2-14 ref 112 field_table_ptr 000146 automatic pointer dcl 2-75 set ref 112* 127 128 148 148 fixed builtin function dcl 71 ref 116 116 116 116 fname_len 000101 automatic fixed bin(21,0) dcl 37 set ref 126* 131* 131 132 132 136* 136 137 137 139* 139 140 140 148 148 fname_ptr 000102 automatic pointer dcl 37 set ref 101* 106 106* 125* 132 137 140 148 186 186* fnames_out based char unaligned dcl 65 set ref 132* 137* 140* 148* get_temp_segment_ 000012 constant entry external dcl 79 ref 110 125 hbound builtin function dcl 71 ref 127 header 6 based bit(1) level 2 dcl 52 set ref 118* 121* 144 148 header_specified 7 based bit(1) level 2 dcl 52 ref 118 i 000104 automatic fixed bin(17,0) dcl 37 set ref 127* 128 129 134* in_ename 000105 automatic char(32) unaligned dcl 37 set ref 96* 148* in_file_ptr 000150 automatic pointer dcl 2-75 set ref 95* 112 112 128 index_to_field_id 24 based offset array level 2 dcl 2-79 ref 127 128 input_file based structure level 1 dcl 2-14 ioa_ 000014 constant entry external dcl 79 ref 183 ioa_$rsnpnnl 000016 constant entry external dcl 79 ref 148 max_field_index 0(18) based fixed bin(17,0) level 2 packed unaligned dcl 2-79 ref 127 now 000115 automatic char(24) unaligned dcl 37 set ref 144* 148* null builtin function dcl 71 ref 100 101 104 106 186 out_len 000123 automatic fixed bin(21,0) dcl 37 set ref 147* 148 148 148* 181 183 183 out_ptr 000124 automatic pointer dcl 37 set ref 100* 104 104* 110* 148 181 183 185* out_string based char unaligned dcl 65 set ref 148* 181 183* pointer builtin function dcl 71 ref 128 print_fdelim based bit(1) level 3 packed unaligned dcl 52 ref 116 148 print_fnames 0(01) based bit(1) level 3 packed unaligned dcl 52 ref 116 123 148 print_rdelim 0(02) based bit(1) level 3 packed unaligned dcl 52 ref 116 148 print_switches based structure level 2 packed unaligned dcl 52 print_totals 0(03) based bit(1) level 3 packed unaligned dcl 52 ref 116 148 record_delimiter based char(1) level 2 packed unaligned dcl 2-79 set ref 148* release_temp_segment_ 000020 constant entry external dcl 79 ref 104 106 185 186 ret_string based varying char dcl 65 set ref 181* retlen 3 based fixed bin(21,0) level 2 dcl 52 ref 181 retptr 4 based pointer level 2 dcl 52 ref 181 select_all 000126 automatic bit(1) dcl 37 set ref 97* 148 size 1(18) based fixed bin(17,0) level 2 packed unaligned dcl 2-89 ref 139 140 140 140 status_info based structure level 1 unaligned dcl 52 status_info_ptr 000130 automatic pointer dcl 37 set ref 98* 114 116 116 116 116 118 118 121 123 144 148 148 148 148 148 148 148 148 148 148 181 181 181 string 2 based char level 2 packed unaligned dcl 2-89 ref 140 substr builtin function dcl 71 set ref 132* 137* 140* sys_info$max_seg_size 000022 external static fixed bin(19,0) dcl 86 ref 147 total 2 based fixed bin(17,0) level 2 dcl 52 set ref 148* verbosity 000132 automatic fixed bin(17,0) dcl 37 set ref 114* 116* 118 129 148 148 148 148 148 148 148 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ANY_FIELD internal static fixed bin(8,0) initial dcl 2-183 MERGE_ADD internal static fixed bin(17,0) initial dcl 2-210 MERGE_AND internal static fixed bin(17,0) initial dcl 2-210 MERGE_OR internal static fixed bin(17,0) initial dcl 2-210 MERGE_SUBTRACT internal static fixed bin(17,0) initial dcl 2-210 MIN_FIELD_INDEX internal static fixed bin(17,0) initial dcl 2-135 NULL_FIELD internal static fixed bin(8,0) initial dcl 2-183 NUMERIC_FIELD internal static fixed bin(8,0) initial dcl 2-183 PUT_ARGUMENT internal static fixed bin(17,0) initial dcl 2-100 PUT_DATE internal static fixed bin(17,0) initial dcl 2-100 PUT_END internal static fixed bin(17,0) initial dcl 2-100 PUT_LITERAL internal static fixed bin(17,0) initial dcl 2-100 PUT_RECORD_COUNT internal static fixed bin(17,0) initial dcl 2-100 PUT_SPACES internal static fixed bin(17,0) initial dcl 2-100 PUT_TIME internal static fixed bin(17,0) initial dcl 2-100 PUT_UID internal static fixed bin(17,0) initial dcl 2-100 SELECT_AND internal static bit(9) initial dcl 2-164 SELECT_BEG internal static bit(9) initial dcl 2-164 SELECT_END internal static bit(9) initial dcl 2-164 SELECT_EQ internal static bit(9) initial dcl 2-164 SELECT_FIND internal static bit(9) initial dcl 2-164 SELECT_GE internal static bit(9) initial dcl 2-164 SELECT_GT internal static bit(9) initial dcl 2-164 SELECT_LE internal static bit(9) initial dcl 2-164 SELECT_LT internal static bit(9) initial dcl 2-164 SELECT_NEQ internal static bit(9) initial dcl 2-164 SELECT_NGE internal static bit(9) initial dcl 2-164 SELECT_NGT internal static bit(9) initial dcl 2-164 SELECT_NLE internal static bit(9) initial dcl 2-164 SELECT_NLT internal static bit(9) initial dcl 2-164 SELECT_NOT internal static bit(9) initial dcl 2-164 SELECT_OR internal static bit(9) initial dcl 2-164 UID internal static fixed bin(8,0) initial dcl 2-183 area_ptr automatic pointer dcl 2-96 atom based varying char dcl 2-71 atomp automatic pointer dcl 2-71 center internal static bit(2) initial dcl 2-129 element automatic structure level 1 dcl 2-143 flush_left internal static bit(2) initial dcl 2-129 flush_right internal static bit(2) initial dcl 2-129 format_table based structure level 1 dcl 2-111 format_table_ptr automatic pointer dcl 2-75 input_record based structure level 1 dcl 2-50 list_node based structure level 1 dcl 2-137 lister_assign_ 000000 constant entry external dcl 1-13 lister_compare_field_tables_ 000000 constant entry external dcl 1-63 lister_compile_listin_ 000000 constant entry external dcl 1-20 lister_compile_select_ 000000 constant entry external dcl 1-30 lister_compile_sort_ 000000 constant entry external dcl 1-39 lister_convert_ 000000 constant entry external dcl 1-48 lister_copy_file_head_ 000000 constant entry external dcl 1-52 lister_copy_records_ 000000 constant entry external dcl 1-57 lister_create_record_ 000000 constant entry external dcl 1-70 lister_create_record_$after 000000 constant entry external dcl 1-76 lister_create_record_$retain_uid 000000 constant entry external dcl 1-83 lister_delete_ 000000 constant entry external dcl 1-90 lister_expand_ 000000 constant entry external dcl 1-95 lister_file_version_2 internal static fixed bin(17,0) initial dcl 2-11 lister_format_parse_ 000000 constant entry external dcl 1-119 lister_hash_fid_ 000000 constant entry external dcl 1-105 lister_hash_fid_$enter 000000 constant entry external dcl 1-112 lister_merge_ 000000 constant entry external dcl 1-128 lister_print_ 000000 constant entry external dcl 1-139 lister_select_ 000000 constant entry external dcl 1-154 lister_sort_ 000000 constant entry external dcl 1-162 lister_status_ 000000 constant entry external dcl 1-167 literal_table based structure level 1 dcl 2-124 ltp automatic pointer dcl 2-75 n automatic fixed bin(17,0) dcl 2-75 n_items_to_sort automatic fixed bin(17,0) dcl 2-198 numeric_atom based structure level 1 dcl 2-190 numeric_flag internal static fixed bin(35,0) initial dcl 2-194 operand1 defined fixed bin(17,0) dcl 2-143 operand2 defined fixed bin(17,0) dcl 2-143 out_file_ptr automatic pointer dcl 2-75 output_file based structure level 1 dcl 2-38 output_record based structure level 1 dcl 2-64 recordp automatic pointer dcl 2-75 select_expression based structure level 1 dcl 2-143 select_ptr automatic pointer dcl 2-75 selected_records_ptr automatic pointer dcl 37 sort_list based structure level 1 dcl 2-201 sort_list_ptr automatic pointer dcl 2-198 system_area based area(261120) dcl 2-95 up_file_ptr automatic pointer dcl 2-75 update_file based structure level 1 dcl 2-26 update_record based structure level 1 dcl 2-57 NAME DECLARED BY EXPLICIT CONTEXT. lister_status_ 000131 constant entry external dcl 23 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1216 1242 1110 1226 Length 1464 1110 24 206 106 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME lister_status_ 316 external procedure is an external procedure. on unit on line 103 82 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME lister_status_ 000100 code lister_status_ 000101 fname_len lister_status_ 000102 fname_ptr lister_status_ 000104 i lister_status_ 000105 in_ename lister_status_ 000115 now lister_status_ 000123 out_len lister_status_ 000124 out_ptr lister_status_ 000126 select_all lister_status_ 000130 status_info_ptr lister_status_ 000132 verbosity lister_status_ 000142 atom_length lister_status_ 000144 fidp lister_status_ 000146 field_table_ptr lister_status_ 000150 in_file_ptr lister_status_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_e_as call_ext_out_desc return enable ext_entry_desc int_entry pointer_hard clock THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. date_time_ get_temp_segment_ ioa_ ioa_$rsnpnnl release_temp_segment_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. sys_info$max_seg_size LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 23 000124 2 71 000144 95 000145 96 000151 97 000155 98 000160 100 000163 101 000165 103 000166 104 000202 106 000233 108 000265 110 000266 112 000313 114 000320 116 000325 118 000347 121 000357 123 000360 125 000363 126 000410 127 000411 128 000421 129 000427 131 000434 132 000435 134 000442 136 000444 137 000445 139 000452 140 000456 141 000470 144 000472 147 000514 148 000520 181 000771 183 001007 185 001031 186 001056 189 001107 ----------------------------------------------------------- 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