" *********************************************************** " * * " * Copyright, (C) Honeywell Information Systems Inc., 1983 * " * * " *********************************************************** " " " DESCRIPTION: " " This is the data management system's (DMS) user gate. It allows " user processes running in rings >= the DM ring to access all " unprivileged, inner-ring DM programs for all DM managers (e.g., " file_manager_). An entry in this gate for a particular DM inner ring " manager will be prefixed with the manager's initials (e.g., fm_ for " file_manager_ entries). Any general DM inner ring call will start " with "dm_". " " NOTE: users should not call this gate directly, but let an inner " ring manager's main transfer vector do it if required (e.g., " transaction_manager_$abandon_txn will call dm_gate_$tm_abandon_txn for " the user). General DM calls not part of any particular manager, " DMS administration, or the DMS daemon use this gate. " " HISTORY: " Written by M. Pandolf, 05/06/83. " Modified: " 08/17/83 by M. Pandolf: to add get_system_data. " 12/14/83 by Lee A. Baldwin: changed fm_validate to transfer to fm_validate_ " instead of to fm_inner_ring_tv_. This is so that validate " will not cause the first reference trap to be invoked. " 12/22/83 by Matthew Pierret: Removed acl_delete, acl_list and acl_replace " entries as they are unused. The acl_add entry should also be " removed when before_journal_manager_ is taught to use " file_mnager_$add_acl_entries instead of $acl_add. " 01/06/84 by Matthew Pierret: Removed the obsolete delentry_file. " 01/03/83 by Lee A. Newcomb: merged all unprivileged DM gates into here. " 01/27/84 by S. Herbst: Added tm_get_state_description, tm_user_shutdown. " 02/01/84 by Matthew Pierret: Added fm_get_ci_ptr and fm_terminate_ci_ptr. " 03/16/84 by S. Herbst: Removed tm_get_state_description, won't use a gate. " 03/28/84 by Lee A. Newcomb: Removed tm_user_shutdown. " 04/06/84 by R. Michael Tague: Removed 21 before journal gates. " bjm_adjust_process_id and bjm_flush_all now call through " dm_daemon_gate_. The other 19 are now inner ring only calls. " 04/19/84 by R. Michael Tague: Removed bjm_get_bj_path_from_uid entry. " 05/03/84 by Lee A. Newcomb: Re-added $tm_user_shutdown and added " $dm_is_process_using_dm. " 05/21/84 by R. Michael Tague: For File Manager, removed $acl_delete, " $acl_list, and $acl_replace. Moved $adopt and " $open_by_uid_after_crash to dm_daemon_gate_. Changed " $put_journal, $undo, and $unput to call within the inner " ring and not gate. Changed the $fetch and $get entries to " $simple_get and $simple_put. " 06/25/84 by Matthew Pierret: Removed $fm_acl_add. " 08/02/84 by Lee A. Newcomb: Added entries $dm_get_system_state, " $dm_get_user_shutdown_time, and $dm_get_shutdown_reason " 10/01/84 by Lee A. Newcomb: Added entries $dm_get_(begin_shutdown " shutdown_warning)_time and $dm_set_system_dir. " 10/26/84 by Steve Herbst: Fixed $status arg count from 3 to 4. " 11/19/84 by Lee A. Newcomb: Added dm_get_(aim bootload " enabled_bootload_dirname system)_dir, fixed # of args for " directory handling entries to be 1, and changed references to " dm_aim_dir_util_ to dm_no_inner_ring_tv_. " 11/20/84 by Matthew Pierret: Added $fm_put_stream, $fm_get_stream, " $fm_get_bit_count, $fm_get_ring_brackets, " $fm_list_extended_acl, $fm_add_extended_acl_entries, " $fm_replace_extended_acl, $fm_set_ring_brackets. " Changed to go through fm_firstref_tv_ (instead of " fm_inner_ring_tv_) and fm_no_firstref_tv_. " Removed $open_by_uid_after_crash (it's in dm_daemon_gate_). " 11/28/84 by Stanford S. Cox: Chg *inner_ring_tv_ to =firstref_tv_ " 12/07/84 by Lindsey Spratt: Added dm_get_initialization_time. Removed " $dm_get_system_data. " 12/14/84 by Lee A. Newcomb: Added calls to bjm_no_firstref_tv_, currently " only containing support for suffix_bj_. Also fixed argument " counts for $fm_(add_extended_acl_entries get_stream put_stream). " 12/21/84 by Matthew Pierret: Correctly set the number of arguments on " fm_add_acl_entries, fm_delete_acl_entries, fm_list_acl, " fm_list_extended_acl, fm_list_switches, fm_replace_acl and " fm_replace_extended_acl. " 01/03/85 by Lee A. Newcomb: Removed the commented out fm_delentry_file " line to avoid further confusion from it. " 01/25/85 by Lindsey Spratt: Added the dm_get_system_version entry. " 02/15/85 by Lindsey Spratt: Changed dm_get_system_version to have 2 " arguments. " 03/20/85 by Lee A. Newcomb: Added $bjm_set_txn_storage_limit. " 03/29/85 by R. Michael Tague: Added $fm_postcommit_increment. " 04/17/85 by Lee A. Newcomb: Renamed $tm_user_shutdown to $=_real as " tm_$user_shutdown now calls tm_$user_shutdown_real to gate in. " """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" name dm_gate_ include gate_macros gate_info " Before Journal Manager entries: gate bjm_add_acl_entries,bjm_no_firstref_tv_,add_acl_entries,4 gate bjm_chname_file,bjm_no_firstref_tv_,chname_file,5 gate bjm_close_bj,bjm_firstref_tv_,close_bj,2 gate bjm_create_bj,bjm_firstref_tv_,create_bj,5 gate bjm_delete_acl_entries,bjm_no_firstref_tv_,delete_acl_entries,4 gate bjm_delete_bj,bjm_firstref_tv_,delete_bj,3 gate bjm_get_bj_oid,bjm_firstref_tv_,get_bj_oid,4 gate bjm_get_bj_path_from_oid,bjm_firstref_tv_,get_bj_path_from_oid,4 gate bjm_get_default_bj,bjm_firstref_tv_,get_default_bj,2 gate bjm_get_journal_status,bjm_firstref_tv_,get_journal_status,6 gate bjm_get_user_access_modes,bjm_no_firstref_tv_,get_user_access_modes,7 gate bjm_list_acl,bjm_no_firstref_tv_,list_acl,6 gate bjm_open_bj,bjm_firstref_tv_,open_bj,4 gate bjm_replace_acl,bjm_no_firstref_tv_,replace_acl,5 gate bjm_set_default_bj,bjm_firstref_tv_,set_default_bj,2 gate bjm_set_txn_storage_limit,bjm_firstref_tv_,set_transaction_storage_limit,4 gate bjm_validate,bjm_no_firstref_tv_,validate,3 " General DM entries: gate dm_get_aim_dir,dm_no_firstref_tv_,get_aim_dir,1 gate dm_get_bootload_dir,dm_no_firstref_tv_,get_bootload_dir,1 gate dm_get_begin_shutdown_time,dm_firstref_tv_,get_begin_shutdown_time,1 gate dm_get_enabled_boot_dirname,dm_no_firstref_tv_,get_enabled_bootload_dirname,1 gate dm_get_initialization_time,dm_firstref_tv_,get_initialization_time,1 gate dm_get_shutdown_reason,dm_firstref_tv_,get_shutdown_reason,1 gate dm_get_shutdown_warning_time,dm_firstref_tv_,get_shutdown_warning_time,1 gate dm_get_system_dir,dm_no_firstref_tv_,get_system_dir,1 gate dm_get_system_state,dm_firstref_tv_,get_system_state,1 gate dm_get_system_version,dm_firstref_tv_,get_system_version,2 gate dm_get_user_shutdown_time,dm_firstref_tv_,get_user_shutdown_time,1 gate dm_is_process_using_dm,dm_no_firstref_tv_,using_dm,1 gate dm_set_system_dir,dm_no_firstref_tv_,set_system_dir,1 " File Manager entries gate fm_add_acl_entries,fm_no_firstref_tv_,add_acl_entries,4 gate fm_add_extended_acl_entries,fm_no_firstref_tv_,add_extended_acl_entries,4 gate fm_allocate,fm_firstref_tv_,allocate,4 gate fm_chname_file,fm_firstref_tv_,chname_file,5 gate fm_close,fm_firstref_tv_,close,2 gate fm_create,fm_firstref_tv_,create,4 gate fm_create_open,fm_firstref_tv_,create_open,5 gate fm_delete,fm_firstref_tv_,delete,3 gate fm_delete_acl_entries,fm_no_firstref_tv_,delete_acl_entries,4 gate fm_delete_close,fm_firstref_tv_,delete_close,2 gate fm_flush_consecutive_ci,fm_firstref_tv_,flush_consecutive_ci,4 gate fm_flush_modified_ci,fm_firstref_tv_,flush_modified_ci,3 gate fm_free,fm_firstref_tv_,free,4 gate fm_get,fm_firstref_tv_,get,4 gate fm_get_bit_count,fm_no_firstref_tv_,get_bit_count,4 gate fm_get_ci_header,fm_firstref_tv_,get_ci_header,4 gate fm_get_ci_ptr,fm_firstref_tv_,get_ci_ptr,4 gate fm_get_exclusive,fm_firstref_tv_,get_exclusive,4 gate fm_get_max_length,fm_no_firstref_tv_,get_max_length,4 gate fm_get_ring_brackets,fm_no_firstref_tv_,get_ring_brackets,4 gate fm_get_stream,fm_firstref_tv_,get_stream,5 gate fm_get_switch,fm_firstref_tv_,get_switch,5 gate fm_get_user_access_modes,fm_no_firstref_tv_,get_user_access_modes,7 gate fm_list_acl,fm_no_firstref_tv_,list_acl,6 gate fm_list_extended_acl,fm_no_firstref_tv_,list_extended_acl,6 gate fm_list_switches,fm_no_firstref_tv_,list_switches,4 gate fm_lock_advice,fm_firstref_tv_,lock_advice,3 gate fm_open,fm_firstref_tv_,open,4 gate fm_open_by_uid,fm_firstref_tv_,open_by_uid,3 gate fm_postcommit_increment,fm_firstref_tv_,postcommit_increment,4 gate fm_prepare_to_copy,fm_firstref_tv_,prepare_to_copy,4 gate fm_put,fm_firstref_tv_,put,4 gate fm_put_stream,fm_firstref_tv_,put_stream,5 gate fm_raw_get,fm_firstref_tv_,raw_get,4 gate fm_raw_put,fm_firstref_tv_,raw_put,4 gate fm_replace_acl,fm_no_firstref_tv_,replace_acl,5 gate fm_replace_extended_acl,fm_no_firstref_tv_,replace_extended_acl,5 gate fm_set_bit_count,fm_no_firstref_tv_,set_bit_count,4 gate fm_set_max_length,fm_no_firstref_tv_,set_max_length,4 gate fm_set_ring_brackets,fm_firstref_tv_,set_ring_brackets,4 gate fm_set_switch,fm_no_firstref_tv_,set_switch,5 gate fm_simple_get,fm_firstref_tv_,simple_get,6 gate fm_simple_put,fm_firstref_tv_,simple_put,6 gate fm_status,fm_firstref_tv_,status,4 gate fm_sub_err_flag_get,fm_firstref_tv_,sub_err_flag_get,1 gate fm_sub_err_flag_set,fm_firstref_tv_,sub_err_flag_set,1 gate fm_suffix_info,fm_no_firstref_tv_,suffix_info,1 gate fm_terminate_ci_ptr,fm_firstref_tv_,terminate_ci_ptr,4 gate fm_validate,fm_no_firstref_tv_,validate,3 " Lock Manager entries " There are currently no unprivleged lock_manager_ entries. " Watch this space for further developments. " Transaction Manager entries gate tm_abandon_txn,tm_firstref_tv_,abandon_txn,2 gate tm_abort_txn,tm_firstref_tv_,abort_txn,2 gate tm_adjust_tdt,tm_firstref_tv_,adjust_tdt,0 gate tm_adjust_txn,tm_firstref_tv_,adjust_txn,2 gate tm_begin_txn,tm_firstref_tv_,begin_txn,4 gate tm_commit_txn,tm_firstref_tv_,commit_txn,2 gate tm_get_current_ids,tm_firstref_tv_,get_current_ids,4 gate tm_get_current_txn_id,tm_firstref_tv_,get_current_txn_id,2 gate tm_get_tdt_size,tm_firstref_tv_,get_tdt_size,1 gate tm_get_txn_index,tm_firstref_tv_,get_txn_index,3 gate tm_get_txn_info,tm_firstref_tv_,get_txn_info,3 gate tm_get_txn_info_index,tm_firstref_tv_,get_txn_info_index,3 gate tm_resume_txn,tm_firstref_tv_,resume_txn,1 gate tm_rollback_txn,tm_firstref_tv_,rollback_txn,3 gate tm_suspend_txn,tm_firstref_tv_,suspend_txn,1 gate tm_user_shutdown_real,tm_no_firstref_tv_,user_shutdown_real,3 end " " " ----------------------------------------------------------- " " " " 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 " "