Skip to content

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

ReleaseDir

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.