The syntax of the IXLLOCK macro is as follows:
![Read syntax diagram](./c.gif)
main diagram
>>-IXLLOCK--b----CONTOKEN=contoken------------------------------>
>--,REQUEST=-+-OBTAIN--| parameters-1 |------+------------------>
+-ALTER--| parameters-4 |-------+
+-RELEASE--| parameters-7 |-----+
'-PROCESSMULT--| parameters-9 |-'
>--+------------------+--+------------------+------------------->
'-,RETCODE=retcode-' '-,RSNCODE=rsncode-'
.-,PLISTVER=IMPLIED_VERSION-.
>--+---------------------------+-------------------------------->
+-,PLISTVER=MAX-------------+
'-,PLISTVER=plistver--------'
.-,MF=S--------------------------.
>--+--------------------------------+--------------------------><
| .-,0D-----. |
+-,MF=(L-,mfctrl-+---------+-)---+
| '-,mfattr-' |
| .-,COMPLETE-. |
'-,MF=(E-,mfctrl-+-----------+-)-'
'-,COMPLETE-'
![Read syntax diagram](./c.gif)
parameters-1
.-,RNAMELEN=NO_RNAMELEN-.
>>---,RNAME=rname----+-----------------------+------------------>
'-,RNAMELEN=rnamelen----'
.-,LOCKDATA=ALL_ZEROES-.
>----,HASHVAL=hashval----+----------------------+--------------->
'-,LOCKDATA=lockdata---'
.-,STATE=SHR--------------------------.
>--+-------------------------------------+---------------------->
+-,STATE=EXCL-------------------------+
'-,STATE=VALUE---,STATEVAL=stateval---'
.-,UDATAVAL=ALL_ZEROES-.
>--+----------------------+------------------------------------->
'-,UDATAVAL=udataval---'
.-,RDATA=NORDATA--------------------.
>--+-----------------------------------+------------------------>
+-,RDATA=WRITE-| parameters-2 |-----+
'-,RDATA=REACQUIRE-| parameters-3 |-'
.-,MODE=SYNCSUSPEND------------------------------------------------------------.
>--+------------------------------------------------------------------------------+-><
+-,MODE=SYNCEXIT---------------------------------------------------------------+
| .-,--SYNCFAILDELAY--=--0------------------. |
+-,MODE=SYNCFAIL-+-----------------------------------------+-------------------+
| '-,--SYNCFAILDELAY--=--syncfaildelayvalue-' |
| .-,--SYNCFAILDELAY--=--0------------------. |
'-,MODE=VALUE---,MODEVAL=modeval-+-----------------------------------------+---'
'-,--SYNCFAILDELAY--=--syncfaildelayvalue-'
![Read syntax diagram](./c.gif)
parameters-2
>>---,RDATAVAL=rdataval----+------------------+----------------->
'-,ENTRYID=entryid-'
>--+------------------------+----------------------------------><
'-,ENTRYCOUNT=entrycount-'
![Read syntax diagram](./c.gif)
parameters-3
.-,CONID=NO_CONID-.
>>---,ENTRYID=entryid----+-----------------+-------------------->
'-,CONID=conid----'
.-,UPDATERDATA=NO-------------------------.
>--+-----------------------------------------+-----------------><
'-,UPDATERDATA=YES---,RDATAVAL=rdataval---'
![Read syntax diagram](./c.gif)
parameters-4
.-,RNAMELEN=NO_RNAMELEN-.
>>---,RNAME=rname----+-----------------------+------------------>
'-,RNAMELEN=rnamelen----'
>----,HASHVAL=hashval------------------------------------------->
.-,STATE=SHR--------------------------.
>--+-------------------------------------+---------------------->
+-,STATE=EXCL-------------------------+
'-,STATE=VALUE---,STATEVAL=stateval---'
.-,UDATAVAL=ALL_ZEROES-.
>--+----------------------+------------------------------------->
'-,UDATAVAL=udataval---'
.-,RDATA=UNCHANGED--------------.
>--+-------------------------------+---------------------------><
+-,RDATA=DELETE-----------------+
+-,RDATA=WRITE-| parameters-5 |-+
'-| parameters-6 |--------------'
![Read syntax diagram](./c.gif)
parameters-5
>>---,RDATAVAL=rdataval------,ENTRYID=entryid------------------->
>--+------------------------+----------------------------------><
'-,ENTRYCOUNT=entrycount-'
![Read syntax diagram](./c.gif)
parameters-6
.-,MODE=SYNCSUSPEND---------------------------------------------.
>>-+---------------------------------------------------------------+-><
+-,MODE=SYNCEXIT------------------------------------------------+
| .-,--SYNCFAILDELAY--=--NO--. |
+-,MODE=SYNCFAIL-+--------------------------+-------------------+
| '-,--SYNCFAILDELAY--=--YES-' |
| .-,--SYNCFAILDELAY--=--NO--. |
'-,MODE=VALUE---,MODEVAL=modeval-+--------------------------+---'
'-,--SYNCFAILDELAY--=--YES-'
![Read syntax diagram](./c.gif)
parameters-7
.-,RNAMELEN=NO_RNAMELEN-.
>>---,RNAME=rname----+-----------------------+------------------>
'-,RNAMELEN=rnamelen----'
.-,UDATAVAL=ALL_ZEROES-.
>----,HASHVAL=hashval----+----------------------+--------------->
'-,UDATAVAL=udataval---'
.-,RDATA=DELETE----------------.
>--+------------------------------+----------------------------->
'-,RDATA=KEEP-| parameters-8 |-'
.-,MODE=SYNCSUSPEND----------------.
>--+----------------------------------+------------------------><
+-,MODE=SYNCEXIT-------------------+
+-,MODE=NORESPONSE-----------------+
'-,MODE=VALUE---,MODEVAL=modeval---'
![Read syntax diagram](./c.gif)
parameters-8
.-,UPDATERDATA=NO-------------------------.
>>-+-----------------------------------------+-----------------><
'-,UPDATERDATA=YES---,RDATAVAL=rdataval---'
![Read syntax diagram](./c.gif)
parameters-9
>>---,REQBUFFER=reqbuffer------,REQNUM=reqnum------------------->
.-,MODE=SYNCSUSPEND----------------.
>--+------------------+--+----------------------------------+--><
'-,REQPROC=reqproc-' +-,MODE=NORESPONSE-----------------+
'-,MODE=VALUE---,MODEVAL=modeval---'