244B GetDirEntry¶
Stub MON 244B (164 decimal) · Mnemonic GDIEN · Group: File System Operations (manual section 2.9)
Available from: All programs (manual compatibility box)
Emulation source: src/handlers/mon_244B_GetDirEntry.c
Description¶
Gets information about a directory. The directory entry is returned. Appendix C describes the file system in more detail.
- You may access directories on remote systems. The computers must be connected through a COSMOS network.
Parameters¶
| Name | Type | Direction | Description |
|---|---|---|---|
DirectoryIndex |
INTEGER2 | In | The directory index. See GetDirUserIndexes. Set bit 7 if SysId is supplied. |
DirEntry |
INTEGER2[21] | Out | The 42-byte directory entry. See appendix C. |
Flag |
INTEGER2 | Out | Flag indicating whether or not the disk has spare-track allocation. |
Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.
See also¶
GetDirUserIndexes, WriteDirEntry, GetUserEntry, and GetObjectEntry
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 |
|---|---|---|---|---|
| Yes | Yes | Yes | Yes | No |
Examples¶
From the manual (OCR text, not corrected).
INTEGER : DirectoryIndex, Flag, RemoteFlag
BYTES : DirEntry(0:47)
BYTES : RemoteSystem(0:63)
...
ON ROUTINEERROR DO
IF ErrCode > 0 THEN ...
ENDON
Monitor_Call('GetDirEntry', DirectoryIndex, DirEntry(0), Flag, RemoteFlag, &
RemoteSystem)
INTEGER DirectoryIndex, Flag, RemoteFlag
CHARACTER RemoteSystem*64
INTEGER DirEntry(24)
...
Monitor_Call('GetDirEntry', DirectoryIndex, DirEntry(1), Flag,
RemoteFlag, RemoteSystem(1:16))
C IF (ErrCode .NE. 0) THEN ...
DirectoryIndex, Flag : INTEGER2;
DirEntry : ARRAY [0..1] OF RECORD...END;
...
GetDirEntry(DirectoryIndex, DirEntry, Flag);
IF ErrCode <> 0 THEN ...
01 DirectoryIndex COMP.
01 Flag COMP.
01 DirEntry.
02 array COMP OCCURS 24 TIMES.
01 RemoteFlag COMP.
01 RemoteSystem PIC X(64).
01 ErrCode COMP.
...
MONITOR-CALL "GetDirEntry" USING DirectoryIndex, DirEntry, Flag,
RemoteFlag, RemoteSystem)
CALL "CbError" USING ErrCode.
IF ErrCode NOT = 0 GO ...
DirectoryIndex : W BLOCK 1 %Bit 7 set if SysId is supplied.
Flag : W BLOCK 1
DirEntry : W ARRAY 25B
SysId : STRING 16 %Remote system name as an optional 4th parameter.
ErrCode : W BLOCK 1
GetDirEntry : EQU 37B9 + 244B
...
CALLG GetDirEntry, 3, DirectoryIndex, DirEntry, Flag
IF K GO ERROR
...
ERROR : W1 =: ErrCode %ErrorCode in W1 register.
LDT DIRIX %Directory index.
LDX (BUFF %Buffer to receive directory entry.
LDA (REMID %Remote system identification in D register.
COPY SA DD %Used only if bit 15 in X register is set.
MON 244 %Monitor call GetDirEntry.
JMP ERROR %Error return from monitor call.
...
%Normal return.
%A-reg.=1 or 5 : disk has spare-track allocation.
%A-reg.=3 : no spare-track allocation.
ERROR, ... %Error number in register A.
...
DIRIX, ... %Set bit 15 if remote system.
BUFF, 0 %
*+30/ %24 word long buffer.
REMID, 0 %Remote identification string.
*+40/ %32 words for string.
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_244B_GetDirEntry |
| Code lines | 6 (non-blank, non-comment lines in the file) |
Source¶
SINTRAN III Monitor Calls (ND-860228.2 EN), page 233.