1 " ***********************************************************
2 " * *
3 " * Copyright, C Honeywell Information Systems Inc., 1983 *
4 " * *
5 " ***********************************************************
6 "
7 "
8 " DESCRIPTION:
9 "
10 " This is the data management system's DMS user gate. It allows
11 " user processes running in rings >= the DM ring to access all
12 " unprivileged, inner-ring DM programs for all DM managers e.g.
13 " file_manager_. An entry in this gate for a particular DM inner ring
14 " manager will be prefixed with the manager's initials e.g. fm_ for
15 " file_manager_ entries. Any general DM inner ring call will start
16 " with "dm_".
17 "
18 " NOTE: users should not call this gate directly, but let an inner
19 " ring manager's main transfer vector do it if required e.g.
20 " transaction_manager_$abandon_txn will call dm_gate_$tm_abandon_txn for
21 " the user. General DM calls not part of any particular manager,
22 " DMS administration, or the DMS daemon use this gate.
23 "
24 " HISTORY:
25 " Written by M. Pandolf, 05/06/83.
26 " Modified:
27 " 08/17/83 by M. Pandolf: to add get_system_data.
28 " 12/14/83 by Lee A. Baldwin: changed fm_validate to transfer to fm_validate_
29 " instead of to fm_inner_ring_tv_. This is so that validate
30 " will not cause the first reference trap to be invoked.
31 " 12/22/83 by Matthew Pierret: Removed acl_delete, acl_list and acl_replace
32 " entries as they are unused. The acl_add entry should also be
33 " removed when before_journal_manager_ is taught to use
34 " file_mnager_$add_acl_entries instead of $acl_add.
35 " 01/06/84 by Matthew Pierret: Removed the obsolete delentry_file.
36 " 01/03/83 by Lee A. Newcomb: merged all unprivileged DM gates into here.
37 " 01/27/84 by S. Herbst: Added tm_get_state_description, tm_user_shutdown.
38 " 02/01/84 by Matthew Pierret: Added fm_get_ci_ptr and fm_terminate_ci_ptr.
39 " 03/16/84 by S. Herbst: Removed tm_get_state_description, won't use a gate.
40 " 03/28/84 by Lee A. Newcomb: Removed tm_user_shutdown.
41 " 04/06/84 by R. Michael Tague: Removed 21 before journal gates.
42 " bjm_adjust_process_id and bjm_flush_all now call through
43 " dm_daemon_gate_. The other 19 are now inner ring only calls.
44 " 04/19/84 by R. Michael Tague: Removed bjm_get_bj_path_from_uid entry.
45 " 05/03/84 by Lee A. Newcomb: Re-added $tm_user_shutdown and added
46 " $dm_is_process_using_dm.
47 " 05/21/84 by R. Michael Tague: For File Manager, removed $acl_delete,
48 " $acl_list, and $acl_replace. Moved $adopt and
49 " $open_by_uid_after_crash to dm_daemon_gate_. Changed
50 " $put_journal, $undo, and $unput to call within the inner
51 " ring and not gate. Changed the $fetch and $get entries to
52 " $simple_get and $simple_put.
53 " 06/25/84 by Matthew Pierret: Removed $fm_acl_add.
54 " 08/02/84 by Lee A. Newcomb: Added entries $dm_get_system_state,
55 " $dm_get_user_shutdown_time, and $dm_get_shutdown_reason
56 " 10/01/84 by Lee A. Newcomb: Added entries $dm_get_begin_shutdown
57 " shutdown_warning_time and $dm_set_system_dir.
58 " 10/26/84 by Steve Herbst: Fixed $status arg count from 3 to 4.
59 " 11/19/84 by Lee A. Newcomb: Added dm_get_aim bootload
60 " enabled_bootload_dirname system_dir, fixed # of args for
61 " directory handling entries to be 1, and changed references to
62 " dm_aim_dir_util_ to dm_no_inner_ring_tv_.
63 " 11/20/84 by Matthew Pierret: Added $fm_put_stream, $fm_get_stream,
64 " $fm_get_bit_count, $fm_get_ring_brackets,
65 " $fm_list_extended_acl, $fm_add_extended_acl_entries,
66 " $fm_replace_extended_acl, $fm_set_ring_brackets.
67 " Changed to go through fm_firstref_tv_ instead of
68 " fm_inner_ring_tv_ and fm_no_firstref_tv_.
69 " Removed $open_by_uid_after_crash it's in dm_daemon_gate_.
70 " 11/28/84 by Stanford S. Cox: Chg *inner_ring_tv_ to =firstref_tv_
71 " 12/07/84 by Lindsey Spratt: Added dm_get_initialization_time. Removed
72 " $dm_get_system_data.
73 " 12/14/84 by Lee A. Newcomb: Added calls to bjm_no_firstref_tv_, currently
74 " only containing support for suffix_bj_. Also fixed argument
75 " counts for $fm_add_extended_acl_entries get_stream put_stream.
76 " 12/21/84 by Matthew Pierret: Correctly set the number of arguments on
77 " fm_add_acl_entries, fm_delete_acl_entries, fm_list_acl,
78 " fm_list_extended_acl, fm_list_switches, fm_replace_acl and
79 " fm_replace_extended_acl.
80 " 01/03/85 by Lee A. Newcomb: Removed the commented out fm_delentry_file
81 " line to avoid further confusion from it.
82 " 01/25/85 by Lindsey Spratt: Added the dm_get_system_version entry.
83 " 02/15/85 by Lindsey Spratt: Changed dm_get_system_version to have 2
84 " arguments.
85 " 03/20/85 by Lee A. Newcomb: Added $bjm_set_txn_storage_limit.
86 " 03/29/85 by R. Michael Tague: Added $fm_postcommit_increment.
87 " 04/17/85 by Lee A. Newcomb: Renamed $tm_user_shutdown to $=_real as
88 " tm_$user_shutdown now calls tm_$user_shutdown_real to gate in.
89 "
90 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
91
92 name dm_gate_
93
94 include gate_macros
95
96 gate_info
97
98 " Before Journal Manager entries:
99
100 gate bjm_add_acl_entries,bjm_no_firstref_tv_,add_acl_entries,4
101
102 gate bjm_chname_file,bjm_no_firstref_tv_,chname_file,5
103
104 gate bjm_close_bj,bjm_firstref_tv_,close_bj,2
105
106 gate bjm_create_bj,bjm_firstref_tv_,create_bj,5
107
108 gate bjm_delete_acl_entries,bjm_no_firstref_tv_,delete_acl_entries,4
109
110 gate bjm_delete_bj,bjm_firstref_tv_,delete_bj,3
111
112 gate bjm_get_bj_oid,bjm_firstref_tv_,get_bj_oid,4
113
114 gate bjm_get_bj_path_from_oid,bjm_firstref_tv_,get_bj_path_from_oid,4
115
116 gate bjm_get_default_bj,bjm_firstref_tv_,get_default_bj,2
117
118 gate bjm_get_journal_status,bjm_firstref_tv_,get_journal_status,6
119
120 gate bjm_get_user_access_modes,bjm_no_firstref_tv_,get_user_access_modes,7
121
122 gate bjm_list_acl,bjm_no_firstref_tv_,list_acl,6
123
124 gate bjm_open_bj,bjm_firstref_tv_,open_bj,4
125
126 gate bjm_replace_acl,bjm_no_firstref_tv_,replace_acl,5
127
128 gate bjm_set_default_bj,bjm_firstref_tv_,set_default_bj,2
129
130 gate bjm_set_txn_storage_limit,bjm_firstref_tv_,set_transaction_storage_limit,4
131
132 gate bjm_validate,bjm_no_firstref_tv_,validate,3
133
134 " General DM entries:
135
136 gate dm_get_aim_dir,dm_no_firstref_tv_,get_aim_dir,1
137
138 gate dm_get_bootload_dir,dm_no_firstref_tv_,get_bootload_dir,1
139
140 gate dm_get_begin_shutdown_time,dm_firstref_tv_,get_begin_shutdown_time,1
141
142 gate dm_get_enabled_boot_dirname,dm_no_firstref_tv_,get_enabled_bootload_dirname,1
143
144 gate dm_get_initialization_time,dm_firstref_tv_,get_initialization_time,1
145
146 gate dm_get_shutdown_reason,dm_firstref_tv_,get_shutdown_reason,1
147
148 gate dm_get_shutdown_warning_time,dm_firstref_tv_,get_shutdown_warning_time,1
149
150 gate dm_get_system_dir,dm_no_firstref_tv_,get_system_dir,1
151
152 gate dm_get_system_state,dm_firstref_tv_,get_system_state,1
153
154 gate dm_get_system_version,dm_firstref_tv_,get_system_version,2
155
156 gate dm_get_user_shutdown_time,dm_firstref_tv_,get_user_shutdown_time,1
157
158 gate dm_is_process_using_dm,dm_no_firstref_tv_,using_dm,1
159
160 gate dm_set_system_dir,dm_no_firstref_tv_,set_system_dir,1
161
162 " File Manager entries
163
164 gate fm_add_acl_entries,fm_no_firstref_tv_,add_acl_entries,4
165
166 gate fm_add_extended_acl_entries,fm_no_firstref_tv_,add_extended_acl_entries,4
167
168 gate fm_allocate,fm_firstref_tv_,allocate,4
169
170 gate fm_chname_file,fm_firstref_tv_,chname_file,5
171
172 gate fm_close,fm_firstref_tv_,close,2
173
174 gate fm_create,fm_firstref_tv_,create,4
175
176 gate fm_create_open,fm_firstref_tv_,create_open,5
177
178 gate fm_delete,fm_firstref_tv_,delete,3
179
180 gate fm_delete_acl_entries,fm_no_firstref_tv_,delete_acl_entries,4
181
182 gate fm_delete_close,fm_firstref_tv_,delete_close,2
183
184 gate fm_flush_consecutive_ci,fm_firstref_tv_,flush_consecutive_ci,4
185
186 gate fm_flush_modified_ci,fm_firstref_tv_,flush_modified_ci,3
187
188 gate fm_free,fm_firstref_tv_,free,4
189
190 gate fm_get,fm_firstref_tv_,get,4
191
192 gate fm_get_bit_count,fm_no_firstref_tv_,get_bit_count,4
193
194 gate fm_get_ci_header,fm_firstref_tv_,get_ci_header,4
195
196 gate fm_get_ci_ptr,fm_firstref_tv_,get_ci_ptr,4
197
198 gate fm_get_exclusive,fm_firstref_tv_,get_exclusive,4
199
200 gate fm_get_max_length,fm_no_firstref_tv_,get_max_length,4
201
202 gate fm_get_ring_brackets,fm_no_firstref_tv_,get_ring_brackets,4
203
204 gate fm_get_stream,fm_firstref_tv_,get_stream,5
205
206 gate fm_get_switch,fm_firstref_tv_,get_switch,5
207
208 gate fm_get_user_access_modes,fm_no_firstref_tv_,get_user_access_modes,7
209
210 gate fm_list_acl,fm_no_firstref_tv_,list_acl,6
211
212 gate fm_list_extended_acl,fm_no_firstref_tv_,list_extended_acl,6
213
214 gate fm_list_switches,fm_no_firstref_tv_,list_switches,4
215
216 gate fm_lock_advice,fm_firstref_tv_,lock_advice,3
217
218 gate fm_open,fm_firstref_tv_,open,4
219
220 gate fm_open_by_uid,fm_firstref_tv_,open_by_uid,3
221
222 gate fm_postcommit_increment,fm_firstref_tv_,postcommit_increment,4
223
224 gate fm_prepare_to_copy,fm_firstref_tv_,prepare_to_copy,4
225
226 gate fm_put,fm_firstref_tv_,put,4
227
228 gate fm_put_stream,fm_firstref_tv_,put_stream,5
229
230 gate fm_raw_get,fm_firstref_tv_,raw_get,4
231
232 gate fm_raw_put,fm_firstref_tv_,raw_put,4
233
234 gate fm_replace_acl,fm_no_firstref_tv_,replace_acl,5
235
236 gate fm_replace_extended_acl,fm_no_firstref_tv_,replace_extended_acl,5
237
238 gate fm_set_bit_count,fm_no_firstref_tv_,set_bit_count,4
239
240 gate fm_set_max_length,fm_no_firstref_tv_,set_max_length,4
241
242 gate fm_set_ring_brackets,fm_firstref_tv_,set_ring_brackets,4
243
244 gate fm_set_switch,fm_no_firstref_tv_,set_switch,5
245
246 gate fm_simple_get,fm_firstref_tv_,simple_get,6
247
248 gate fm_simple_put,fm_firstref_tv_,simple_put,6
249
250 gate fm_status,fm_firstref_tv_,status,4
251
252 gate fm_sub_err_flag_get,fm_firstref_tv_,sub_err_flag_get,1
253
254 gate fm_sub_err_flag_set,fm_firstref_tv_,sub_err_flag_set,1
255
256 gate fm_suffix_info,fm_no_firstref_tv_,suffix_info,1
257
258 gate fm_terminate_ci_ptr,fm_firstref_tv_,terminate_ci_ptr,4
259
260 gate fm_validate,fm_no_firstref_tv_,validate,3
261
262
263 " Lock Manager entries
264 " There are currently no unprivleged lock_manager_ entries.
265 " Watch this space for further developments.
266
267
268 " Transaction Manager entries
269
270 gate tm_abandon_txn,tm_firstref_tv_,abandon_txn,2
271
272 gate tm_abort_txn,tm_firstref_tv_,abort_txn,2
273
274 gate tm_adjust_tdt,tm_firstref_tv_,adjust_tdt,0
275
276 gate tm_adjust_txn,tm_firstref_tv_,adjust_txn,2
277
278 gate tm_begin_txn,tm_firstref_tv_,begin_txn,4
279
280 gate tm_commit_txn,tm_firstref_tv_,commit_txn,2
281
282 gate tm_get_current_ids,tm_firstref_tv_,get_current_ids,4
283
284 gate tm_get_current_txn_id,tm_firstref_tv_,get_current_txn_id,2
285
286 gate tm_get_tdt_size,tm_firstref_tv_,get_tdt_size,1
287
288 gate tm_get_txn_index,tm_firstref_tv_,get_txn_index,3
289
290 gate tm_get_txn_info,tm_firstref_tv_,get_txn_info,3
291
292 gate tm_get_txn_info_index,tm_firstref_tv_,get_txn_info_index,3
293
294 gate tm_resume_txn,tm_firstref_tv_,resume_txn,1
295
296 gate tm_rollback_txn,tm_firstref_tv_,rollback_txn,3
297
298 gate tm_suspend_txn,tm_firstref_tv_,suspend_txn,1
299
300 gate tm_user_shutdown_real,tm_no_firstref_tv_,user_shutdown_real,3
301
302 end