{
{   The purpose of this procedure is to allow the site procedure
{ RMP$VALIDATE_TAPE_ASSIGNMENT to complete the assignment of a tape volume to a
{ tape file.  RMP$VALIDATE_TAPE_ASSIGNMENT is called prior to the assignment of
{ each tape volume.  RMP$VALIDATE_TAPE_ASSIGNMENT is allowed to modify the
{ VOLUME_DESCRIPTION before passing it on to RMP$COMPLETE_TAPE_ASSIGNMENT.
{
{       RMP$COMPLETE_TAPE_ASSIGNMENT (FILE_IDENTIFIER,
{         FILE, DENSITY, WRITE_RING, FILE_LABEL_TYPE, ACCESS_MODE,
{         INITIAL_ASSIGNMENT, NEXT_VOLUME, VOLUME_DESCRIPTION,
{         REMOVABLE_MEDIA_GROUP, REMOVABLE_MEDIA_LOCATION,
{         OPERATOR_TERMINATED_ASSIGNMENT, STATUS)
{
{ FILE_IDENTIFIER: (input)  This parameter specifies the file access identifier
{       established when the file was opened.
{
{ FILE: (input)  This parameter specifies the name of the tape file to which
{       the tape volume is to be assigned.
{
{ 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 of the tape volumes associated with the file.
{
{ FILE_LABEL_TYPE: (input)  This parameter specifies the label type of the tape
{       file.
{
{ ACCESS_MODE: (input)  This parameter specifies the access mode of the file.
{
{ INITIAL_ASSIGNMENT: (input)  This parameter specifies whether or not this is
{       the initial assignment of a tape volume to the tape file.
{
{ NEXT_VOLUME: (input)  This parameter specifies the number of the volume in
{       the volume list of the next volume to be mounted.
{
{ VOLUME_DESCRIPTION: (input)  This parameter specifies the identity of the
{       tape volume to be mounted.  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 !  " % & ' ( ) * + , - .  / :  ; < = { > ?  _ $ # @
{
{ REMOVABLE_MEDIA_GROUP: (input) This parameter specifies the group validation
{       that is associated with the tape.
{
{ REMOVABLE_MEDIA_LOCATION: (input) This parameter specifies the location
{       of the tate as defined by the REMOVABLE_MEDIA_SUBSYSTEM.
{
{ OPERATOR_TERMINATED_ASSIGNMENT: (output)  This parameter indicates whether or
{       or not the operator terminated the assignment.
{
{ STATUS: (output) This parameter specifies the request status.
{
{       IDENTIFIER: rmc$resource_management_id.
{
{
