General
Application area: | Distributed Lock Manager (DLM); see "Distributed Lock Manager (DLM)" |
Macro type: | Type S, MF format 3: C/D/L/M/E form; see "S-type macros" |
Macro description
The LKLSB macro generates the layout of the Lock Status Blocks (LSB). The LSB is part of the user address space which must be generated by the user for an asynchronous lock request. This user address space must be accessible for the DLM until the generated lock request is terminated.
Termination of the asynchronous lock request causes a corresponding return code to be written to the LSB. The user-defined event method for this lock request is started.
To decide whether the return code in the LSB was delivered by the DLM, the user must initialize the LSB by initializing the return code with the return code value when calling LKLSB MF=L
.
Macro formats and description of operands
LKLSB |
MF=C / D / L / M ,PARAM=<var: pointer> / (reg: pointer>) ,PREFIX=N / p ,MACID=LDL / mac |
MF=
For a general description of the MF operand, its operand values and any subsequent operands (e.g. PREFIX, MACID, and PARAM), see "S-type macros". The valid MF values are given at the start of the macro description under “Macro type” and are included in the macro format.
A PREFIX can be specified in the C form, D form or M form of the macro and additionally a MACID in the C form or M form.
Initialization of the Lock Status Block
LKLSB MF=L 1 MFTST MF=L,PREFIX=N,MACID=LDL,ALIGN=F, C 1 DMACID=LDL,SUPPORT=(D,C,M,L) 2 DS 0F 1 FHDR MF=L,UNIT=247,FUNCT=6,VERS=1,RC=-1 2 DS 0A 2 DS 0XL8 GENERAL OPERAND LIST HEADER 2 DC AL2(247) FUNCTION UNIT NUMBER 2 DC AL1(6) FUNCTION NUMBER 2 DC AL1(1) FUNCTION INTERFACE VERSION NUMBER 2 DC A(-1) Returncode 1 * FHDR 1 DC A(0) LOID 1 DC A(0) OWID 1 DC CL16' ' VAL