?? TITLE := 'NOS/VE :  NETWORK ACCESS METHOD' ??
MODULE nam$se_interrupt;
?? RIGHT := 110 ??

?? NEWTITLE := 'Global Declarations Referenced By This Module', EJECT ??
?? PUSH (LISTEXT := ON) ??
*copyc amc$condition_code_limits
*copyc ame$improper_file_id
*copyc amt$call_block
*copyc amt$fap_layer_number
*copyc amt$fap_pointer
?? POP ??
*copyc baf$task_file_entry_p
*copyc osp$set_status_abnormal
?? OLDTITLE ??
?? NEWTITLE := '[#gate, xdcl] NAP$SE_INTERRUPT', EJECT ??

*copyc nah$se_interrupt

 PROCEDURE [#GATE,XDCL] nap$se_interrupt (
        file_identifier: amt$file_identifier;
        data: SEQ (*);
    VAR status: ost$status);


    CONST
      interface_name = 'NAP$SE_SEND_INTERRUPT',
      fap_layer_number = 0;

    VAR
      call_block: amt$call_block,
      file_instance_p: ^bat$task_file_entry;

    status.normal := TRUE;
    file_instance_p := baf$task_file_entry_p (file_identifier);
    IF file_instance_p = NIL THEN
      osp$set_status_abnormal (amc$access_method_id, ame$improper_file_id,
            interface_name, status);
      RETURN;
    IFEND;

    call_block.operation := nac$se_interrupt_req;
    call_block.se_interrupt_data := ^data;
    file_instance_p^.fap_control_information.first_fap.access_method^
          (file_identifier, call_block, fap_layer_number, status);

    IF NOT status.normal THEN
      IF (file_instance_p^.instance_attributes.dynamic_label.error_exit_procedure <> NIL) THEN
        file_instance_p^.instance_attributes.dynamic_label.error_exit_procedure^ (file_identifier, status);
      IFEND;
    IFEND;

  PROCEND nap$se_interrupt;
?? OLDTITLE ??
MODEND nam$se_interrupt;
