/* ====== BEGIN INCLUDE FILE lister_structures.incl.pl1 ================================ */ /* Modified 800813 by PB to add PUT_UID to listform declarations. Modified 800825 by PB for version 2 lister file. Modified 840523 by PB to add SELECT_BEG and SELECT_END. */ /* MASTER DECLARATIONS */ /* format: style3 */ dcl lister_file_version_2 fixed bin initial (2) internal static options (constant); dcl 1 input_file based (in_file_ptr) aligned, 2 ( field_table_offset, record_head, record_tail, unused (2) ) offset (input_file.area), 2 next_uid fixed bin (24) unsigned, 2 version fixed bin, 2 n_records fixed bin (17), 2 area area (261112); dcl 1 update_file based (up_file_ptr) aligned, 2 ( field_table_offset, record_head, record_tail, unused (2) ) offset (update_file.area), 2 next_uid fixed bin (24) unsigned, 2 version fixed bin, 2 n_records fixed bin (17), 2 area area (261112); dcl 1 output_file based (out_file_ptr) aligned, 2 ( field_table_offset, record_head, record_tail, unused (2) ) offset (output_file.area), 2 next_uid fixed bin (24) unsigned, 2 version fixed bin, 2 n_records fixed bin (17), 2 area area (261112); dcl 1 input_record based (recordp) aligned, 2 next offset (input_file.area), 2 uid fixed bin (24) unsigned unaligned, 2 max_field_index fixed bin (12) unsigned unaligned, 2 field dim (0:field_table.max_field_index refer (input_record.max_field_index)) offset (input_file.area); dcl 1 update_record based aligned, 2 next offset (update_file.area), 2 uid fixed bin (24) unsigned unaligned, 2 max_field_index fixed bin (12) unsigned unaligned, 2 field dim (0:field_table.max_field_index refer (update_record.max_field_index)) offset (update_file.area); dcl 1 output_record based aligned, 2 next offset (output_file.area), 2 uid fixed bin (24) unsigned unaligned, 2 max_field_index fixed bin (12) unsigned unaligned, 2 field dim (0:field_table.max_field_index refer (output_record.max_field_index)) offset (output_file.area); dcl atom char (atom_length) based (atomp) varying aligned, atom_length fixed bin initial (0), /* for table option */ atomp ptr; dcl (fidp, field_table_ptr, format_table_ptr, in_file_ptr, ltp, recordp, select_ptr, out_file_ptr, up_file_ptr) ptr, n fixed bin; dcl 1 field_table based (field_table_ptr) aligned, 2 record_delimiter unal char (1), 2 field_delimiter unal char (1), 2 max_field_index unal fixed bin (17), 2 hash_field_id_to_index dimension (0:18) offset, 2 index_to_field_id dimension (0:n refer (field_table.max_field_index)) offset; dcl 1 field_identifier based (fidp) aligned, 2 next offset, 2 field_index unal fixed bin (17), 2 size unal fixed bin (17), 2 string unal char (n refer (field_identifier.size)); dcl system_area area (261120) based (area_ptr); dcl area_ptr ptr; /* LISTFORM DECLARATIONS */ declare ( PUT_LITERAL initial (-1), PUT_SPACES initial (-2), PUT_END initial (-3), PUT_DATE initial (-4), PUT_TIME initial (-5), PUT_RECORD_COUNT initial (-6), PUT_ARGUMENT initial (-7), PUT_UID initial (-8) ) fixed bin internal static; dcl 1 format_table aligned based (format_table_ptr), 2 size fixed bin (17) unal, 2 before fixed bin (17) unal, 2 after fixed bin (17) unal, 2 record fixed bin (17) unal, 2 literal_table ptr, 2 item dim (n refer (format_table.size)), 3 action fixed bin (17) unal, 3 justification bit (2) unal, 3 argument_number fixed bin (15) unal, 3 width fixed bin (21); dcl 1 literal_table aligned based (ltp), 2 size fixed bin, /* number of slots allocated */ 2 n_literals fixed bin, /* number of slots in use */ 2 literal dim (n refer (literal_table.size)) ptr unal; dcl ( flush_left initial ("00"b), center initial ("01"b), flush_right initial ("10"b) ) bit (2) aligned internal static options (constant); dcl MIN_FIELD_INDEX fixed bin initial (0) internal static options (constant); dcl 1 list_node aligned based, 2 size fixed bin, 2 list dimension (n refer (list_node.size)) ptr; /* SELECT DECLARATIONS */ dcl 1 select_expression based (select_ptr) aligned, 2 literal_table_ptr ptr, 2 size fixed bin, 2 last_element fixed bin, 2 element dim (n refer (select_expression.size)), 3 opcode unal bit (9), 3 not unal bit (1), 3 top unal bit (1), 3 unused unal bit (7), 3 field_index unal fixed bin (8), 3 literal_index unal fixed bin (8), 1 element aligned, 2 opcode fixed bin, 2 not bit (1) aligned, 2 top bit (1) aligned, 2 field_index fixed bin, 2 literal_index fixed bin, operand1 fixed bin defined (element.field_index), operand2 fixed bin defined (element.literal_index); dcl ( SELECT_AND init ("000000001"b), SELECT_OR init ("000000010"b), SELECT_NOT init ("000000011"b), SELECT_FIND init ("000000100"b), SELECT_EQ init ("000000101"b), SELECT_LT init ("000000110"b), SELECT_GT init ("000000111"b), SELECT_LE init ("000001000"b), SELECT_GE init ("000001001"b), SELECT_NEQ init ("000001010"b), SELECT_NLT init ("000001011"b), SELECT_NGT init ("000001100"b), SELECT_NLE init ("000001101"b), SELECT_NGE init ("000001110"b), SELECT_BEG init ("000001111"b), SELECT_END init ("000010000"b) ) bit (9) aligned internal static; dcl ( ANY_FIELD init (-1), NULL_FIELD init (-2), NUMERIC_FIELD init (-3), UID init (-4) ) aligned fixed bin (8) static; dcl 1 numeric_atom aligned based (atomp), 2 flag fixed bin (35), /* must be -1 */ 2 value float dec (29) unal; dcl numeric_flag fixed bin (35) internal static initial (-1) options (constant); /* SORT DECLARATIONS */ declare n_items_to_sort fixed bin, sort_list_ptr ptr; declare 1 sort_list aligned based (sort_list_ptr), 2 n_keys fixed bin, 2 key (n_items_to_sort refer (sort_list.n_keys)), 3 field_index fixed bin, 3 ascending bit (1) aligned, 3 numeric bit (1) aligned; /* MERGE DECLARATIONS */ dcl ( MERGE_ADD init (0), MERGE_AND init (1), MERGE_OR init (2), MERGE_SUBTRACT init (3) ) fixed bin internal static options (constant); /* ------ END INCLUDE FILE lister_structures.incl.pl1 -------------------------------- */ */ ----------------------------------------------------------- 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 */