Skip to content

217B GetAllFileIndexes

Stub   MON 217B (143 decimal) · Mnemonic GUIOI · Group: File System Operations (manual section 2.9)

Available from: All programs (manual compatibility box)

Emulation source: src/handlers/mon_217B_GetAllFileIndexes.c

Description

Gets the directory index, the user index, and the object index of a file. These are indexes in the SINTRAN III File System. Appendix C describes the File System.

  • The file must be open.
  • You may get the information if the file is on your local computer, or on a remote computer system if the computers are connected through a COSMOS network.

Parameters

Name Type Direction Description
FileNo INTEGER In File number. See OpenFile.
DirIndex INTEGER Out Directory index.
UserIndex INTEGER Out User index.
ObjectIndex INTEGER Out Object index.
RemoteFlag INTEGER Out 0 if file is local, 1 if on remote computer.
RemoteSystem STRING Out Remote system identification string (optional, 64 chars).

Direction: In = the program supplies the value, Out = the call returns it, In/Out = both.

See also

GetDirUserIndexes, GetDirNameIndex, GetFileIndexes, GetDirEntry, GetUserEntry, GetObjectEntry, and GetDefaultDir

Compatibility

Machines Users Programs
ND-100 and ND-500 All users 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 : FileNo, DirIndex, UserIndex, ObjectIndex, RemoteFlag
BYTES : RemoteSystem(0:63)
...
ON ROUTINEERROR DO
&emsp;IF ErrCode >< 0 THEN ...
ENDON

Monitor_Call('GetAllFileIndexes', FileNo, DirIndex, UserIndex, ObjectIndex,&
&emsp;&emsp;RemoteFlag, RemoteSystem)
INTEGER FileNo, DirIndex, UserIndex, ObjectIndex, RemoteFlag
CHARACTER RemoteSystem*64
...
Monitor_Call('GetAllFileIndexes', FileNo, DirIndex, UserIndex,
  ObjectIndex, RemoteFlag, RemoteSystem(1:64))
IF (ErrCode .NE. 0) THEN ...


Scanned by Jonny Oddene for Sintran Data © 2020
FileNo, DirIndex, UserIndex, ObjectIndex : INTEGER2;
...
GetAllFileIndexes(FileNo, DirIndex, UserIndex, ObjectIndex);
IF ErrCode <> 0 THEN ...
01 FileNo COMP.
01 DirIndex COMP.
01 UserIndex COMP.
01 ObjectIndex COMP.
01 RemoteFlag COMP.
01 RemoteSystem PIC X(64).
01 ErrCode COMP.
...
MONITOR-CALL "GetAllFileIndexes" USING FileNo, DirIndex, UserIndex,
  ObjectIndex, RemoteFlag, RemoteSystem.
CALL "CbError" USING ErrCode.
IF ErrCode NOT = 0 GO ...
| Variable      | Width | Description |
|---------------|-------|-------------|
| FileNo        | W BLOCK 1 | |
| DirIndex      | W BLOCK 1 | %If bit 7 is set, SysId is a 5th parameter. |
| UserIndex     | W BLOCK 1 | |
| ObjectIndex   | W BLOCK 1 | |
| SysId         | STRING 16 | %Remote system name as an optional 5th parameter. |
| ErrCode       | W BLOCK 1 | |

GetAllFileIndexes : EQU 37B9 + 217B
...
CALLG GetAllFileIndexes, 4, FileNo, DirIndex, UserIndex, ObjectIndex
% This call is for a local file. For a remote file, the
% format would be:
% CALLG GetAllFileIndexes, 5, FN, DI, UI, OI, SysID
IF K GO ERROR
...

ERROR : WI =: ErrCode %ErrorCode in W1 register.
LDA (BUFF %Buffer in which to return remote system
COPY SA DD % identification
LDA FILNO %File number returned from earlier OpenFile.
MON 217 %Monitor call GetAllFileIndexes.
JMP ERROR %Error return from monitor call.
STT INDEX %Normal return, store directory and user index.
STX OBJIX %Store object index.
COPY SD DA %Remote identification in D register if bit 15
STA REMID % in T register is set.
...
ERROR, ... %Error number in register A.
...
FILNO, ...
INDEX, 0 %Dir index: left byte. User index: right byte.
OBJIX, 0 %Object index.
REMID, 0 %Address of remote identification string.
BUFF, 0
*+40/

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_217B_GetAllFileIndexes
Code lines 6 (non-blank, non-comment lines in the file)

Source

SINTRAN III Monitor Calls (ND-860228.2 EN), page 221.