
  FUNCTION [INLINE] osp$get_volume_condition
    (    unique_volume_desc: pft$unique_volume_desc):
        fst$file_access_condition;

?? PUSH (LISTEXT := ON) ??

    VAR
      avt_index: ost$non_negative_integers,
      entry_p: ^dmt$active_volume_table_entry;

    osp$get_volume_condition := fsc$media_missing;

    FOR avt_index := LOWERBOUND (dmv$active_volume_table.table_p^)
          TO UPPERBOUND (dmv$active_volume_table.table_p^) DO
      entry_p := ^dmv$active_volume_table.table_p^ [avt_index];
      IF (NOT entry_p^.entry_available)
{   } AND (entry_p^.mass_storage.recorded_vsn =
            unique_volume_desc.recorded_vsn) THEN

        IF (entry_p^.mass_storage.internal_vsn =
              unique_volume_desc.internal_vsn) THEN
          IF entry_p^.mass_storage.volume_unavailable THEN
            osp$get_volume_condition := fsc$volume_unavailable;
          ELSEIF entry_p^.mass_storage.space_gone THEN
            osp$get_volume_condition := fsc$space_unavailable;
          ELSE
            osp$get_volume_condition := fsc$null_file_access_condition;
          IFEND;

          RETURN; {----->
        IFEND;
      IFEND;
    FOREND;

  FUNCEND osp$get_volume_condition;

*copyc dmv$active_volume_table
*copyc fst$file_access_condition
*copyc osd$integer_limits
*copyc pft$unique_volume_desc
?? POP ??
