246B ReserveDir¶
Stub MON 246B (166 decimal) · Mnemonic REDIR · Group: File System Operations (manual section 2.9)
Available from: All programs (manual compatibility box)
Emulation source: src/handlers/mon_246B_ReserveDir.c
Description¶
Reserves a directory for special use. The directory must be entered. Other users will not be able to open files on a reserved directory.
- All files in the directory must be closed.
- Only user RT and the current user may be logged in if main directory.
- Use ReleaseDir to release the directory.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
DirectoryIndex |
INTEGER | In | Directory index. Use @LIST-DIRECTORIES to find the directory index. |
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 | All 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 |
|---|---|---|---|---|
| No | No | Yes | Yes | No |
Disagreement
The manual box says ND-100 and ND-500, but the yes/no fields say ND-100 = No, ND-500 = No. The manual box is the source.
Examples¶
From the manual (OCR text, not corrected).
INTEGER : DirectoryIndex
...
ON ROUTINEERROR DO
IF ErrCode > 0 THEN ...
ENDON
Monitor_Call('ReserveDir', DirectoryIndex)
INTEGER DirectoryIndex
...
Monitor_Call('ReserveDir', DirectoryIndex)
IF (ErrCode .NE. 0) THEN ...
DirectoryIndex : INTEGER2;
...
ResDirectory(DirectoryIndex); [Note routine name.]
IF ErrCode <> 0 THEN ...
01 DirectoryIndex COMP.
01 ErrCode COMP.
...
MONITOR-CALL "ReserveDir" USING DirectoryIndex.
CALL "CbError" USING ErrCode.
IF ErrCode NOT = 0 GO ...
| DirectoryIndex : W BLOCK 1 |
|----------------------------|
| ErrCode : W BLOCK 1 |
| ReserveDir : EQU 3789 + 246B |
| ... |
| CALLG ReserveDir, 1, DirectoryIndex |
| IF K GO ERROR |
| ... |
| ERROR : W1 =: ErrCode |
%ErrorCode in W1 register.
LDT DIRIX %Directory index.
MON 246 %Monitor call ReserveDir.
JMP ERROR %Error return from monitor call.
... %Normal return.
ERROR, ... %Error number in register A.
...
DIRIX, ...
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_246B_ReserveDir |
| Code lines | 6 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 417.