1 /* ***********************************************************
 2    *                                                         *
 3    * Copyright, (C) Honeywell Information Systems Inc., 1983 *
 4    *                                                         *
 5    *********************************************************** */
 6 /* format: style2,ind3 */
 7 om_init:
 8    proc (p_number_of_entries, p_table_ptr, p_code);
 9 
10 /* DESCRIPTION:
11 
12          Sets  up an empty table of pointers to opening info structures.  The
13      table is allocated in the area pointed to  by  dm_data_$opening_area_ptr.
14      The table is set up as a hash of p_number_of_entries buckets.
15 */
16 
17 /* HISTORY:
18 
19 Written by Matthew Pierret, 07/26/82.
20 Modified:
21 08/11/82 by Matthew Pierret:  Changed opening_table to be 0-originned.
22 04/12/83 by Matthew Pierret:  Changed to use OPENING_TABLE_VERSION_2, which is
23             0-originned.  This is necessary because hash_index can return a
24             value of 0.
25 11/14/84 by Stanford S. Cox:  MAIN:  Chg to init opening_table.version.
26 */
27 
28 /* START OF DECLARATIONS */
29 /* Parameter */
30 
31       dcl     p_number_of_entries    fixed bin (17) parameter;
32       dcl     p_table_ptr            ptr parameter;
33       dcl     p_code                 fixed bin (35) parameter;
34 
35 /* Automatic */
36 
37       dcl     work_area_ptr          ptr;
38 
39 /* Based */
40 
41       dcl     work_area              area (sys_info$max_seg_size) based (work_area_ptr);
42 
43 /* Builtin */
44 
45       dcl     null                   builtin;
46 
47 /* Constant */
48 /* Entry */
49 
50       dcl     get_dm_free_area_      entry () returns (ptr);
51 
52 /* External */
53 
54       dcl     sys_info$max_seg_size  ext fixed bin (35);
55 
56 /* END OF DECLARATIONS */
57 ^L
58       p_code = 0;
59 
60       work_area_ptr = get_dm_free_area_ ();
61 
62       ot_upper_bound = p_number_of_entries - 1;
63 
64       alloc opening_table in (work_area);
65 
66       opening_table.hash_entry_ptr = null;
67 
68       p_table_ptr = opening_table_ptr;
69       opening_table.version = OPENING_TABLE_VERSION_2;
70 
71       return;
72 %page;
73 %include dm_om_table;
74 
75 
76    end om_init;