121B AwaitFileTransfer¶
Stub MON 121B (81 decimal) · Mnemonic WAITF · Group: File Operations (manual section 2.4)
Available from: RT programs (manual compatibility box)
Emulation source: src/handlers/mon_121B_AwaitFileTransfer.c
Description¶
Checks that a data transfer to or from a mass-storage file is completed. The monitor call is relevant to ReadFromFile and WriteToFile operations. These data transfers are carried out independently of the CPU.
Notes¶
- You may specify that the program should wait if the transfer is not ready. It is set in the I/O wait state.
- A patch exists to permit AwaitFileTransfer to return status information from the last ReadFromFile or WriteToFile. This is a non-standard patch, number 289, available on SINTRAN III VSX and VSX-500.
- File number. See Openfile.
- Wait flag. If 0, the program waits until the data transfer is completed. Other values return a value showing the state of the transfer. Programs on the ND-500 do not wait.
- State of transfer. Without patch 289: All error codes are from AwaitfileTransfer.
- 0 means that transfer is finished.
- -1 means that transfer is not finished.
- > 0 are Standard Error Codes (see appendix A).
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
FileNumber |
INTEGER | In | File number. See OpenFile. |
ReturnFlag |
INTEGER | In | Wait flag. 0=wait until transfer complete. Other values=return immediately with status. |
Status |
INTEGER | Out | State of transfer: 0 = transfer finished -1 = transfer not finished > 0 = error code (see appendix A) |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
Compatibility¶
| Machines | Users | Programs |
|---|---|---|
| ND-100 and ND-500 | User RT and user SYSTEM | RT programs |
The manual's compatibility box for this call, word for word.
Yes/no fields from the YAML extraction (not in the manual's words):
| ND-100 | ND-500 | User programs | RT programs | System programs |
|---|---|---|---|---|
| Yes | Yes | Yes | Yes | No |
Examples¶
From the manual (OCR text, not corrected).
INTEGER : FileNumber, ReturnFlag, Status
...
Monitor_Call('AwaitFileTransfer', FileNumber, ReturnFlag, Status)
INTEGER FileNumber, ReturnFlag, Status
...
Monitor_Call('AwaitfileTransfer', FileNumber, ReturnFlag, Status)
FileNumber, ReturnFlag, Status : INTEGER2;
...
AwaitFileTransfer(FileNumber, ReturnFlag, Status);
01 FileNumber COMP.
01 ReturnFlag COMP.
01 Status COMP.
...
MONITOR-CALL "AwaitFileTransfer" USING FileNumber, ReturnFlag, Status.
FileNumber : W BLOCK 1
ReturnFlag : W BLOCK 1
Status : W BLOCK 1
AwaitFileTransfer : EQU 37B9 + 121B
...
CALLG AwaitFileTransfer, 2, FileNumber, ReturnFlag
IF K GO Error
...
Error, W1 =: Status %Status is returned in W1 register.
LOA (PAR %Load register A with address of parameter list.
MON 121 %Monitor call AwaitFileTransfer.
STA STAT %Store returned status.
JAP ERROR %Handle error if STAT is greater than 0.
...
ERROR, ... %Handle the error with error number in STAT.
...
STAT, 0
PAR, FILNO %File number.
FLAG %Return flag.
...
FILNO, ...
FLAG, 0
ndmonlib implementation¶
Stub Registered MON_STATUS_NOT_IMPLEMENTED: the handler is a stub. mon_dispatch() in src/core/mon_dispatch.c reports the call as unimplemented without calling it.
| Handler | mon_121B_AwaitFileTransfer |
| Code lines | 7 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 87.