
  PROCEDURE [INLINE] dmp$decrement_class_activity
    (    p_dfd: ^dmt$disk_file_descriptor);

?? PUSH (LISTEXT := ON) ??

    VAR
      actual_class_count: integer,
      avt_index: dmt$active_volume_table_index,
      class: dmt$class_member,
      error: boolean,
      fmd_p: ^dmt$file_medium_descriptor,
      system_class: dmt$system_class,
      value_p: ^integer;

    dmp$get_fmd_by_index (p_dfd, 1, fmd_p);
    IF fmd_p <> NIL THEN

{Check for valid avt_index before using to lock entry. The avt_index will be 0
{(invalid) if the file has not been assigned to a volume.

      IF (avt_index >= LOWERBOUND (dmv$active_volume_table.table_p^)) AND
            (avt_index <= UPPERBOUND (dmv$active_volume_table.table_p^)) THEN
        class := p_dfd^.requested_class;
        IF class IN dmv$system_class THEN
          system_class := dmv$system_class_conversion [class];
          value_p := ^dmv$active_volume_table.table_p^ [avt_index].
                mass_storage.system_class_activity [system_class];
          osp$decrement_locked_variable (value_p^, value_p^,
                actual_class_count, error);
        IFEND;
      IFEND;
    IFEND;

  PROCEND dmp$decrement_class_activity;

*copyc dmp$get_fmd_by_index
*copyc osp$decrement_locked_variable
*copyc dmv$active_volume_table
*copyc dmv$system_class
?? POP ??
