Product Documentation

FairCom ISAM for C

Previous Topic

Next Topic


This ISAM-level function verifies the total integrity of a FairCom DB data file and its associated index files.

Function Name

NINT ctVerifyFile(pctVFYFIL pvfyfil);


ISAM-level function


  • pvfyfil points to a ctVFYFIL structure (see ctport.h)

typedef struct ctvfyfil {

LONG verson; /* Version of this structure. */

LONG options; /* Which operations to perform. */

LONG errbufsiz; /* Size of optional error message buffer. */

LONG chkkey; /* Index files to check (0=all, 1=first

index in IFIL, 2=second index, etc). */

pTEXT datnam; /* Name of data file to check. */

pTEXT fileword; /* Optional data file password. */

pVFYMSGCBFNC fnmessage; /* Optional message callback function. */

pVFYPRGCBFNC fnprogress; /* Optional progress callback function. */

pVFYERRCBFNC fnerror; /* Optional progress callback function. */

pTEXT errbuf; /* Optional error message buffer. */


An optional callback can be called from the fnprogress structure member.

Supported options


Open the files in exclusive mode. Otherwise, the files are opened in read-only mode, allowing other connections to also open the file in read-only mode.


Read the data file in physical order, not checking keys.


Read the data file in physical order and check that each index contains the key built from the record image.


Perform more thorough index validations for unusual problems.


Read the index file in key order and don't check the key built from the record image.


Read the index file in key order and check that the key built from the record image matches the key in the index.


Scan a data files delete stack or space management index verifying each deleted space entry corresponds to a deleted (not active) record.


Deleted space scan is starting. (for use with a callback)


Deleted space scan in progress, with the pct parameter indicating approximate percent complete. (for use with a callback)


Deleted space scan has completed. (for use with a callback)

Note: ctVerifyFile() requires exclusive access to the file (ctVFopenExclusive). The only exception is the ctVFchkDeletedSpace option, which does not require exclusive access.

The source code for the accompanying ctvfyfil utility provides a good example showing how to use the ctVerifyFile() function.

Note: When a user-defined ctVerifyFile() error callback function returns a non-zero error code so that it can cancel the verification operation, ctVerifyFile() returns the c-tree error code and system error code for the error that triggered that call to the error callback function.

See Also