dcl 1 uns_info based (addr (info)), /* info structure for unstructured files */ 2 info_version fixed, /* (Input) must =1--only one version currently supported */ 2 type fixed, /* =1 */ 2 end_pos fixed (34), /* length (bytes) not including header */ 2 flags aligned, 3 pad1 bit (2) unal, /* used for lock_status in other files */ 3 header_present bit (1) unal, /* on if file code is set */ 3 pad2 bit (33) unal, 2 header_id fixed (35); /* meaning is user defined */ dcl 1 seq_info based (addr (info)), /* info structure for sequential files */ 2 info_version fixed, 2 type fixed, /* =2 */ 2 end_pos fixed (34), /* record count */ 2 flags aligned, 3 lock_status bit (2) unal, /* 0,1,2, or 3 to indicate not locked, locked by (other,this,dead) process */ 3 pad bit (34) unal, 2 version fixed, /* end_pos valid only in latest version */ 2 action fixed; /* indicates if adjustment or rollback is needed */ dcl 1 blk_info based (addr (info)), /* info structure for blocked files */ 2 info_version fixed, 2 type fixed, /* =3 */ 2 end_pos fixed (34), /* record count */ 2 flags aligned, 3 lock_status bit (2) unal, /* same as seq_info.= */ 3 pad bit (34) unal, 2 version fixed, /* only one currently supported */ 2 action fixed, /* non-zero if truncation in progress, else =0 */ 2 max_rec_len fixed (21), /* bytes--determines characteristiWc block size */ 2 pad fixed, /* not used at this time */ 2 time_last_modified fixed (71); /* time stamp for synchronization */ dcl 1 indx_info based (addr (info)), /* info structure for indexed files */ 2 info_version fixed, 2 type fixed, /* =4 */ 2 records fixed (34), /* record count */ 2 flags aligned, 3 lock_status bit (2) unal, /* same as seq_info.= */ 3 pad bit (34) unal, 2 version_info aligned, 3 file_version fixed (17) unal, /* headers differ */ 3 program_version fixed (17) unal, /* may indicate bugs */ 2 action fixed, /* non-zero code indicates update in progress */ 2 non_null_recs fixed (34), /* count of allocated recs */ 2 record_bytes fixed (34), /* total record length */ 2 free_blocks fixed, /* available record blocks */ 2 index_height fixed, /* height of index tree (0 if empty) */ 2 nodes fixed, /* nodes being used in the index */ 2 key_bytes fixed (34), /* total length of keys */ 2 change_count fixed (35), /* bumped on each file modification */ 2 num_keys fixed (34), /* number of index entries */ 2 dup_keys fixed (34), /* 0 if all keys are distinct, else 1 for each dup */ 2 dup_key_bytes fixed (34), /* total bytes of duplicate keys */ 2 word (1) fixed; /* reserved for future use */ dcl 1 vbl_info based (addr (info)), /* info structure for variable files */ 2 info_version fixed, 2 type fixed, /* =5 */ 2 end_pos fixed (34), /* logical end of file--not necessarily allocation count */ 2 flags aligned, 3 lock_status bit (2) unal, /* same as seq_info.= */ 3 pad bit (34) unal, 2 version fixed, /* only one currently supported */ 2 action fixed, /* same as in indexed files */ 2 first_nz fixed (34), /* position (numeric key) for first allocated record */ 2 last_nz fixed (34), /* last allocated record position */ 2 change_count fixed (35); /* used for synchronization */ dcl vfs_version_1 static internal fixed init (1); /* should be used in assignments to info_version */ */ ----------------------------------------------------------- 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 */