
{ DECK IOT$TAPE_BLOCK_ID_AREA

  CONST
     ioc$bid_window_length = 32,
     ioc$empty_bid = 0,
     ioc$error_block_bid = 2000(16),
     ioc$loadpoint_bid = 1000(16),
     ioc$min_bksp_count = 3,
     ioc$tapemark_bid = 1,
     ioc$unavail_bid = 4;

  TYPE
     iot$bid_index = 1 .. ioc$bid_window_length,
     iot$bid_window = ARRAY [1 .. ioc$bid_window_length] OF 0 .. 0ffff(16);

  TYPE
    iot$cartridge_tape_bid = PACKED RECORD
      physical_position: 0 .. 0ff(16),
      logical_position: 0 .. 0ffffff(16),
    RECEND;

{ The following type is used as a parameter on the iop$locate_block procedure call to
{ position to either:
{ ioc$lbg = Last good block (lbg).
{ ioc$lbg_plus_count = Last good block + forespace the count in error_block_forespace_count.
{ ioc$lbg_plus_count_minus_1 = ioc$lbg_plus_count - 1.

  TYPE
    iot$locate_block_option = (ioc$lbg, ioc$lbg_plus_count, ioc$lbg_plus_count_minus_1);
