1 /* BEGIN INCLUDE FILE dm_cm_entry_dcls.incl.pl1 */
  2 
  3 /* DESCRIPTION:
  4 
  5    Contains entry declarations of internally available collection_manager_
  6    entries.  Entries which are only available via the collection_manager_
  7    transfer vector are not included here, but are declared instead in
  8    dm_collmgr_entry_dcls.incl.pl1.
  9 */
 10 
 11 /* HISTORY:
 12 Written by Mathew Pierret, 04/01/82.
 13 Modified:
 14 09/21/82 by Lindsey Spratt:  Added the cm_compact$replacement entry.
 15 10/29/82 by Matthew Pierret:  Added cm_find_free_slot, cm_determine_free_space,
 16             cm_find_ci_to_alloc_datum, cm_recursive_put.
 17             Added cm_get_element$info*, $header*.  The former is used when
 18             the caller has a cm_info structure already; the latter is used to
 19             get collection headers.
 20             Added cm_opening_info$get. Removed cm_add_ci_(part thread).
 21             Added cm_allocate_element$info.
 22 11/09/82 by Matthew Pierret:  Added argument to cm_allocate_ordered_element
 23             calling sequence for returning free space.
 24             Added cm_free_cn_datum("" $header).
 25 01/07/83 by Matthew Pierret:  Added:
 26             cm_allocate_element$buffered("" _info);
 27             cm_put_element$buffered("" _info);
 28             cm_put_datum_in_place$buffered("" _continued);
 29             cm_put_datum_in_pool$buffered("" _continued);
 30             cm_compact$buffered.
 31 01/26/83 by Matthew Pierret: Replaced cm_get_header_and_slot with
 32             cm_get_bci_header$slot and added cm_get_bci_header$slot_exclusive.
 33             Added cm_opening_info$get_storage_record.
 34             Added a bit(36)aligned argument to cm_recursive_put to hold the
 35             id of the previous datum.
 36 02/02/83 by Matthew Pierret: Added fixed bin (17) argument to cm_find_free_slot
 37             which is for the number of slots after allocation.
 38 02/07/83 by Matthew Pierret: Added cm_get_id$(id info info_return_slot
 39             header header_return_slot).
 40             Added cm_get_element_portion$(exclusive info info_exclusive).
 41             Added cm_get_element$bypass_info.
 42 03/25/83 by Matthew Pierret: Added cm_free_element$info and
 43             cm_free_opening_info.
 44 04/29/83 by Matthew Pierret: Added cm_put_element$unprotected_info
 45 08/04/83 by Matthew Pierret:  Added the entries $does_new_datum_fit and
 46             $does_replacement_fit to cm_determine_free_space.  These entries
 47             return flags indicating if a datum fits in the ci and the pool.
 48             Added a bit(1)aligned parameter to cm_find_free_slot in which is
 49             returned the new value of bci_header.free_slot_is_present.
 50 02/07/84 by Matthew Pierret:  Added cm_get_id$ptr.  Removed all cm_get_id
 51             modules except cm_get_id$id.  Removed all cm_get_element$info*
 52             entries.  Changed cm_get_element_$bypass_info to have the same
 53             calling sequence as other cm_get_element entries.
 54 06/12/84 by Matthew Pierret:  Changed cm_put_element to cm_modify
 55             and cm_allocate_element to cm_put.
 56             Switched the element_length/element_ptr parameter pair to be
 57             element_ptr/element_length in cm_modify and cm_put.
 58 07/24/84 by Matthew Pierret:  Added cm_free_ci$raw_return_prev_next.
 59 09/24/84 by Matthew Pierret:  Added trace_thread_modifications_(on off)
 60             entries to cm_free_ci and cm_replace_buffered_ci,
 61             cm_allocate_ci$info_header, cm_opening_info$opening_table_ptr.
 62             Removed cm_find_free_space. Commented out un-used entries.
 63             Re-named allocate  entries to put entries, except for allocate_ci.
 64             Re-named free element and free datum entries to use delete instead
 65             of free, and cm_recursive_put to cm_recursive_modify.
 66             Removed cm_get_element$bypass_info.
 67 02/27/85 by Matthew C. Pierret:  Re-added cm_compact$buffered_replacement now
 68             that cm_modify$buffered uses it.
 69 03/07/85 by R. Michael Tague:  Added cm_postcommit_increment.
 70 */
 71 
 72 /* format: style2,ind3 */
 73 
 74 
 75      dcl     cm_allocate_ci         entry (bit (36) aligned, bit (36) aligned, fixed bin (24) unsigned, fixed bin (35));
 76      dcl     cm_allocate_ci$info    entry (ptr, fixed bin (24) unsigned, fixed bin (35));
 77      dcl     cm_allocate_ci$info_header
 78                                     entry (ptr, fixed bin (24) unsigned, ptr, fixed bin (35));
 79 
 80 
 81      dcl     cm_compact             entry (bit (36) aligned, fixed bin (17), bit (36) aligned, ptr, fixed bin (35));
 82      dcl     cm_compact$buffered    entry (ptr, fixed bin (17), bit (36) aligned, fixed bin (35));
 83      dcl     cm_compact$replacement entry (bit (36) aligned, fixed bin (17), bit (36) aligned, ptr, fixed bin (35));
 84      dcl     cm_compact$buffered_replacement
 85                                     entry (ptr, fixed bin (17), bit (36) aligned, fixed bin (35));
 86 
 87      dcl     cm_delete_cn_datum     entry (ptr, bit (1) aligned, bit (36) aligned, fixed bin (35));
 88 
 89      dcl     cm_delete_cn_datum$header
 90                                     entry (ptr, ptr, ptr, bit (1) aligned, bit (36) aligned, fixed bin (35));
 91 
 92      dcl     cm_delete              entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, bit (1) aligned,
 93                                     fixed bin (35));
 94      dcl     cm_delete$info         entry (ptr, bit (36) aligned, bit (1) aligned, fixed bin (35));
 95 
 96      dcl     cm_determine_free_space$all
 97                                     entry (ptr, fixed bin (35), fixed bin (35), fixed bin (35));
 98      dcl     cm_determine_free_space$effective
 99                                     entry (ptr, fixed bin (35), bit (1) aligned, bit (1) aligned, fixed bin (35),
100                                     fixed bin (35));
101      dcl     cm_determine_free_space$does_new_datum_fit
102                                     entry (ptr, fixed bin (35), fixed bin (35), bit (1) aligned, bit (1) aligned,
103                                     bit (1) aligned, bit (1) aligned, fixed bin (35));
104 
105 /**** Not yet used *********************************************************
106      dcl     cm_determine_free_space$does_replacement_fit
107                                     entry (ptr, fixed bin (35), fixed bin (35), fixed bin (35), bit (1) aligned,
108                                     bit (1) aligned, bit (1) aligned, bit (1) aligned, fixed bin (35));
109 ************************************************************************** */
110 
111      dcl     cm_find_ci_to_alloc_datum
112                                     entry (ptr, fixed bin (35), fixed bin (24) uns, bit (1) aligned, bit (1) aligned, ptr,
113                                     fixed bin (24) uns, fixed bin (35));
114 
115      dcl     cm_find_free_slot      entry (bit (36) aligned, fixed bin (24) uns, ptr, fixed bin (17), fixed bin (17),
116                                     bit (1) aligned, fixed bin (35));
117 
118      dcl     cm_free_ci$info        entry (ptr, fixed bin (24) uns, bit (1) aligned, fixed bin (35));
119      dcl     cm_free_ci$raw_return_prev_next
120                                     entry (ptr, fixed bin (24) uns, bit (1) aligned, fixed bin (24) uns,
121                                     fixed bin (24) uns, fixed bin (35));
122      dcl     cm_free_ci$trace_thread_modifications_on
123                                     entry ();
124      dcl     cm_free_ci$trace_thread_modifications_off
125                                     entry ();
126 
127 
128      dcl     cm_free_opening_info   entry (bit (36) aligned, bit (36) aligned, fixed bin (35));
129 
130      dcl     cm_get_bci_header      entry (bit (36) aligned, uns fixed bin (24), ptr, fixed bin (35));
131      dcl     cm_get_bci_header$exclusive
132                                     entry (bit (36) aligned, uns fixed bin (24), ptr, fixed bin (35));
133      dcl     cm_get_bci_header$slot entry (bit (36) aligned, ptr, ptr, bit (36) aligned, fixed bin (35));
134 
135 /**** Not yet used ********************************************************
136      dcl     cm_get_bci_header$slot_exclusive
137                                     entry (bit (36) aligned, ptr, ptr, bit (36) aligned, fixed bin (35));
138 ************************************************************************** */
139 
140      dcl     cm_get_element         entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin (17), ptr,
141                                     fixed bin (35), ptr, bit (1) aligned, ptr, fixed bin (35), fixed bin (35));
142      dcl     cm_get_element$exclusive
143                                     entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin, ptr,
144                                     fixed bin (35), ptr, bit (1) aligned, ptr, fixed bin (35), fixed bin (35));
145 
146      dcl     cm_get_element_portion entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin (17), ptr,
147                                     fixed bin (35), ptr, fixed bin (35), fixed bin (35), bit (1) aligned, ptr,
148                                     fixed bin (35), fixed bin (35));
149 
150 /**** Not yet used ********************************************************
151      dcl     cm_get_element_portion$exclusive
152                                     entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin (17), ptr,
153                                     fixed bin (35), ptr, fixed bin (35), fixed bin (35), bit (1) aligned, ptr,
154                                     fixed bin (35), fixed bin (35));
155 ************************************************************************** */
156 
157      dcl     cm_get_id$id           entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin,
158                                     bit (1) aligned, bit (36) aligned, fixed bin (35));
159      dcl     cm_get_id$ptr          entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, fixed bin,
160                                     bit (1) aligned, ptr, ptr, bit (36) aligned, fixed bin (35));
161 
162      dcl     cm_modify              entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned,
163                                     fixed bin (35), fixed bin (35));
164      dcl     cm_modify$buffered     entry (ptr, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned,
165                                     fixed bin (35), fixed bin (35));
166 
167 /******* Not yet used *****************************************************
168      dcl     cm_modify$buffered_info
169                                     entry (ptr, ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35),
170                                     fixed bin (35));
171 ****************************************************************************/
172 
173      dcl     cm_modify$info         entry (ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35));
174      dcl     cm_modify$unprotected_info
175                                     entry (ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35));
176 
177 
178 /******* Not yet used *****************************************************
179      dcl     cm_modify_portion entry (bit (36) aligned, bit (36) aligned, fixed bin (35), fixed bin (35),
180                                     fixed bin (35), ptr, bit (36) aligned, fixed bin (35), fixed bin (35));
181 ****************************************************************************/
182 
183 
184      dcl     cm_opening_info$get    entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35));
185      dcl     cm_opening_info$get_storage_record
186                                     entry (ptr, fixed bin (35));
187      dcl     cm_opening_info$full_get
188                                     entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35));
189      dcl     cm_opening_info$opening_table_ptr
190                                     entry () returns (ptr);
191 
192      dcl     cm_postcommit_increment
193                                     entry (bit (36) aligned, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35));
194 
195      dcl     cm_put                 entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned,
196                                     fixed bin (35), fixed bin (35));
197      dcl     cm_put$buffered        entry (ptr, bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), bit (36) aligned,
198                                     fixed bin (35), fixed bin (35));
199 
200 /******* Not yet used *****************************************************
201      dcl     cm_put$buffered_info
202                                     entry (ptr, ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35),
203                                     fixed bin (35));
204 ****************************************************************************/
205 
206      dcl     cm_put$info            entry (ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35), fixed bin (35));
207 
208      dcl     cm_put_basic_element   entry (ptr, ptr, fixed bin (35), ptr, bit (36) aligned, fixed bin (35),
209                                     fixed bin (35));
210 
211      dcl     cm_put_cn_datum        entry (ptr, ptr, fixed bin (35), bit (36) aligned, bit (36) aligned, fixed bin (35));
212 
213      dcl     cm_put_datum_in_place  entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), ptr, ptr,
214                                     fixed bin (35));
215      dcl     cm_put_datum_in_place$buffered
216                                     entry (ptr, ptr, fixed bin (35), ptr, fixed bin (35));
217      dcl     cm_put_datum_in_place$buffered_continued
218                                     entry (ptr, ptr, fixed bin (35), ptr, fixed bin (35), bit (36) aligned,
219                                     fixed bin (35));
220      dcl     cm_put_datum_in_place$continued
221                                     entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), ptr, ptr,
222                                     fixed bin (35), bit (36) aligned, fixed bin (35));
223 
224      dcl     cm_put_datum_in_pool   entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), ptr, ptr,
225                                     fixed bin (35));
226      dcl     cm_put_datum_in_pool$buffered
227                                     entry (ptr, ptr, fixed bin (35), ptr, fixed bin (35));
228      dcl     cm_put_datum_in_pool$buffered_continued
229                                     entry (ptr, ptr, fixed bin (35), ptr, fixed bin (35), bit (36) aligned,
230                                     fixed bin (35));
231      dcl     cm_put_datum_in_pool$continued
232                                     entry (bit (36) aligned, bit (36) aligned, ptr, fixed bin (35), ptr, ptr,
233                                     fixed bin (35), bit (36) aligned, fixed bin (35));
234 
235      dcl     cm_put_ordered_element entry (ptr, ptr, fixed bin (35), ptr, bit (36) aligned, fixed bin (35),
236                                     fixed bin (35));
237      dcl     cm_put_ordered_element$buffered
238                                     entry (ptr, ptr, fixed bin (35), ptr, bit (36) aligned, fixed bin (35),
239                                     fixed bin (35));
240 
241      dcl     cm_put_overlength_tail entry (ptr, ptr, fixed bin (35), bit (36) aligned, fixed bin (35));
242 
243      dcl     cm_recursive_modify    entry (ptr, bit (36) aligned, ptr, fixed bin (35), fixed bin (35), bit (36) aligned,
244                                     fixed bin (35));
245 
246 
247      dcl     cm_replace_buffered_ci$trace_thread_modifications_on
248                                     entry ();
249      dcl     cm_replace_buffered_ci$trace_thread_modifications_off
250                                     entry ();
251 
252 /* END INCLUDE FILE dm_cm_entry_dcls.incl.pl1 */