1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 dcl          vtoc_buffer_seg$       ext;
 14 
 15      dcl     vtoc_buffer_segp       ptr;
 16      dcl     vtoc_buf_descp         ptr;
 17      dcl     vtoc_bufp              ptr;
 18      dcl     vtoc_buf_desc_arrayp   ptr;
 19      dcl     vtoc_buf_arrayp        ptr;
 20 
 21      dcl     vtoc_buf_n_buffers     fixed bin;
 22      dcl     vtoc_buf_n_buckets     fixed bin;
 23 
 24 
 25      dcl     1 vtoc_buffer          aligned based (vtoc_buffer_segp),
 26 
 27                2 lock,                                      
 28                  3 processid        bit (36) aligned,       
 29                  3 wait_event       bit (36) aligned,       
 30                  3 notify_sw        bit (1) aligned,        
 31 
 32                2 n_bufs             fixed bin,              
 33                2 n_hash_buckets     fixed bin,              
 34                2 hash_mask          bit (36) aligned,       
 35                2 abs_addr           fixed bin (24),         
 36                2 wait_event_constant fixed bin (36) uns unal,    
 37                2 buf_desc_offset    bit (18),               
 38                2 buf_offset         bit (18),               
 39                2 hash_table_offset  bit (18),               
 40                2 search_index       fixed bin,              
 41                2 unsafe_pvtx        fixed bin,              
 42                2 scavenger_free_p_clock
 43                                     fixed bin (35),         
 44                2 meters,
 45                  3 call_get         fixed bin (35),         
 46                  3 call_put         fixed bin (35),         
 47                  3 call_alloc       fixed bin (35),         
 48                  3 call_free        fixed bin (35),         
 49                  3 call_await       fixed bin (35),         
 50                  3 steps            fixed bin (35),         
 51                  3 skip_os          fixed bin (35),         
 52                  3 skip_hot         fixed bin (35),         
 53                  3 skip_wait        fixed bin (35),         
 54                  3 disk_reads       fixed bin (35),         
 55                  3 disk_writes      fixed bin (35),         
 56                  3 get_buffer_calls fixed bin (35),         
 57                  3 get_buffer_hits  fixed bin (35),         
 58                  3 wait_calls       fixed bin (35),         
 59                  3 wait_os          fixed bin (35),         
 60                  3 scavenger_free_checks
 61                                     fixed bin (35),         
 62                  3 scavenger_free_losses
 63                                     fixed bin (35),         
 64                  3 soft_rar         fixed bin (35),         
 65 
 66                  3 pad (14)         fixed bin (35),
 67 
 68                2 hash_table         (vtoc_buf_n_buckets refer (vtoc_buffer.n_hash_buckets)) bit (18) aligned,
 69 
 70 
 71                2 buf_desc           (vtoc_buf_n_buffers refer (vtoc_buffer.n_bufs)) aligned like vtoc_buf_desc,
 72 
 73                2 buffer             (vtoc_buf_n_buffers refer (vtoc_buffer.n_bufs)) aligned like vtoce_buffer;
 74 
 75 
 76 
 77      dcl     1 vtoc_buf_desc_array  (vtoc_buffer.n_bufs) aligned based (vtoc_buf_desc_arrayp) like vtoc_buf_desc;
 78 
 79 
 80      dcl     1 vtoc_buf_desc        aligned based (vtoc_buf_descp),
 81                2 pvtx               fixed bin (17) unal,    
 82                2 vtocx              fixed bin (17) unal,    
 83                2 parts_used         bit (3) unal,           
 84                2 err                bit (1) unal,           
 85                2 notify_sw          bit (1) unal,           
 86                2 write_sw           bit (1) unal,           
 87                2 os                 bit (1) unal,           
 88                2 ioq                bit (1) unal,           
 89                2 used               bit (1) unal,           
 90                2 pad                bit (9) unal,
 91                2 wait_index         fixed bin (17) unal,    
 92                2 ht_thread          bit (18) unal,          
 93                2 buf_rel            bit (18) unal;          
 94 
 95      dcl     1 vtoce_buffer_array   (vtoc_buffer.n_bufs) aligned based (vtoc_buf_arrayp) like vtoce_buffer;
 96 
 97      dcl     1 vtoce_buffer         aligned based (vtoc_bufp),
 98                2 parts              (3) aligned,
 99                  3 words            (64) bit (36) aligned;
100 
101 
102      dcl     N_PARTS_PER_VTOCE      fixed bin int static options (constant) init (3);
103      dcl     VTOCE_PART_SIZE        fixed bin int static options (constant) init (64);
104      dcl     VTOCE_BUFFER_SIZE      fixed bin int static options (constant) init (3 * 64);
105      dcl     N_VTOCE_PER_RECORD     fixed bin int static options (constant) init (5);
106      dcl     N_SECTOR_PER_VTOCE     fixed bin int static options (constant) init (3);
107 
108 
109