?? TITLE := 'NOSVE Subsystem IO' ??
MODULE iom$request_processor;
?? RIGHT := 110 ??
{
{ PURPOSE :  This module processes monitor requests for the io subsystem.
{
{ DESIGN :  The subsystem request code is used to determine the monitor
{           request processor that will process the request.
{
?? NEWTITLE := 'Global Declarations Referenced By This Module', EJECT ??
?? PUSH (LISTEXT := ON) ??
*copyc ioe$st_errors
*copyc iot$monitor_request_block
*copyc ost$global_task_id
*copyc syt$monitor_request_code
?? POP ??
*copyc cmp$unlock_wired_rma_list
*copyc iop$mtr_set_status_abnormal
*copyc iop$subsystem_queue_request
?? TITLE := '  [XDCL] iop$request_processor', EJECT ??

  PROCEDURE [XDCL] iop$request_processor
    (VAR subsystem_request_block: iot$monitor_request_block);

    CASE subsystem_request_block.subsystem_request_code OF
    = ioc$queue_io_request =
      iop$subsystem_queue_request (subsystem_request_block);

    = ioc$unlock_rma_list =
      cmp$unlock_wired_rma_list (subsystem_request_block);

    ELSE
      iop$mtr_set_status_abnormal (ioe$unsupported_monitor_request, subsystem_request_block.status);
    CASEND;

  PROCEND iop$request_processor;
?? OLDTITLE ??
MODEND iom$request_processor;

