VMS Help  —  MRD Library, mrd_move, Description
    The mrd_move(3mrd) function is an interface to the SCSI Move
    Medium command. For the robot specified by robot_name, the
    routine will attempt to move the cartridge in the element
    specified by the source address and type to that specified by
    the destination address and type.

    Element addresses are zero based. On subsystems that support
    inverting a cartridge during a move, the cartridge_side argument
    can be used to indicate that the cartridge should be inverted.

    The robot will be opened and the arguments to the function
    verified that they are appropriate. Element addresses and types
    will be checked that they are within the valid range of elements
    on the robot. The cartridge_side argument will be verified that
    it is either the value one (1) or two (2). All pointer arguments,
    except cartridge_name, are checked to verify they are not NULL
    pointers.

    The cartridge_name argument can be used to perform cartridge
    volume tag verification before the move. If the cartridge volume
    tag at the source doesn't match that specified by this argument,
    then mrd_move(3mrd) will fail with the status MRD_STATUS_CART_
    INVALID. If the cartridge_name argument is a NULL pointer, an
    empty string or used on a robot without vision support this
    argument is silently ignored and the volume tag check will not
    be made.

    On the TL820 family of libraries, the tape will be moved to the
    pass-through read station if the source is a Port. If this move
    fails the status will be appropriate to that of a failed Move
    Medium. Likely error codes are documented in the Return Values
    section.

    After the volume tag check, the destination address is checked
    in the same way the source was. The same error codes are returned
    if the destination address is out of range. With the range checks
    completed the Move Medium command is issued. If successful MRD_
    STATUS_SUCCESS is returned. If the command failed, the SCSI error
    will be mapped to the appropriate MRD_STATUS message.

    The DLT libraries (TL820 and TL810 families) require the host
    issue a SCSI Unload command before a cartridge may be removed
    from the drive. The function mrd_move(3mrd), does not offer
    this feature. Thus, the calling program must do this itself. On
    Digital UNIX this may done with the MTOFFL opcode of the MTIOCTOP
    I/O control.
Close Help