DSC Tech Library
FASTPLUS C Library
fpkey_get()
Function fpkey_get retreives/locks a record in index order by the value specified.
The syntax for fpkey_get is as follows:
fpkey_get(int file_id, int flags, int index, char *keyval, int key_len, char
*keyval_found, char *record, int record_len, int *recno, int *keyloc)
int file_id - File unit of open file from previous
fpfile_open function.
int flags - Bitmapped flag indicating type of get to perform.
0 (FSNFST) - find first entry
1 (FSNEQL) - find entry equal to
2 (FSNPAR) - find partial
3 (FSNGTR) - find greater than
4 (FSNGEQ) - find greater than or equal to
5 (FSNLSS) - find less than
6 (FSNLEQ) - find less than or equal to
7 (FSNLST) - find last entry
8 (FSNCUR) - return current entry - overides
other search flags
- These flags are added to the flags ubove.
16 (FSNPRV) - find previous entry
32 (FSNNXT) - find next entry
64 (FSNLCK) - lock record
128 (FSNULK) - unlock record - overides other
search flags
int index - Index number to search on.
char *keyval - Value of key to find.
int key_len - Length of key to be searched.
char *keyvalue_found - Value of key found.
char *record - Record buffer with key values.
int record_len - Length of record to be returned, 0 = entire record.
int *recno - Record address of record returned by the get.
int *keyloc - Address of the key returned by the get.
The possible values for fperrno and an explanation of each value follow.
Value Explanation
--------------------------------------------------
FEROK - Code 0: Successful FASTPLUS Operation
FERACC - Code 2: Illegal access rights
FEROPN - Code 5: FAST file does not exist
FERUNT - Code 6: Illegal FAST file id
FERLEN - Code 7: Illegal record length
FERFHE - Code 9: System file error
FERIND - Code 10: Illegal index number
FERDUP - Code 11: Duplicate key value
FEREXT - Code 12: Record not found
FERVLN - Code 17: Illegal key length
|