TACL Reference Manual
Built-In Functions and Variables
HP NonStop TACL Reference Manual—429513-018
9-250
#LOCKINFO Built-In Function
Consideration
For D-series programs, use the #FILEGETLOCKINFO built-in function.
Example
This routine accepts a volume name and reports all locks for that volume.
?SECTION looklock ROUTINE
#FRAME
== Define buffer into which #LOCKINFO puts lock information.
[#DEF buffer STRUCT
BEGIN
STRUCT lib;
BEGIN
BYTE type;
BYTE keylen;
INT misc;
CHAR svol^file(0:15);
INT numlab;
INT2 laboff; == byte offset of 1st labinfo entry
BYTE keyval(0:255);
INT2 recaddr REDEFINES keyval;
== Be sure there is space for at least 1 labinfo entry.
== More might fit if keylen < 256.
FILLER 12;
END; == lib
STRUCT generic REDEFINES lib;
BEGIN
BYTE onechar (0:293);
END;
END; == buffer
] == end #DEF
== Define structure for one labinfo entry.
== One entry at a time is copied here from buffer.
[#DEF labinfo STRUCT
BEGIN
INT misc;
CRTPID locker;
TRANSID translocker REDEFINES locker;
INT reserved;
END; == labinfo
] == end #DEF
== Get byte length of labinfo STRUCT
#PUSH labinfolen
#SET labinfolen [#VARIABLEINFO /LEN/ labinfo]
== Define macro to show information about one locked &
resource (a file or a record).
[#DEF display_lib MACRO |BODY|
#OUTPUT
== Get interesting values from buffer.
#SET type [buffer:lib:type]