/* BEGIN INCLUDE FILE dm_cm_entry_dcls.incl.pl1 */ /* DESCRIPTION: Contains entry declarations of internally available collection_manager_ entries. Entries which are only available via the collection_manager_ transfer vector are not included here, but are declared instead in dm_collmgr_entry_dcls.incl.pl1. */ /* HISTORY: Written by Mathew Pierret, 04/01/82. Modified: 09/21/82 by Lindsey Spratt: Added the cm_compact$replacement entry. 10/29/82 by Matthew Pierret: Added cm_find_free_slot, cm_determine_free_space, cm_find_ci_to_alloc_datum, cm_recursive_put. Added cm_get_element$info*, $header*. The former is used when the caller has a cm_info structure already; the latter is used to get collection headers. Added cm_opening_info$get. Removed cm_add_ci_(part thread). Added cm_allocate_element$info. 11/09/82 by Matthew Pierret: Added argument to cm_allocate_ordered_element calling sequence for returning free space. Added cm_free_cn_datum("" $header). 01/07/83 by Matthew Pierret: Added: cm_allocate_element$buffered("" _info); cm_put_element$buffered("" _info); cm_put_datum_in_place$buffered("" _continued); cm_put_datum_in_pool$buffered("" _continued); cm_compact$buffered. 01/26/83 by Matthew Pierret: Replaced cm_get_header_and_slot with cm_get_bci_header$slot and added cm_get_bci_header$slot_exclusive. Added cm_opening_info$get_storage_record. Added a bit(36)aligned argument to cm_recursive_put to hold the id of the previous datum. 02/02/83 by Matthew Pierret: Added fixed bin (17) argument to cm_find_free_slot which is for the number of slots after allocation. 02/07/83 by Matthew Pierret: Added cm_get_id$(id info info_return_slot header header_return_slot). Added cm_get_element_portion$(exclusive info info_exclusive). Added cm_get_element$bypass_info. 03/25/83 by Matthew Pierret: Added cm_free_element$info and cm_free_opening_info. 04/29/83 by Matthew Pierret: Added cm_put_element$unprotected_info 08/04/83 by Matthew Pierret: Added the entries $does_new_datum_fit and $does_replacement_fit to cm_determine_free_space. These entries return flags indicating if a datum fits in the ci and the pool. Added a bit(1)aligned parameter to cm_find_free_slot in which is returned the new value of bci_header.free_slot_is_present. 02/07/84 by Matthew Pierret: Added cm_get_id$ptr. Removed all cm_get_id modules except cm_get_id$id. Removed all cm_get_element$info* entries. Changed cm_get_element_$bypass_info to have the same calling sequence as other cm_get_element entries. 06/12/84 by Matthew Pierret: Changed cm_put_element to cm_modify and cm_allocate_element to cm_put. Switched the element_length/element_ptr parameter pair to be element_ptr/element_length in cm_modify and cm_put. 07/24/84 by Matthew Pierret: Added cm_free_ci$raw_return_prev_next. 09/24/84 by Matthew Pierret: Added trace_thread_modifications_(on off) entries to cm_free_ci and cm_replace_buffered_ci, cm_allocate_ci$info_header, cm_opening_info$opening_table_ptr. Removed cm_find_free_space. Commented out un-used entries. Re-named allocate entries to put entries, except for allocate_ci. Re-named free element and free datum entries to use delete instead of free, and cm_recursive_put to cm_recursive_modify. Removed cm_get_element$bypass_info. 02/27/85 by Matthew C. Pierret: Re-added cm_compact$buffered_replacement now that cm_modify$buffered uses it. 03/07/85 by R. Michael Tague: Added cm_postcommit_increment. */ /* format: style2,ind3 */ dcl cm_allocate_ci entry (bit (36) aligned, bit (36) aligned, fixed bin (24) unsigned, fixed bin (35)); dcl cm_allocate_ci$info entry (ptr, fixed bin (24) unsigned, fixed bin (35)); dcl cm_allocate_ci$info_header entry (ptr, fixed bin (24) unsigned, ptr, fixed bin (35)); dcl cm_compact entry (bit (36) aligned, fixed bin (17), bit (36) aligned, ptr, fixed bin (35)); dcl cm_compact$buffered entry (ptr, fixed bin (17), bit (36) aligned, fixed bin (35)); dcl cm_compact$replacement entry (bit (36) aligned, fixed bin (17), bit (36) aligned, ptr, fixed bin (35)); dcl cm_compact$buffered_replacement entry (ptr, fixed bin (17), bit (36) aligned, fixed bin (35)); dcl cm_delete_cn_datum entry (ptr, bit (1) aligned, bit (36) aligned, fixed bin (35)); dcl cm_delete_cn_datum$header entry (ptr, ptr, ptr, bit (1) aligned, bit (36) aligned, fixed bin (35)); dcl cm_delete entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, bit (1) aligned, fixed bin (35)); dcl cm_delete$info entry (ptr, bit (36) aligned, bit (1) aligned, fixed bin (35)); dcl cm_determine_free_space$all entry (ptr, fixed bin (35), fixed bin (35), fixed bin (35)); dcl cm_determine_free_space$effective entry (ptr, fixed bin (35), bit (1) aligned, bit (1) aligned, fixed bin (35), fixed bin (35)); dcl cm_determine_free_space$does_new_datum_fit entry (ptr, fixed bin (35), fixed bin (35), bit (1) aligned, bit (1) aligned, bit (1) aligned, bit (1) aligned, fixed bin (35)); /**** Not yet used ********************************************************* dcl cm_determine_free_space$does_replacement_fit entry (ptr, fixed bin (35), fixed bin (35), fixed bin (35), bit (1) aligned, bit (1) aligned, bit (1) aligned, bit (1) aligned, fixed bin (35)); ************************************************************************** */ dcl cm_find_ci_to_alloc_datum entry (ptr, fixed bin (35), fixed bin (24) uns, bit (1) aligned, bit (1) aligned, ptr, fixed bin (24) uns, fixed bin (35)); dcl cm_find_free_slot entry (bit (36) aligned, fixed bin (24) uns, ptr, fixed bin (17), fixed bin (17), bit (1) aligned, fixed bin (35)); dcl cm_free_ci$info entry (ptr, fixed bin (24) uns, bit (1) aligned, fixed bin (35)); dcl cm_free_ci$raw_return_prev_next entry (ptr, fixed bin (24) uns, bit (1) aligned, fixed bin (24) uns, fixed bin (24) uns, fixed bin (35)); dcl cm_free_ci$trace_thread_modifications_on entry (); dcl cm_free_ci$trace_thread_modifications_off entry (); dcl cm_free_opening_info entry (bit (36) aligned, bit (36) aligned, fixed bin (35)); dcl cm_get_bci_header entry (bit (36) aligned, uns fixed bin (24), ptr, fixed bin (35)); dcl cm_get_bci_header$exclusive entry (bit (36) aligned, uns fixed bin (24), ptr, fixed bin (35)); dcl cm_get_bci_header$slot entry (bit (36) aligned, ptr, ptr, bit (36) aligned, fixed bin (35)); /**** Not yet used ******************************************************** dcl cm_get_bci_header$slot_exclusive entry (bit (36) aligned, ptr, ptr, bit (36) aligned, fixed bin (35)); ************************************************************************** */ dcl cm_get_element entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin (17), ptr, fixed bin (35), ptr, bit (1) aligned, ptr, fixed bin (35), fixed bin (35)); dcl cm_get_element$exclusive entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin, ptr, fixed bin (35), ptr, bit (1) aligned, ptr, fixed bin (35), fixed bin (35)); dcl cm_get_element_portion entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin (17), ptr, fixed bin (35), ptr, fixed bin (35), fixed bin (35), bit (1) aligned, ptr, fixed bin (35), fixed bin (35)); /**** Not yet used ******************************************************** dcl cm_get_element_portion$exclusive entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin (17), ptr, fixed bin (35), ptr, fixed bin (35), fixed bin (35), bit (1) aligned, ptr, fixed bin (35), fixed bin (35)); ************************************************************************** */ dcl cm_get_id$id entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin, bit (1) aligned, bit (36) aligned, fixed bin (35)); dcl cm_get_id$ptr entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin, bit (1) aligned, ptr, ptr, bit (36) aligned, fixed bin (35)); dcl cm_modify entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35)); dcl cm_modify$buffered entry (ptr, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35)); /******* Not yet used ***************************************************** dcl cm_modify$buffered_info entry (ptr, ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35)); ****************************************************************************/ dcl cm_modify$info entry (ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35)); dcl cm_modify$unprotected_info entry (ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35)); /******* Not yet used ***************************************************** dcl cm_modify_portion entry (bit (36) aligned, bit (36) aligned, fixed bin (35), fixed bin (35), fixed bin (35), ptr, bit (36) aligned, fixed bin (35), fixed bin (35)); ****************************************************************************/ dcl cm_opening_info$get entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35)); dcl cm_opening_info$get_storage_record entry (ptr, fixed bin (35)); dcl cm_opening_info$full_get entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35)); dcl cm_opening_info$opening_table_ptr entry () returns (ptr); dcl cm_postcommit_increment entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35)); dcl cm_put entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35)); dcl cm_put$buffered entry (ptr, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35)); /******* Not yet used ***************************************************** dcl cm_put$buffered_info entry (ptr, ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35)); ****************************************************************************/ dcl cm_put$info entry (ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35)); dcl cm_put_basic_element entry (ptr, ptr, fixed bin (35), ptr, bit (36) aligned, fixed bin (35), fixed bin (35)); dcl cm_put_cn_datum entry (ptr, ptr, fixed bin (35), bit (36) aligned, bit (36) aligned, fixed bin (35)); dcl cm_put_datum_in_place entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), ptr, ptr, fixed bin (35)); dcl cm_put_datum_in_place$buffered entry (ptr, ptr, fixed bin (35), ptr, fixed bin (35)); dcl cm_put_datum_in_place$buffered_continued entry (ptr, ptr, fixed bin (35), ptr, fixed bin (35), bit (36) aligned, fixed bin (35)); dcl cm_put_datum_in_place$continued entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35)); dcl cm_put_datum_in_pool entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), ptr, ptr, fixed bin (35)); dcl cm_put_datum_in_pool$buffered entry (ptr, ptr, fixed bin (35), ptr, fixed bin (35)); dcl cm_put_datum_in_pool$buffered_continued entry (ptr, ptr, fixed bin (35), ptr, fixed bin (35), bit (36) aligned, fixed bin (35)); dcl cm_put_datum_in_pool$continued entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35)); dcl cm_put_ordered_element entry (ptr, ptr, fixed bin (35), ptr, bit (36) aligned, fixed bin (35), fixed bin (35)); dcl cm_put_ordered_element$buffered entry (ptr, ptr, fixed bin (35), ptr, bit (36) aligned, fixed bin (35), fixed bin (35)); dcl cm_put_overlength_tail entry (ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35)); dcl cm_recursive_modify entry (ptr, bit (36) aligned, ptr, fixed bin (35), fixed bin (35), bit (36) aligned, fixed bin (35)); dcl cm_replace_buffered_ci$trace_thread_modifications_on entry (); dcl cm_replace_buffered_ci$trace_thread_modifications_off entry (); /* END INCLUDE FILE dm_cm_entry_dcls.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 */