/* BEGIN INCLUDE FILE mdbm_file_model_init.incl.pl1 -- rbh 6/22/82 */ /****^ HISTORY COMMENTS: 1) change(82-10-12,DWoodka), approve(), audit(), install(): Modified for DMS conversion - added primary_key_index_id to init_rel_info, and changed init_rel_info.id to be bit (36) instead of bit (12). Deleted child_link_ptr and parent_link_ptr, no longer needed. 2) change(85-12-03,Spitzer), approve(85-12-03,MCR7311), audit(86-09-02,Blair), install(86-10-16,MR12.0-1187): added (file_model relation)_copy_good fields for rmdb. END HISTORY COMMENTS */ /* From mdbm_file_model.incl.pl1 */ dcl 1 init_file_model aligned internal static options (constant), /* base of segment */ 2 temporary bit (1) unal init ("0"b), /* on if file not part of db. */ 2 procedures_present bit (1) unal init ("0"b), /* on => ids procedures present */ 2 file_model_copy_good bit (1) unaligned init ("0"b), /* on => .m file is the good copy */ 2 relation_copy_good bit (1) unaligned init ("0"b), /* on => file is the good copy */ 2 reserved bit (32) unal init ("0"b), /* reserved for future flags */ 2 max_tuples fixed bin (35) init (0), /* not used */ 2 num_blocks fixed bin (35) init (0), /* not used */ 2 num_buckets fixed bin (35) init (0), /* not used */ 2 pad_1 fixed bin (35) init (0), /* for future use */ 2 pad_2 fixed bin (35) init (0), 2 ratd_len fixed bin (21) init (0), /* useless garbage */ 2 mratd_len fixed bin (21) init (0), /* useless garbage */ 2 uatd_len fixed bin (21) init (0), /* useless garbage */ 2 latd_len fixed bin (21) init (0), /* useless garbage */ 2 sratd_len fixed bin (21) init (0), /* useless garbage */ 2 suatd_len fixed bin (21) init (0), /* useless garbage */ 2 file_type unal fixed bin init (1), /* 1 */ 2 block_size unal fixed bin init (0), /* not used */ 2 block_factor unal fixed bin init (0), /* not used */ 2 bucket_density unal fixed bin init (0), /* not used */ 2 tuple_id_len unal fixed bin init (36), /* always 36? */ 2 num_rels unal fixed bin init (1), /* always 1 */ 2 num_links unal fixed bin init (0), /* not used */ 2 num_children unal fixed bin init (0), /* not used */ 2 default_rbs (3) unal fixed bin (8) init (4,4,4), /* file ring brackets when not MDBM-secured */ 2 rel_ptr unal bit (18) init ((18)"1"b), /* to first of list of rel_infos */ 2 link_ptr unal bit (18) init ((18)"1"b), /* always null */ 2 children_ptr unal bit (18) init ((18)"1"b), /* always null */ 2 cno_array_ptr unal bit (18) init ((18)"1"b), /* always null */ 2 fi_ptr unal bit (18) init ((18)"1"b), /* offset to file_info in db_model */ 2 suatd_ptr unal bit (18) init ((18)"1"b), /* garbage */ 2 sratd_ptr unal bit (18) init ((18)"1"b), /* garbage */ 2 latd_ptr unal bit (18) init ((18)"1"b), /* garbage */ 2 uatd_ptr unal bit (18) init ((18)"1"b), /* garbage */ 2 mratd_ptr unal bit (18) init ((18)"1"b), /* garbage */ 2 ratd_ptr unal bit (18) init ((18)"1"b), /* garbage */ 2 ptr_pad unal bit (9) init ((9)"1"b), /* align to half-word value */ 2 unused_ptr_space unal bit (18) dimension (28) init ((28)(18)"1"b), /* free ptr space */ 2 ptr_pad2 unal bit (9) init ((9)"1"b), /* align to byte */ 2 changer_ptr unal bit (18) init ((18)"1"b); /* pointer to changer_id, changer_time structure */ dcl 1 like_file_model aligned based (fm_ptr) like init_file_model; /* base of segment */ dcl 1 init_rel_info aligned internal static options (constant), 2 name char (32) init (""), /* relation name */ 2 id aligned bit (36) init ("000000000000000000000000000000000001"b), /* relation id number */ 2 hashed bit (1) unal init ("0"b), /* on if hashed */ 2 duplicates bit (1) unal init ("0"b), /* on if allow dup. hash fields */ 2 via_link bit (1) unal init ("0"b), /* on if to be stored by parent */ 2 system bit (1) unal init ("0"b), /* on if dont care how stored */ 2 indexed bit (1) unal init ("0"b), /* on if secondary index */ 2 mrds_update bit (1) unal init ("1"b), /* on if updateable by MRDS */ 2 mrds_retrieve bit (1) unal init ("1"b), /* on if retrievable by MRDS */ 2 virtual bit (1) unal init ("0"b), /* if virtual relation, mapped on IDS records */ 2 procedures_present bit (1) unal init ("0"b),/* on => ids type procedures present */ 2 reserved bit (27) unal init ("0"b), /* for future flags */ 2 num_attr unal fixed bin init (0), /* number of attributes (all levels) defined */ 2 num_links_child unal fixed bin init (0), /* no. links in which child */ 2 num_links_par unal fixed bin init (0), /* no. links_in which parent */ 2 max_attr_index_id unal fixed bin init (0), /* max index id used by attr in this rel or PLI */ 2 num_key_attrs unal fixed bin init (0), /* number of attributes in primary key for this rel */ 2 nvar_atts unal fixed bin init (0), /* no. varying len. attributes */ 2 n36_thds unal fixed bin init (0), /* no. of 36-bit threads */ 2 n27_thds unal fixed bin init (0), /* no of 27-bit threads */ 2 n18_thds unal fixed bin init (0), /* no of 18-bit threads */ 2 unused_3 unal fixed bin init (0), /* element that was never used */ 2 max_data_len fixed bin (35) init (0), /* max length of data portion of tuple */ 2 avg_data_len fixed bin (35) init (0), /* average length of tuple data portion */ 2 max_key_len fixed bin (35) init (0), /* max key length if not hashed */ 2 var_offset fixed bin (35) init (1), /* position of first varying attr. */ 2 max_tuples fixed bin (35) init (0), /* max no. tuples if blocked file */ 2 fwd_thread unal bit (18) init ((18)"1"b), /* offset to next rel. in file */ 2 attr_ptr unal bit (18) init ((18)"1"b), /* to attr. info */ 2 primary_key_index_id bit (36) aligned init ("000000000000000000000000000000000001"b), 2 clink_ptr unal bit (18) init ((18)"1"b),/* offset to child info of link determining location */ 2 map_ptr unal bit (18) init ((18)"1"b), /* pointer to mapping info if virtual rel. */ 2 sec_ind_ptr unal bit (18) init ((18)"1"b), /* ptr to list of sec. ind. infos, init. not used */ 2 locator_proc_path_ptr unal bit (18) init ((18)"1"b), /* proc to determ. location */ 2 link_before_path_ptr unal bit (18) init ((18)"1"b), /* op. proc. paths and entries */ 2 link_err_path_ptr unal bit (18) init ((18)"1"b), 2 link_after_path_ptr unal bit (18) init ((18)"1"b), 2 unlk_before_path_ptr unal bit (18) init ((18)"1"b), 2 unlk_err_path_ptr unal bit (18) init ((18)"1"b), 2 unlk_after_path_ptr unal bit (18) init ((18)"1"b), 2 str_before_path_ptr unal bit (18) init ((18)"1"b), 2 str_err_path_ptr unal bit (18) init ((18)"1"b), 2 str_after_path_ptr unal bit (18) init ((18)"1"b), 2 del_before_path_ptr unal bit (18) init ((18)"1"b), 2 del_err_path_ptr unal bit (18) init ((18)"1"b), 2 del_after_path_ptr unal bit (18) init ((18)"1"b), 2 mod_before_path_ptr unal bit (18) init ((18)"1"b), 2 mod_err_path_ptr unal bit (18) init ((18)"1"b), 2 mod_after_path_ptr unal bit (18) init ((18)"1"b), 2 find_before_path_ptr unal bit (18) init ((18)"1"b), 2 find_err_path_ptr unal bit (18) init ((18)"1"b), 2 find_after_path_ptr unal bit (18) init ((18)"1"b), 2 retr_before_path_ptr unal bit (18) init ((18)"1"b), 2 retr_err_path_ptr unal bit (18) init ((18)"1"b), 2 retr_after_path_ptr unal bit (18) init ((18)"1"b), 2 unused_1 unal bit (18) init ((18)"1"b), /* for future expansion */ 2 unused_2 unal bit (18) init ((18)"1"b), 2 changer_ptr unal bit (18) init ((18)"1"b); /* pointer to changer_id, changer_time structure */ /* END INCLUDE FILE mdbm_file_model_init.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 */