Skip to content

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.