ProvideX V8.20 > Language Reference > 9. Special Command Tags
775
The parameter block is defined as follows:
struct IODLL_PARAM
{
long
handle;
/* DLL specific handle */
int
nFunction;
/* IO Function */
int
nMode;
/* Access mode (Next, KEY=, IND=, ...) */
int
lenBuffer;
/* Size of buffer */
char
*pBuffer;
/* Pointer to buffer */
int
lenRecID;
/* Length or key of index/rec# */
char
*pRecID;
/* Pointer to KEY buffer*/
int
idxRecID;
/* Key Number/Index Number/RNO (base 0) */
int
nKNOValue;
/* KNO= Specified on directive/function */
};
Where:
Identifies the specific file for the request. On the OPEN, the DLL
handle
returns this value, which is used for all subsequent calls.
Identifies the type of function being performed (OPEN, CLOSE, ...).
nFunction
Possible values include:
#define IODLL_FNC_OPEN
1
#define IODLL_FNC_CLOSE
2
#define IODLL_FNC_READ
3
#define IODLL_FNC_EXTRACT  4
#define IODLL_FNC_WRITE
5
#define IODLL_FNC_INSERT
6
#define IODLL_FNC_REMOVE
7
#define IODLL_FNC_KEYNEXT  8
#define IODLL_FNC_KEYPREV  9
#define IODLL_FNC_KEYCUR
10
#define IODLL_FNC_KEYFIRST 11
#define IODLL_FNC_KEYLAST  12
#define IODLL_FNC_RNO
13
#define IODLL_FNC_IND
14
#define IODLL_FNC_LOCK
15
#define IODLL_FNC_UNLOCK
16
#define IODLL_FNC_PURGE
17
#define IODLL_FNC_KEN
18
#define IODLL_FNC_LOAD
-1
#define IODLL_FNC_FREE
-2
Identifies the access method being applied during a READ/WRITE
nMode
operation. Possible access values include:
#define IODLL_MODE_NEXT
0
#define IODLL_MODE_BY_KEY  1
#define IODLL_MODE_BY_IND  2
#define IODLL_MODE_BY_RNO  3
Length of the data buffer used for READ/WRITE.
lenBuffer
Pointer to the data buffer to be used for READ/WRITE operations.
pBuffer