/* BEGIN INCLUDE FILE ... mseg_message.incl.pl1 */ /* Created: April 1985 by G. Palter from ms_block_hdr.incl.pl1 and ms_block_trailer.incl.pl1 */ /* format: style3,linecom */ /* NOTE: This include file references components of the mseg_segment structure which is defined separately in mseg_segment.incl.pl1. Programs which use this include file must also include mseg_segment.incl.pl1 to prevent compilation errors. */ /* Definition of the structure of a message stored in a message segment -- When a message is added to a message segment, it is split into one or more fixed sized blocks. These blocks are then allocated in the blocks space of the message segment. (See mseg_message.incl.pl1 and mseg_message_.pl1 for more information). Each block includes a header which records where the next block of the message, if any, resides and how many bits of data is actually recorded in the block. In addition, the first block allocated for a message always includes a message descriptor. This descriptor includes various pieces of information about the message such as its total length, access class, author, etc. */ /* Definition of the header found in all message blocks */ declare 1 message_block_header aligned based (mb_ptr), 2 next_block fixed binary (18) unaligned unsigned, 2 descriptor_present /* ON => a descriptor is in the last 22 words of the block */ bit (1) unaligned, 2 data_lth /* ... in bits */ fixed binary (17) unaligned unsigned; declare mb_ptr pointer; /* Definition of the descriptor for a message recorded in the first block of the message */ declare 1 message_descriptor aligned based (md_ptr), 2 sentinel bit (36) aligned, /* proves that this is a message descriptor */ 2 message_chain, /* the chronological chain of messages in the segment */ 3 next_message fixed binary (18) unaligned unsigned, 3 prev_message fixed binary (18) unaligned unsigned, 2 sender_level fixed binary (3) unaligned unsigned, 2 pad1 bit (5) unaligned, 2 prev_message_in_hash_chain fixed binary (18) unaligned unsigned, 2 pad2 bit (10) unaligned, 2 ms_id bit (72) aligned, 2 ms_len fixed binary (24) unaligned unsigned, 2 pad3 bit (12) unaligned, 2 sender_id char (32) aligned, 2 sender_authorization bit (72) aligned, 2 ms_access_class bit (72) aligned, 2 sender_max_authorization bit (72) aligned, 2 sender_process_id bit (36) aligned, 2 sender_audit bit (36) aligned; declare md_ptr pointer; declare MESSAGE_DESCRIPTOR_SENTINEL bit (36) aligned static options (constant) initial ("777777777777"b3); /* Definition of the first block allocated for a message in a message segment */ declare 1 first_message_block aligned based (mb_ptr), 2 header aligned like message_block_header, 2 data_space, 3 data bit (0 refer (first_message_block.data_lth)) unaligned, 3 pad bit (36 * (mseg_segment.block_size - currentsize (message_block_header) - currentsize (message_descriptor)) - first_message_block.data_lth) unaligned, 2 descriptor aligned like message_descriptor; /* Definition of all but the first block allocated for a message in a message segment */ declare 1 other_message_block aligned based (mb_ptr), 2 header aligned like message_block_header, 2 data_space, 3 data bit (0 refer (other_message_block.data_lth)) unaligned, 3 pad bit (36 * (mseg_segment.block_size - currentsize (message_block_header)) - other_message_block.data_lth) unaligned; /* END INCLUDE FILE ... mseg_message.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 */