Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)
System Functions (s and S) SPT_READUPDATELOCKX(2)
NAME
SPT_READUPDATELOCKX - Allows random processing of records in a Guardian disk file
LIBRARY
G-series native OSS processes: /G/system/sysnn/zsptsrl
H-series OSS processes: /G/system/zdllnnn/zsptdll
SYNOPSIS
[#include <cextdecs.h>]
#include <spthread.h>
short SPT_READUPDATELOCKX (
short filenum,
char *buffer,
unsigned short read_count,
[unsigned short *count_read ],
[long tag ]
);
PARAMETERS
filenum specifies the file number of a Guardian file open instance that identifies the file to
be read.
buffer specifies an array in the application process in which the information read from
the file is returned.
read_count specifies the number of bytes to be read.
count_read is for waited I/O only. This parameter returns a count of the number of bytes
returned from the file into buffer.
tag is for nowait I/O only. The tag value you define uniquely identifies the operation
associated with this call.
This parameter is supported only for program compatibility; if you provide it, it
is ignored.
DESCRIPTION
The SPT_READUPDATELOCKX() function is the thread-aware version of the Guardian
READUPDATELOCKX procedure.
You use SPT_READUPDATELOCKX() function for random processing of records in a Guar-
dian disk file. This function first locks then reads the record from the current position in the file
in anticipation of a subsequent call to the SPT_WRITEUPDATEX() or
SPT_WRITEUPDATEUNLOCK() procedure. SPT_READUPDATELOCKX() is intended
for reading a record after calling the Guardian POSITION or KEYPOSITION procedure.
SPT_READUPDATELOCKX() locks and reads the record in the same manner as the combina-
tion of the Guardian LOCKREC and READUPDATEX procedures but requires less system pro-
cessing than the two separate calls would require.
For programming information about the READUPDATELOCKX procedure, see the Enscribe
Programmer’s Guide and the Guardian Programmer’s Guide.
Considerations
Buffer use SPT_READUPDATELOCKX() is intended for use with 32-bit extended
addresses. Therefore, the data buffer for SPT_READUPDATELOCKX() can
be either in the caller’s stack segment or any extended data segment.
527186-023 Hewlett-Packard Company 7−331