Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)
System Functions (n - p) PUT_READUPDATELOCKX(2)
To use this function on systems running J06.10 or later RVUs or H06.21 or later RVUs, you must
perform all of the following tasks:
• Include the pthread.h header file in the application.
• Compile the application using the _PUT_MODEL_ feature test macro or equivalent
compiler command option.
• Link the application to the zputdll library.
On systems running H06.24 or later H-series RVUs or J06.13 or later J-series RVUs, you can use
this function with 32-bit or 64-bit applications.
To use this function in a 32-bit application on systems running H06.24 or later RVUs or J06.13 or
later RVUs, perform the same tasks (described above) used to enable the function on systems
running H06.21/J06.10 or later RVUs.
To use this function in a 64-bit application on systems running H06.24 or later RVUs or J06.13 or
later RVUs, you must perform all of the following tasks:
• Include the pthread.h header file in the application.
• Compile the application using the _PUT_MODEL_ feature test macro or equivalent
compiler command option.
• Compile the application using the -Wlp64 compiler command option.
• Link the application to the yputdll library (/G/system/zdllnnn/yputdll).
Considerations
Buffer use PUT_READUPDATELOCKX() is intended for use with 32-bit extended
addresses and 64-bit extended addresses. The data buffer for
PUT_READUPDATELOCKX() can be either in the caller’s stack segment or
any extended data segment.
Nowait I/O and PUT_READUPDATELOCKX()
The PUT_READUPDATELOCKX() function must complete with a
corresponding call to the Guardian AWAITIOX procedure when used with a file
that is opened for nowait I/O.
Use on nondisk files
If PUT_READUPDATELOCKX() is performed on nondisk files, an error is
returned.
Random processing
For key-sequenced, relative, and entry-sequenced files, random processing
implies that a designated record must exist. Therefore, positioning for
PUT_READUPDATELOCKX() is always to the record described by the exact
value of the current key and current-key specifier. If such a record does not
exist, the call to PUT_READUPDATELOCKX() is rejected with Guardian
file-system error 11.
Queue files To use PUT_READUPDATELOCKX(), you must open a queue file with write
access and with a sync_or_receive_depth of 0 (zero).
527186-023 Hewlett-Packard Company 5−237