Guardian Procedure Calls Reference Manual

The length in bytes of the key if the lock is a record lock on either a key-sequenced file or a format 2
non-key-sequenced file. In H06.28/J06.17 RVUs with specific SPRs and later RVUs, the maximum length
[5]
of the key if the lock is a record lock on a format 2 key-sequenced file is 2048 bytes. (For a list of the
required H06.28/J06.17 SPRs, see SPR Requirements for Increased Enscribe Limits for the H06.28/J06.17
Release (page 31).) The length for earlier RVUs and for format 1 files, is 0. The length of the key if the
lock is a record lock on a format 2 non-key-sequenced file is always 8.
The key value if the lock is a record lock on a key-sequenced file, or a Record specifier (8 bytes) if the
lock is a record lock on a format 2 non-key-sequenced file.
[6:N]
lock-descr-length
input
INT:value
specifies the length in bytes of the buffer pointed to by lock-descr. In H06.28/J06.17 RVUs
with specific SPRs and later RVUs, an application may need to allocate more space in the
lock-descr buffer if an increased locked key length value is used. (For a list of the required
H06.28/J06.17 SPRs, see SPR Requirements for Increased Enscribe Limits for the
H06.28/J06.17 Release (page 31).)
participants
output
INT .EXT:ref:*
returns an array in which each entry describes a process or transaction that is holding or
waiting for the lock described by lock-descr. The maximum number of processes or
transactions that can be described is specified by max-participants. Each entry is 12
words long and has this format:
Flags. The bits have these meanings:[0]
The participant is identified by processhandle.= 1<0>
The participant is identified by transid.= 0
The lock is granted.= 1<1:3>
The lock is in the waiting state.= 0
The lock is an intent lock internally set by DP2.= 1<4>
(Reserved)<5:11>
Lock States. These lock states have these meanings:<12:15>
Intent share for file locks needed.LITERAL LK^IS = 1
Intent exclusive for file locks. Needed to lock a record using
LK^UX, LK^X.
LITERAL LK^IX = 2
Used only to test for existence of KS. Record range locks (LK^S
AND LK^X).
LITERAL LK^R = 3
Share for unique record locks. For KS record lock a range is
not locked.
LITERAL LK^US = 4
Share for file and record locks. For KS record lock a range is
locked. Lines deleted.
LITERAL LK^S = 5
Share and intent exclusive derived state for file locks.LITERAL LKSIX = 6
Exclusive unique record locks. For KS record lock a range is
locked. Lines deleted.
LITERAL LK^UX = 7
Exclusive for file and record locks. For KS record lock a range
is locked.
LITERAL LK^X = 8
Reserved[1]
436 Guardian Procedure Calls (F)