Skip to content

216B SetObjectEntry

Stub   MON 216B (142 decimal) · Mnemonic DWOBJ · Group: File System Operations (manual section 2.9)

Available from: All programs (manual compatibility box)

Emulation source: src/handlers/mon_216B_SetObjectEntry.c

Description

Changes the description of a file. An object entry describes each file. It contains the file name, the access rights, the date it was last opened for read and write, the size, and more. You may use GetObjectEntry to read an object entry, change parts of it, then write it back with SetObjectEntry.

  • You specify the directory index, the user index, and the object index.
  • There is one object entry for each version of a file.
  • Only user SYSTEM can change the object entry of a file without read or write access to the file.
  • On the ND-100 you may access files on remote computer systems if the computers are connected through a COSMOS network.

Parameters

Name Type Direction Description
Buffer INTEGER2[32] In The 64 byte object entry. See appendix C.
DirIndex INTEGER2 In The directory index. See GetAllFileIndexes.
UserIndex INTEGER2 In The user index. See GetAllFileIndexes.
ObjectIndex INTEGER2 In The object index. See GetAllFileIndexes.
SystemId STRING In Remote system identification if bit 7 in DirIndex is set.

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

See also

GetObjectEntry, GetAllFileIndexes, and @CHANGE-OBJECT-ENTRY

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).

BYTES : Buff(0:63)
INTEGER : DirIndex, UserIndex, ObjIndex, RemoteFlag
BYTES : RemoteSystem(0:63)
...
ON ROUTINEERROR DO
  IF ErrCode > 0 THEN ...
ENDON
Monitor_Call('SetObjectEntry', Buff(0), DirIndex, UserIndex, ObjIndex,&
  RemoteFlag, RemoteSystem)
INTEGER Buff(32)
INTEGER DirIndex, UserIndex, ObjIndex, RemoteFlag
CHARACTER RemoteSystem*64
...
Monitor_Call('SetObjectEntry', Buff(1), DirIndex, UserIndex, ObjIndex,
             RemoteFlag, RemoteSystem(1:64))
IF (ErrCode .NE. 0) THEN ...
Buff : ARRAY [0..1] OF RECORD...END;
DirIndex, UserIndex, ObjectIndex : INTEGER2;
...
SetObjectEntry(Buff, DirIndex, UserIndex, ObjectIndex);
IF ErrCode <> 0 THEN ...
01 Buff.
   02 array COMP OCCURS 32 TIMES.
01 DirIndex COMP.
01 UserIndex COMP.
01 ObjectIndex COMP.
01 RemoteFlag COMP.
01 RemoteSystem PIC X(64).
01 ErrCode COMP.
...
MONITOR-CALL "SetObjectEntry" USING Buff, DirIndex, UserIndex, ObjIndex,
                                     RemoteFlag, RemoteSystem.
CALL "CbError" USING ErrCode.
IF ErrCode NOT = 0 GO ...
Buff : H BLOCK 32
DirIndex : W BLOCK 1      %SysId used if bit 7 is set to 1.
UserIndex : W BLOCK 1
ObjIndex : W BLOCK 1
SysId : STRING 20B        %Dummy if not remote system
ErrCode : W BLOCK 1
SetObjectEntry : EQU 3789 + 216B
...
CALLG SetObjectEntry, 5, Buff, DirIndex, UserIndex, ObjIndex, SysId
IF K GO ERROR
...
ERROR : W1 =: ErrCode     %ErrorCode in W1 register.
LDA   (REMID)             %Remote identification in register D.
COPY  SA DD               %Used if bit 15 in register X is set.
LDA   (BUFF)              %Address of buffer containing source object entry.
LDT   INDEX               %Left byte: Dir. index, right byte: User index.
LDX   OBJIX               %Object index.
MON   216                 %Monitor call SetObjectEntry.
JMP   ERROR               %Error return from monitor call.
...                       %Normal return.
ERROR, ...                %Error number in register A.
...
BUFF, 0                   %
*+40/                     %Make a buffer of 32 words.
INDEX, ...                %Set bit 15 if remote file.
OBJIX, ...
REMID, 0                  %Remote system identification string.
*+32/                     %Space for the 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_216B_SetObjectEntry
Code lines 10 (non-blank, non-comment lines in the file)

Source

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