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
 IF ErrCode >< 0 THEN ...
ENDON
Monitor_Call('GetAllFileIndexes', FileNo, DirIndex, UserIndex, ObjectIndex,&
  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.