OpenTP1 Version 7 Programming Reference C Language

[Contents][Index][Back][Next]

dc_ist_read - Input an internode shared table record

Format

ANSI C, C++

#include <dcist.h>
int  dc_ist_read (int istid, struct DC_ISTKEY *keyptr,
                  int keyno, char *bufadr, int bufsize,
                  DCLONG flags)

K&R C

#include <dcist.h>
int  dc_ist_read (istid, keyptr, keyno, bufadr, bufsize,
                  flags)
int        istid;
struct  DC_ISTKEY  *keyptr;
int        keyno;
char       *bufadr;
int        bufsize;
DCLONG     flags;

Description

The function dc_ist_read() inputs a record in a specified range from a specified internode shared table. If multiple records are collectively specified and an error occurs with any of the specified records, the function dc_ist_read() returns with an error without inputting the records to the input buffer.

When inputting an internode shared table record, specify the table descriptor which is the return value of the function dc_ist_open().

Arguments whose values are set in the UAP

istid

Specify the table descriptor of the internode shared table to be accessed.

keyptr

Specify the address of the structure (IST key) indicating the range of the relative record numbers of the record to be referenced. For the structure, specify the record range with the first and last relative block numbers. The structure formats are as follows:

struct  DC_ISTKEY {
                   int  fstrecno;
                   int  endrecno;
                   };

keyno

Specify the number of structures (number of arrays in the structure) to be specified for keyptr.

bufadr

Specify the input buffer address.

bufsize

Specify the input buffer length. The value must be (input record length x number of input records) or greater.

flags

Specify DCNOFLAGS.

Return values

Return value Return value (numeric) Explanation
DC_OK 0 All specified records are normally input.
DCISTER_PROTO -3800 The call sequence of functions which access the internode shared table is invalid.
DCISTER_BADID -3803 The table descriptor specified for istid is not the one which was acquired by opening the table normally.
The internode shared table is not open.
DCISTER_BUFER -3804 The input buffer length specified for bufsize is insufficient to input all records.
DCISTER_RNOER -3806 The relative record number is invalid.
DCISTER_NOMEM -3807 The memory became insufficient.
DCISTER_PARAM_KEYNO -3809 The value specified for keyno is less than 1.
DCISTER_PARAM_FLAGS -3811 The value specified for flags is invalid.