
PROCEDURE qcm$display_active_count disac (
 output o: file = output )

IF $file($value(output) open_position) = '$BOI' THEN
  ofile = $string($value(output))//'.$ASIS'
ELSE
  ofile = $string($value(output))
IFEND
putl ''
putl '                   Active I/O Count - 1.4.1' o=$fname(ofile)
putl ' ' o=$fname(ofile)
req_heap = $sa(iov$request_heap)
req_len = 160
req_map = $sa(iov$request_heap_map)
u_offset = 07A(16)
crev active_count k=integer

FOR i = 0 TO 254 DO
  map = $mem(req_map+i/8, 1)
  map_bit = $mod(map/(2**(7-$mod(i, 8))), 2)
  IF map_bit <> 0 THEN
    cu = $mem(req_heap+req_len*i+u_offset,2)
    IF cu <> 0 THEN
    active_count = active_count+1
    IFEND
  IFEND
FOREND

IF active_count = 0 THEN
 putl ' ' o=$fname(ofile)
 putl '          There are no outstanding I/O requests' o=$fname(ofile)
ELSE
 active_counter = $strrep(active_count 10)
 putl ' ' o=$fname(ofile)
 putl '  There are '//active_counter//' outstanding I/O requests' ..
o=$fname(ofile)
IFEND

PROCEND qcm$display_active_count
