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;