MODULE dmm$space_manager_helpers;
?? RIGHT := 110 ??

{ PURPOSE:
{   This module provides application interfaces to the lower level DM routines

?? NEWTITLE := 'Global Declarations Referenced By This Module', EJECT ??
?? PUSH (LISTEXT := ON) ??
*copyc ofe$error_codes
*copyc dmt$error_condition_codes
*copyc ost$status
?? POP ??
*copyc avp$configuration_administrator
*copyc avp$system_operator
*copyc dmp$run_volume_space_manager
*copyc osp$set_status_abnormal
*copyc osp$set_status_condition
*copyc tmp$ready_system_task1
*copyc dmv$active_volume_table
?? OLDTITLE ??
?? NEWTITLE := '[xdcl, #gate] DMP$INVOKE_SPACE_MANAGER', EJECT ??

  PROCEDURE [XDCL, #GATE] dmp$invoke_space_manager
    (    avt_index: dmt$active_volume_table_index;
     VAR status: ost$status);

    IF avp$configuration_administrator () OR avp$system_operator () THEN
      IF avt_index = 0 THEN {all
        tmp$ready_system_task (tmc$stid_volume_space_managemnt, status);
      ELSEIF (dmv$active_volume_table.table_p <> NIL) AND (avt_index <=
            UPPERBOUND (dmv$active_volume_table.table_p^)) THEN
        dmp$run_volume_space_manager (avt_index, status);
      ELSE
        osp$set_status_condition (dme$avt_entry_not_found, status);
      IFEND;
    ELSE
      osp$set_status_abnormal ('OF', ofe$sou_not_active, 'configuration_administration or system_operation',
            status)
    IFEND;

  PROCEND dmp$invoke_space_manager;
?? OLDTITLE ??
MODEND dmm$space_manager_helpers;

