/* BEGIN INCLUDE FILE ... cobol_non_static.incl.pl1 */ dcl i fixed bin; dcl j fixed bin; dcl k fixed bin; dcl l fixed bin; dcl message_area char(56); /*for building type5 tokens as diagnostics*/ dcl message_ptr ptr; dcl 1 record based (min_ptr), /*header*/ 2 size fixed bin, 2 line fixed bin, 2 column fixed, 2 type fixed, 2 filler1 fixed, 2 filler2 fixed bin, 2 info, 3 para bit(1), 3 rep bit(1), 3 filler3 bit(6), 2 body char(0 refer(record.size)); dcl 1 rw based (min_ptr), /* header */ 2 size fixed bin, 2 line fixed bin, 2 column fixed bin, 2 type fixed, /* =1 */ /* body */ 2 key fixed bin, 2 class, 3 filler4 bit(2), 3 fig_con bit(1), 3 terminator bit(1), 3 end_dec bit(1), 3 filler5 bit(3), 3 section_header bit(1), 3 fs_ind bit(1), 3 fd_clause bit(1), 3 dd_clause bit(1), 3 cd_input bit(1), 3 cd_output bit(1), 3 cset_name bit(1), 3 filler6 bit(11), 2 jump_index fixed; dcl 1 numeric_lit based(min_ptr), /* header */ 2 size fixed bin, 2 line fixed bin, 2 column fixed bin, 2 type fixed, /* =2 */ /* body */ 2 info, 3 integer bit(1), 3 floating bit(1), 3 filler bit(6), 2 sign char(1), 2 exp_sign char(1), 2 exp_places fixed, 2 ltdp fixed, 2 rtdp fixed, 2 length fixed bin, 2 literal char(nl); dcl 1 alphanum_lit based(min_ptr), /* header */ 2 size fixed bin, 2 line fixed bin, 2 column fixed, 2 type fixed, /* =3 */ /*body */ 2 info, 3 bit_string bit(1), 3 filler8 bit(7), 2 length fixed bin, 2 string char(al); dcl 1 picture based(min_ptr), /* header */ 2 size fixed bin, 2 line fixed bin, 2 column fixed, 2 type fixed, /* =4 */ /* body */ 2 length fixed, 2 string char(0 refer(picture.length)); dcl 1 message based(message_ptr), /* header */ 2 size fixed bin, 2 line fixed bin, 2 column fixed, 2 type fixed, /* =5 */ /* body */ 2 run3 fixed, 2 number fixed bin, 2 info, 3 para bit(1), 3 rep bit(1), 3 fillerx bit(34), 2 length fixed bin, 2 image char(0 refer(message.length)); dcl 1 user_word based (min_ptr), /* header */ 2 size fixed bin, 2 line fixed bin, 2 column fixed bin, 2 type fixed, /* =8 */ /* body */ 2 info bit(8), 2 word_size fixed bin, 2 word char(0 refer(user_word.word_size)); dcl fdn char(1000) based(dn_ptr); dcl pdn_occ_ptr ptr; dcl 1 numinit based (ptr1), 2 initype, 3 numeric bit(1), 3 non_numeric bit(1), 3 fig_con bit(1), 3 all_lit bit(1), 3 single bit(1), 3 thru1 bit(1), 3 thru2 bit(1), 3 filler12 bit(1), 2 info, 3 integer bit(1), 3 floating bit(1), 3 filler bit(6), 2 sign char(1), 2 expsign char(1), 2 explaces fixed, 2 ltdp fixed, 2 rtdp fixed, 2 length fixed, 2 literal char(0 refer(numinit.length)); dcl 1 alphainit based(ptr1), 2 initype, 3 numeric bit(1), 3 non_numeric bit(1), 3 fig_con bit(1), 3 all_lit bit(1), 3 single bit(1), 3 thru1 bit(1), 3 thru2 bit(1), 3 filler14 bit(1), 2 info, 3 bit_string bit(1), 3 fig_con_index bit(7), 2 length fixed bin, 2 string char(0 refer(alphainit.length)); dcl 1 editor based (ptr1), 2 fixed_insert fixed, 2 float_insert fixed, 2 start_supress fixed, 2 max_supress fixed, 2 length fixed bin, 2 ecm char(0 refer(editor.length)); dcl 1 debug based (ptr1), 2 info bit(8), 2 prioity char (2), 2 proc_num fixed bin; dcl 1 indexname based (w2_ptr), 2 size fixed bin, 2 line fixed bin, 2 column fixed bin, 2 type fixed, /* type = 10 */ 2 string_ptr ptr, 2 prev_rec ptr, 2 info bit(8), 2 def_line fixed bin, 2 level fixed bin, 2 seg_num fixed bin, 2 offset fixed bin(24), 2 index_no fixed bin, 2 min fixed bin, 2 max fixed bin, 2 struc_length fixed bin, 2 csdwx fixed bin, 2 cswd fixed bin(24), 2 name_size fixed, 2 name char(31); dcl 1 conditioname based(w2_ptr), 2 size fixed bin, 2 line fixed bin, 2 column fixed bin, 2 type fixed, /* type = 11 */ 2 string_ptr ptr, 2 prev_rec ptr, 2 info bit(8), 2 def_line fixed bin, 2 level fixed bin, 2 numlits fixed bin, 2 name_size fixed bin, 2 name char(31); dcl 1 source based(min_ptr), 2 size fixed bin, 2 line fixed bin, 2 column fixed, 2 type fixed, /* =6 */ /* body */ 2 info fixed, 2 length fixed, 2 image char(sn); /* fs_ind bit (1,1) */ /* wss_ind bit (2,1) */ /* cns_ind bit(3,1) */ /* ls_ind bit(4,1) */ /* cms_ind bit(5,1) */ /* rws_ind bit (6,1) */ /* pd_ind bit (7,1) */ /* end_ind bit (8,1) */ dcl ffh fixed bin; /* file section data */ dcl 1 fd_ind based(fd_clauses_ptr), 2 recording_mode bit(1), 2 block_contain bit(1), 2 record_contain bit(1), 2 label_record bit(1), 2 data_record bit(1), 2 report_is bit(1), 2 linage_is bit(1), 2 value_of bit(1), 2 linage_type, 3 body bit(1), 3 footing bit(1), 3 top bit(1), 3 bottom bit(1), 2 label_type, 3 omitted bit(1), 3 standard bit(1), 3 user_spec bit(1) ; /* communication section data */ dcl fixbin7_1 fixed; dcl fixbin15 fixed bin; dcl fixbin31 fixed bin(24); dcl bit3 bit(3); dcl bit8 bit(8); dcl bit12 bit(12); dcl char1 char(1); dcl char4 char(4); dcl char12 char(12); dcl vectora(128) bit(1) based(ptr5); dcl 1 vectord based(ptr5), 2 descr bit(72), 2 minivector bit(18), 2 filler bit(38); dcl 1 vector_map based(ptr5), 2 file_section bit(1), /*1*/ 2 working_storage bit(1), /*2*/ 2 constant_section bit(1), /*3*/ 2 linkage_section bit(1), /*4*/ 2 communication_section bit(1), /*5*/ 2 report_section bit(1), /*6*/ 2 level_77 bit(1), /*7*/ 2 level_01 bit(1), /*8*/ 2 non_elementary bit(1), /*9*/ 2 elementary bit(1), /*10*/ 2 filler_item bit(1), /*11*/ 2 s_of_rdf bit(1), /*12*/ 2 o_of_rdf bit(1), /*13*/ 2 bin_18 bit(1), /*14*/ 2 bin_36 bit(1), /*15*/ 2 pic_has_l bit(1), /*16*/ 2 pic_is_do bit(1), /*17*/ 2 numeric bit(1), /*18*/ 2 numeric_edited bit(1), /*19*/ 2 alphanum bit(1), /*20*/ 2 alphanum_edited bit(1), /*21*/ 2 alphabetic bit(1), /*22*/ 2 alphabetic_edited bit(1), /*23*/ 2 pic_has_p bit(1), /*24*/ 2 pic_has_ast bit(1), /*25*/ 2 item_signed bit(1), /*26*/ 2 sign_separate bit(1), /*27*/ 2 display bit(1), /*28*/ 2 comp bit(1), /*29*/ 2 ascii_packed_dec_h bit(1), /*30*/ 2 ascii_packed_dec_b bit(1), /*31*/ 2 ebcdic_packed_dec bit(1), /*32*/ 2 bin_16 bit(1), /*33*/ 2 bin_32 bit(1), /*34*/ 2 usage_index bit(1), /*35*/ 2 just_right bit(1), /*36*/ 2 just_left bit(1), /*37*/ 2 sync_right bit(1), /*38*/ 2 temporary bit(1), /*39*/ 2 bwz bit(1), /*40*/ 2 variable_length bit(1), /*41*/ 2 subscripted bit(1), /*42*/ 2 occurs_do bit(1), /*43*/ 2 key_a bit(1), /*44*/ 2 key_d bit(1), /*45*/ 2 indexed_by bit(1), /*46*/ 2 value_numeric bit(1), /*47*/ 2 value_non_numeric bit(1), /*48*/ 2 value_signed bit(1), /*49*/ 2 sign_type bit(3), /*50*/ 2 pic_integer bit(1), /*53*/ 2 ast_when_zero bit(1), /*54*/ 2 label_record bit(1), /*55*/ 2 label bit(1), /*56*/ 2 sign_clause_occurred bit(1), /*57*/ 2 subject_of_keyis bit(1), /*58*/ 2 exp_redefining bit(1), /*59*/ 2 sync_in_rec bit(1), /*60*/ 2 filler61 bit(4), /*61*/ 2 sum_counter bit(1), /*65*/ 2 occurs_clause bit(1), /*66*/ 2 linage_counter bit(1), /*67*/ 2 rnm_01 bit(1), /*68*/ 2 aligned bit(1), /*69*/ 2 not_user_writable bit(1), /*70*/ 2 reserved bit(2), /*71*/ 2 pic_unsigned bit(1), /*73*/ 2 picture_clause bit(1), /*74*/ 2 sign_clause bit(1), /*75*/ 2 code_set_class1 bit(1), /*76*/ 2 value_clause bit(1), /*77*/ 2 usage_clause bit(1), /*78*/ 2 no_picture bit(1), /*79*/ 2 elem_no_value bit(1), /*80*/ 2 fig_zero bit(1), /*81*/ 2 inherit_value bit(1), /*82*/ 2 code_set bit(1), /*83*/ 2 assoc_with_signed_num_display bit(1), /*84*/ 2 pic_has_s bit(1), /*85*/ 2 filler5 bit(5); /*86*/ /*inheritable properties masks for description bits*/ dcl mask_descr bit(72) internal static init( "111111000001011000000000001111111110000001000100011100000000000000000100"b); /*inheritable properties mask for vector description bits 73-90(stored in htab entry)*/ dcl mask_minivector bit(18) internal static init("100100000110000000"b); /*upward inheritable properties mask for vector description bits 73-90*/ dcl mask_minivector_reverse bit(18) internal static init("000000000001000000"b); dcl any_item(1000) char(1) based; dcl anystring char(1000) based; dcl vectemp bit(128); dcl ptr6 ptr; dcl 1 vectempd based(ptr6), 2 descr bit(72), 2 minivector bit(18), 2 filler bit(38); /* file section data */ /***** picture processing data *****/ dcl cobol_c_list entry(ptr) ext; dcl cobol_ctbin entry(ptr,ptr,ptr,fixed bin) ext; dcl bit8_1 bit(8); dcl cobol_pic_val_comp entry(ptr,ptr) ext returns(fixed bin); dcl cobol_compare_values entry(ptr,ptr,fixed bin(24),ptr) ext returns(fixed bin); dcl character_tbl(7) char(1) internal static; dcl ptr7 ptr; dcl ptr8 ptr; dcl ptr9 ptr; dcl bit72 bit(72) based; dcl ptr10 ptr; dcl cobol_swf_get entry(ptr,bit(32),ptr,fixed bin) ext; dcl cobol_vdwf_dget entry(ptr,bit(32),ptr,fixed bin,char(5)) ext; dcl cobol_vdwf_dput entry(ptr,bit(32),ptr,fixed bin,char(5)) ext; dcl cobol_vdwf_sput entry(ptr,bit(32),ptr,fixed bin,char(5)) ext; dcl cobol_vdwf_sget entry(ptr,bit(32),ptr,fixed bin,char(5)) ext; dcl htbl_minivector_bs bit(18) based(ptr7); /* END INCLUDE FILE ... cobol_non_static.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 */