mme gerout vfd 18/ID,o6/45,h12/0 zero STATPTR,COURTESY
Bits 0-17: ID of terminal to which status applies Bits 18-35: 1 if break, 2 if disconnect
This version of MME GEROUT may only be used in DAC mode. It lets a slave program request the break/disconnect status of a line connected to the program, and/or acknowledge a previously returned status.
If there are no unreported BREAK or disconnect statuses to be returned when .MROUT receives the request, the condition is retained in a manner similar to Remote Inquiry processing.
MME GEROUT delays the return of break acknowledgement or disconnect accepted operation codes until the DAC program connected to the line has acknowledged receipt of the status. Disconnects are acknowledged immediately if the program is aborting.
When .MROUT receives this MME GEROUT, all subsequent status returns are handled as defined for this MME. Therefore, a program intending to use this functionality should issue the generalized remote status inquiry immediately before its first Remote Inquiry (MME GEROUT (05)) upon entering execution.
When operating in main level, a program using courtesy call to satisfy a remote status inquiry must not issue a break/disconnect acknowledgement at courtesy call level and then return to main level and issue I/O to that terminal.
When operating in generalized remote status inquiry mode, statuses will only be reported via new or outstanding MME GEROUT (45) operations. The status returned on I/O that has been terminated because of a break or disconnect is defined as
octal 400: I/O aborted
The .MROUT module maintains a table that is used to record outstanding status inquiries. Each two-word entry in this table has the following form:.
Word 0, upper: program number Word 0, lower: relative location of MME+1 Word 1, upper: STATPTR Word 2, lower: courtesy call queue offsetWord 1 contains an offset to the reserved I/O queue; this is zero if a courtesy call is not requested.
When an entry is made to this table, .MROUT obtains an I/O queue if courtesy call is requested in the MME GEROUT call. If courtesy call is requested, any break/disconnect status is reported to the program immediately.
The .MDNET module also maintains the two-word table set up by .MROUT that is used to record the status reporting mode selected by a DAC slave program. Each bit position in this table corresponds to a program number. A bit that is on indicates that the corresponding program is in the generalized remote status inquiry role. In addition, a word in each entry in the terminal line table contains status bits as follows:
Bit 0: if on, break received, program not notified Bit 1: if on, break returned to DAC program, not acknowledged Bit 2: if on, disconnect received, not reported to DAC program Bit 3: if on, disconnect returned to DAC program, not acknowledged Bit 4: if on, last line for which status was returned
Copyright © 2000, Thinkage Ltd.