{
{   This procedure is the site procedure which validates requests for magnetic
{ tape files.  It is called for the REQUEST_MAGNETIC_TAPE command and the
{ RMP$REQUEST_TAPE program request.  The site procedure must call
{ RMP$COMPLETE_TAPE_REQUEST to complete the tape request.
{
{       RMP$VALIDATE_TAPE_REQUEST (VALIDATION_STATE, FILE, CLASS, DENSITY,
{         WRITE_RING, VOLUME_LIST, STATUS)
{
{ VALIDATION_STATE: (input)  This parameter specifies the tape validation state
{       which is set to ON or OFF by the CHANGE_TAPE_VALIDATION operator
{       command.
{
{ FILE: (input)  This parameter specifies the name of the file which is to be
{       registered in a catalog and assigned to the magnetic tape device class.
{
{ CLASS: (input)  This parameter specifies the type of tape storage device
{       required, i.e.  whether 7 or 9 track tape is required.
{
{ DENSITY: (input)  This parameter specifies the density of the tape storage
{       device.
{
{ WRITE_RING: (input)  This parameter specifies the presence or absence of a
{       write ring in all the tape volumes associated with the file.
{
{ VOLUME_LIST: (input)  This parameter specifies the identity of the tape
{       volume(s) to be mounted.  Volumes are mounted in the order in which
{       they are specified.  Each volume is identified on the
{       REQUEST_MAGNETIC_TAPE command or RMP$REQUEST_TAPE program interface by
{       a recorded_vsn, an external_vsn or by both a recorded_vsn and an
{       external_vsn.
{
{       If both the EXTERNAL_VSN and the RECORDED_VSN parameters are omitted
{       from the REQUEST_MAGNETIC_TAPE command or rmc$unspecified_vsn is
{       specified for both the external_vsn and the recorded_vsn on the
{       RMP$REQUEST_TAPE program interface, then the operator will be asked to
{       supply the EXTERNAL_VSN and optional RECORDED_VSN of the initial tape
{       volume.  The operator will also be asked to supply the EXTERNAL_VSN and
{       optional RECORDED_VSN of additional tape volumes whenever a program
{       attempts to write beyond the last volume in the volume list.
{
{       If recorded_vsn and external_vsn are each given values other than
{       rmc$unspecified_vsn and the two values are not identical, automatic
{       volume assignment will not occur; the operator will be asked to mount
{       and manually assign the volume identified by the external_vsn.  The
{       system will then validate that the recorded_vsn provided by this
{       request matches the one recorded in the VOL1 label recorded on the tape
{       volume.
{
{       recorded_vsn - specifies the identity of an ANSI labelled volume.  If a
{       recorded_vsn is specified, the VOL1 label of the tape volume assigned
{       to the file must match the value specified or the tape assignment is
{       rejected.  The recorded_vsn may be composed of the characters 0..9, the
{       upper case letters A..Z and the following special characters:
{
{       SP !  " % & ' ( ) * + , - .  / :  ; < = { > ?  _ $ # @
{
{       external_vsn - specifies the identity of a magnetic tape volume in
{       terms which will be readily identifiable to the operator.  If
{       rmc$unspecified_vsn is specified, the recorded_vsn will be used to
{       identify the volume to be mounted.  The external_vsn may be composed of
{       the characters 0..9, the upper case letters A..Z and the following
{       special characters:
{
{       SP !  " % & ' ( ) * + , - .  / :  ; < = { > ?  _ $ # @
{
{ STATUS: (output) This parameter specifies the request status.  If the site
{       validation procedure returns abnormal status, the tape request will
{       not be completed and this status variable will be returned to the
{       user's RMP$REQUEST_TAPE program request.  If a REQUEST_MAGNETIC_COMMAND
{       was used, it will be used to create the error message that is returned
{       by the command.
{
{       IDENTIFIER: rmc$resource_management_id.
{
