/* BEGIN INCLUDE FILE ... mseg_entries.incl.pl1 */ /* Created: April 1985 by G. Palter */ /* format: style3,linecom,idind30 */ /* Message segment primitive operations -- The first argument of all of these entrypoints is a pointer to the mseg_operation describing the segment and, when appropriate, the message to be manipulated by the operation. (See mseg_operation.incl.pl1 for additional information.) The last argument is always a standard system status code. For each operation defined below, the fields in the mseg_operation which must be supplied by the caller are listed along with a brief description of the additional arguments, if any. For greater detail on the use of these entrypoints, refer to mseg_mbx_ms_gate_target_.pl1 which is the classic user of these entrypoints. */ declare /*** Add (or update) ACL entries -- OP.mseg_pathname; general_extended_acl_ptr (I) */ mseg_$add_acl_entries_seg entry (pointer, pointer, fixed binary (35)); declare /*** Add a message -- OP.mseg_ptr, OP.access_info, OP.message_info */ mseg_$add_message entry (pointer, fixed binary (35)); declare /*** Change the names -- OP.mseg_pathname or OP.mseg_ptr; old_name_to_delete (I), new_name_to_add (I) */ mseg_$chname_seg entry (pointer, character (*), character (*), fixed binary (35)); declare /*** Close the segment -- OP.mseg_ptr (optional), OP.mseg_index (optional); mseg_index_table_ptr (I/O) mseg_index_table_ptr must be an internal/external static variable initialized once per-process to null() */ mseg_$close_seg entry (pointer, pointer, fixed binary (35)); declare /*** Compact the segment -- OP.mseg_ptr; compaction_ratio (I) */ mseg_$compact_seg entry (pointer, float binary, fixed binary (35)); declare /*** Copy the segment -- OP.mseg_ptr; target_mseg_operation_ptr (I) (TOP.mseg_ptr), error_on_target (O) */ mseg_$copy_seg entry (pointer, pointer, bit (1) aligned, fixed binary (35)); declare /*** Count the accessible messages -- OP.mseg_ptr, OP.access_info; n_messages (O) */ mseg_$count_messages entry (pointer, fixed binary, fixed binary (35)); declare /*** Create the segment -- OP.mseg_pathname; general_extended_acl_ptr (I) -- If general_extended_acl_ptr is null, the default ACL for the type of segment to be created will be used */ mseg_$create_seg entry (pointer, pointer, fixed binary (35)); declare /*** Delete ACL entries -- OP.mseg_pathname; general_delete_acl_ptr (I) -- If general_delete_acl_ptr is null, the entire ACL will be deleted */ mseg_$delete_acl_entries_seg entry (pointer, pointer, fixed binary (35)); declare /*** Delete a message -- OP.mseg_ptr, OP.access_info, OP.message_info */ mseg_$delete_message entry (pointer, fixed binary (35)); declare /*** Delete the segment -- OP.mseg_ptr (surprise); mseg_index_table_ptr (I/O) mseg_index_table_ptr must be an internal/external static variable initialized once per-process to null() */ mseg_$delete_seg entry (pointer, pointer, fixed binary (35)); declare /*** Get the salvaged flag -- OP.mseg_ptr; segment_was_salvaged (O) */ mseg_$get_salvaged_flag_seg entry (pointer, bit (1) aligned, fixed binary (35)); declare /*** Get the wakeup acceptance state -- OP.mseg_ptr, OP.wakeup_state.version */ mseg_$get_wakeup_state_seg entry (pointer, fixed binary (35)); declare /*** Initiate the segment -- OP.mseg_pathname */ mseg_$initiate_seg entry (pointer, fixed binary (35)); declare /*** List the entire ACL -- OP.mseg_pathname; general_extended_acl_ptr (O) The general_extended_acl is allocated in the system free area */ mseg_$list_acl_seg entry (pointer, pointer, fixed binary (35)); declare /*** List individual ACL entries -- OP.mseg_pathname; general_extended_acl_ptr (I) */ mseg_$list_acl_entries_seg entry (pointer, pointer, fixed binary (35)); declare /*** Open the segment -- OP.mseg_ptr; mseg_index_table_ptr (I/O) mseg_index_table_ptr must be an internal/external static variable initialized once per-process to null() */ mseg_$open_seg entry (pointer, pointer, fixed binary (35)); declare /*** Read (and optionally delete) a message -- OP.mseg_ptr, OP.access_info, OP.message_info; users_area_ptr (I) */ mseg_$read_message entry (pointer, pointer, fixed binary (35)); declare /*** Replace the ACL -- OP.mseg_pathname; general_extended_acl_ptr (I) -- If general_extended_acl_ptr is null, the new ACL will be empty */ mseg_$replace_acl_seg entry (pointer, pointer, fixed binary (35)); declare /*** Reset the salvaged flag -- OP.mseg_ptr, OP.access_info */ mseg_$reset_salvaged_flag_seg entry (pointer, fixed binary (35)); declare /*** Reset wakeup acceptance (i.e., turn it off) -- OP.mseg_ptr */ mseg_$reset_wakeup_state_seg entry (pointer, fixed binary (35)); declare /*** Set the max length -- OP.mseg_ptr (surprise); new_max_length (I) */ mseg_$set_max_length_seg entry (pointer, fixed binary (19), fixed binary (35)); declare /*** Set the safety switch -- OP.mseg_pathname or OP.mseg_ptr; new_safety_switch (I) */ mseg_$set_safety_switch_seg entry (pointer, bit (1) aligned, fixed binary (35)); declare /*** Set the wakeup acceptance state -- OP.mseg_ptr, OP.wakeup_state */ mseg_$set_wakeup_state_seg entry (pointer, fixed binary (35)); declare /*** Update a message -- OP.mseg_ptr, OP.access_info, OP.message_info */ mseg_$update_message entry (pointer, fixed binary (35)); /* END INCLUDE FILE ... mseg_entries.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 */