FLAIM: flaim.h File Reference

- Main Page
- Modules
- Classes
- Files

- File List
- File Members

# flaim.h File Reference

`#include "flaimtk.h"`

## Classes
struct | CREATE_OPTS
| Database create options. This structure is passed to FlmDbCreate() to specify create options for a new database. More...
class | F_NameTable
| Class for mapping names to IDs and vice versa. Methods in this class allow an application to get the dictionary number for a field, index, or container using the field name, index name, or container name. It also allows an application to to get a field name, index name, or field name using the dictionary number. More...
struct | FINDEX_STATUS
| Structure returned from FlmIndexStatus() to report current status of an index. More...
struct | OPT_INFO
| Structure returned when FCURSOR_GET_OPT_INFO_LIST option is passed to FlmCursorGetConfig(). More...
struct | FLM_CACHE_USAGE
| Structure that holds cache usage statistics. The statistics will be for either block cache or record cache. More...
struct | FLM_MEM_INFO
| Structure returned from FlmGetMemoryInfo(). More...
struct | FLM_TRANS_EVENT
| Structure returned to an event handler function whenever transaction events occur. Specifically, this structure is returned for transaction begin, commit, and abort events. More...
struct | FLM_UPDATE_EVENT
| Structure returned to an event handler function whenever database update events occur. Specifically, this structure is returned for record add, modify, and delete events, as well as DRN reserve events. More...
struct | FLM_RFL_SIZE_EVENT
| Structure returned to an event handler function whenever RFL size events occur. Specifically, this structure is returned whenever the RFL exceeds the on-disk size threshold specified for a database. More...
struct | CHECKPOINT_INFO
| Structure that gives the current state of the checkpoint thread. Returned from FlmDbGetConfig() when eDbGetConfigType::FDB_GET_CHECKPOINT_INFO is passed in as the option. More...
struct | SWEEP_INFO
| Structure that reports information on the progress of FlmDbSweep(). More...
struct | FCURSOR_SUBQUERY_STATUS
| Structure that reports query processing progress. More...
struct | DB_COPY_INFO
| Structure that is returned to the callback function that is passed to FlmDbCopy(). More...
struct | CHK_RECORD
| Structure that is returned to the callback function that is passed to FlmDbRebuild(). More...
struct | DB_UPGRADE_INFO
| Structure that is returned to the callback function that is passed to FlmDbUpgrade(). More...
struct | DB_BACKUP_INFO
| Structure that is returned to the callback function that is passed to FlmDbBackup(). More...
struct | DB_RENAME_INFO
| Structure that is returned to the callback function that is passed to FlmDbRename(). More...
struct | NODE
| Structure for nodes used in GEDCOM functions. Nodes are the basic components of GEDCOM trees. More...
class | FlmRecordSet
| This class allows an application to keep a set of FlmRecord objects. More...
class | FlmUserPredicate
| This is an abstract base class which defines the interface that an application must implement to embed its own predicate in a query. More...
struct | DISKIO_STAT
| Structure used in gathering statistics to hold a operation count, a byte count, and an elapsed time. More...
struct | RTRANS_STATS
| Statistics for read transactions. More...
struct | UTRANS_STATS
| Statistics for update transactions. More...
struct | BLOCKIO_STATS
| Statistics for block reads and writes. More...
struct | LFILE_STATS
| Statistics gathered for a particular logical file (index or container). More...
struct | DB_STATS
| Database statistics. More...
struct | FLM_STATS
| FLAIM statistics returned from FlmGetStats(). More...
class | F_UnknownStream
| This is an abstract base class that allows an application to read "unknown" data from the RFL or to write "unknown" data to the RFL. More...
struct | BYTE_PROGRESS
| Structure used to report the progress of a restore operation. More...
class | F_Restore
| This is an abstract base class for reading backup data during a FlmDbRestore() operation. More...
class | FlmBlob
| This class provides an interface for handling binary large objects. More...
class | FlmRecord
| Class for creating and modifying database records. More...
struct | BLOCK_INFO
| Structure containing statistics collected during FlmDbCheck() for a particular category of blocks in the database. More...
struct | REC_KEY
| Structure used to create a linked list of index keys from a record. More...
struct | CORRUPT_INFO
| Structure containing information about a specific corruption that is being reported by FlmDbCheck(). More...
struct | LEVEL_INFO
| Statistics for a particular level in an index or container b-tree. These statistics are gathered by FlmDbCheck(). More...
struct | LF_STATS
| Statistics gathered by FlmDbCheck() for a particular logical file (index or container). More...
struct | DB_CHECK_PROGRESS
| Structure returned during status callback from FlmDbCheck(). More...
struct | REBUILD_INFO
| Structure returned during status callback from FlmDbRebuild(). More...
struct | FMAINT_STATUS
| This structure is returned from FlmMaintenanceStatus(). It contains information about the background maintenance thread. More...
## Defines
#define | FERR_OK NE_FLM_OK
| 0 - Operation succeeded
#define | FERR_BOF_HIT NE_FLM_BOF_HIT
| 0xC001 - Beginning of file or set hit.
#define | FERR_EOF_HIT NE_FLM_EOF_HIT
| 0xC002 - End of file or set hit.
#define | FERR_END 0xC003
| 0xC003 - End of GEDCOM file - this is an internal error.
#define | FERR_EXISTS NE_FLM_EXISTS
| 0xC004 - Record already exists.
#define | FERR_FAILURE NE_FLM_FAILURE
| 0xC005 - Internal failure.
#define | FERR_NOT_FOUND NE_FLM_NOT_FOUND
| 0xC006 - A record, key, or key reference was not found.
#define | FERR_BAD_DICT_ID 0xC007
| 0xC007 - Invalid dictionary record number -- outside unreserved range.
#define | FERR_BAD_CONTAINER 0xC008
| 0xC008 - Invalid container number.
#define | FERR_NO_ROOT_BLOCK 0xC009
| 0xC009 - LFILE does not have a root block - always handled internally - never returned to application.
#define | FERR_BAD_DRN 0xC00A
| 0xC00A - Cannot pass a zero DRN into modify or delete or 0xFFFFFFFF into add.
#define | FERR_BAD_FIELD_NUM 0xC00B
| 0xC00B - Bad field number in record being added.
#define | FERR_BAD_FIELD_TYPE 0xC00C
| 0xC00C - Bad field type in record being added.
#define | FERR_BAD_HDL 0xC00D
| 0xC00D - Request contained bad db handle.
#define | FERR_BAD_IX 0xC00E
| 0xC00E - Invalid index number.
#define | FERR_BACKUP_ACTIVE 0xC00F
| 0xC00F - Operation could not be completed - a backup is being performed.
#define | FERR_SERIAL_NUM_MISMATCH 0xC010
| 0xC010 - Comparison of serial numbers failed.
#define | FERR_BAD_RFL_DB_SERIAL_NUM 0xC011
| 0xC011 - Bad database serial number in RFL file header.
#define | FERR_BTREE_ERROR NE_FLM_BTREE_ERROR
| 0xC012 - A corruption was found in an index or container b-tree.
#define | FERR_BTREE_FULL NE_FLM_BTREE_FULL
| 0xC013 - An index or container b-tree is full.
#define | FERR_BAD_RFL_FILE_NUMBER 0xC014
| 0xC014 - Bad RFL file number in RFL file header.
#define | FERR_CANNOT_DEL_ITEM 0xC015
| 0xC015 - Cannot delete field definitions.
#define | FERR_CANNOT_MOD_FIELD_TYPE 0xC016
| 0xC016 - Cannot modify a field's type.
#define | FERR_64BIT_NUMS_NOT_SUPPORTED 0xC017
| 0xC017 - 64 bit numbers not supported for databases whose revision is less than 462
#define | FERR_CONV_BAD_DEST_TYPE 0xC018
| 0xC018 - Bad destination type specified for conversion.
#define | FERR_CONV_BAD_DIGIT 0xC019
| 0xC019 - Non-numeric digit found in text to numeric conversion.
#define | FERR_CONV_BAD_SRC_TYPE 0xC01A
| 0xC01A - Bad source type specified for conversion.
#define | FERR_RFL_FILE_NOT_FOUND 0xC01B
| 0xC01B - Could not open an RFL file.
#define | FERR_CONV_DEST_OVERFLOW NE_FLM_CONV_DEST_OVERFLOW
| 0xC01C - Destination buffer not large enough to hold converted data.
#define | FERR_CONV_ILLEGAL NE_FLM_CONV_ILLEGAL
| 0xC01D - Illegal conversion -- not supported.
#define | FERR_CONV_NULL_SRC 0xC01E
| 0xC01E - Source cannot be a NULL pointer in conversion.
#define | FERR_CONV_NULL_DEST 0xC01F
| 0xC01F - Destination cannot be a NULL pointer in conversion.
#define | FERR_CONV_NUM_OVERFLOW NE_FLM_CONV_NUM_OVERFLOW
| 0xC020 - Numeric overflow (GT upper bound) converting to numeric type.
#define | FERR_CONV_NUM_UNDERFLOW 0xC021
| 0xC021 - Numeric underflow (LT lower bound) converting to numeric type.
#define | FERR_DATA_ERROR NE_FLM_DATA_ERROR
| 0xC022 - Database corruption found.
#define | FERR_NOT_USED_C023 0xC023
| 0xC023 - Not used
#define | FERR_DD_ERROR 0xC024
| 0xC024 - Corruption found in logical file block chain.
#define | FERR_INVALID_FILE_SEQUENCE 0xC025
| 0xC025 - Incremental backup file number provided during a restore is invalid.
#define | FERR_ILLEGAL_OP NE_FLM_ILLEGAL_OP
| 0xC026 - Illegal operation for database.
#define | FERR_DUPLICATE_DICT_REC 0xC027
| 0xC027 - Duplicate dictionary record found.
#define | FERR_CANNOT_CONVERT 0xC028
| 0xC028 - Condition occurred which prevents database conversion.
#define | FERR_UNSUPPORTED_VERSION 0xC029
| 0xC029 - Database version is not supported.
#define | FERR_FILE_ER 0xC02A
| 0xC02A - File error in a GEDCOM routine.
#define | FERR_BAD_FIELD_LEVEL 0xC02B
| 0xC02B - Invalid field level.
#define | FERR_GED_BAD_RECID 0xC02C
| 0xC02C - Bad record ID syntax.
#define | FERR_GED_BAD_VALUE 0xC02D
| 0xC02D - Bad or ambiguous/extra value in GEDCOM.
#define | FERR_GED_MAXLVLNUM 0xC02E
| 0xC02E - Exceeded GED_MAXLVLNUM in gedcom routines.
#define | FERR_GED_SKIP_LEVEL 0xC02F
| 0xC02F - Bad GEDCOM tree structure -- level skipped.
#define | FERR_ILLEGAL_TRANS 0xC030
| 0xC030 - Attempt to start an illegal type of transaction.
#define | FERR_ILLEGAL_TRANS_OP 0xC031
| 0xC031 - Illegal operation for transaction type.
#define | FERR_INCOMPLETE_LOG 0xC032
| 0xC032 - Incomplete log record encountered during recovery.
#define | FERR_INVALID_BLOCK_LENGTH 0xC033
| 0xC033 - Invalid block length.
#define | FERR_INVALID_TAG 0xC034
| 0xC034 - Invalid tag name.
#define | FERR_KEY_NOT_FOUND 0xC035
| 0xC035 - A key or reference is not found -- modify/delete error.
#define | FERR_VALUE_TOO_LARGE 0xC036
| 0xC036 - Value too large.
#define | FERR_MEM NE_FLM_MEM
| 0xC037 - Memory allocation error.
#define | FERR_BAD_RFL_SERIAL_NUM 0xC038
| 0xC038 - Bad serial number in RFL file header.
#define | FERR_NOT_USED_C039 0xC039
| 0xC039 - Not used
#define | FERR_NEWER_FLAIM 0xC03A
| 0xC03A - Database version newer than this code base will support, must use newer version of code.
#define | FERR_CANNOT_MOD_FIELD_STATE 0xC03B
| 0xC03B - Attempted to change a field state illegally.
#define | FERR_NO_MORE_DRNS 0xC03C
| 0xC03C - The highest DRN number has already been used in an add.
#define | FERR_NO_TRANS_ACTIVE 0xC03D
| 0xC03D - Attempted to updated database outside transaction.
#define | FERR_NOT_UNIQUE NE_FLM_NOT_UNIQUE
| 0xC03E - Found duplicate key for unique index.
#define | FERR_NOT_FLAIM 0xC03F
| 0xC03F - File is not a FLAIM database.
#define | FERR_NULL_RECORD 0xC040
| 0xC040 - NULL record cannot be passed to add or modify.
#define | FERR_NO_HTTP_STACK 0xC041
| 0xC041 - No http stack was loaded.
#define | FERR_OLD_VIEW 0xC042
| 0xC042 - While reading was unable to get previous version of block or record.
#define | FERR_PCODE_ERROR 0xC043
| 0xC043 - Corruption found in dictionary.
#define | FERR_PERMISSION 0xC044
| 0xC044 - Invalid permission for file operation.
#define | FERR_SYNTAX NE_FLM_SYNTAX
| 0xC045 - Dictionary record has improper syntax, or syntax error in query criteria.
#define | FERR_CALLBACK_FAILURE 0xC046
| 0xC046 - Callback failure.
#define | FERR_TRANS_ACTIVE 0xC047
| 0xC047 - Attempted to close database while transaction was active.
#define | FERR_RFL_TRANS_GAP 0xC048
| 0xC048 - A gap was found in the transaction sequence in the RFL.
#define | FERR_BAD_COLLATED_KEY 0xC049
| 0xC049 - Something in collated key is bad.
#define | FERR_UNSUPPORTED_FEATURE 0xC04A
| 0xC04A - Attempting a feature that is not supported for the database version.
#define | FERR_MUST_DELETE_INDEXES 0xC04B
| 0xC04B - Attempting to delete a container that has indexes defined for it -- indexes must be deleted first.
#define | FERR_RFL_INCOMPLETE 0xC04C
| 0xC04C - RFL file is incomplete.
#define | FERR_CANNOT_RESTORE_RFL_FILES 0xC04D
| 0xC04D - Cannot restore RFL files - not using multiple RFL files.
#define | FERR_INCONSISTENT_BACKUP 0xC04E
| 0xC04E - A problem (corruption, etc) was detected in a backup set.
#define | FERR_BLOCK_CHECKSUM 0xC04F
| 0xC04F - Block checksum error.
#define | FERR_ABORT_TRANS 0xC050
| 0xC050 - Attempted operation after a critical error - should abort transaction.
#define | FERR_NOT_RFL 0xC051
| 0xC051 - Attempted to open file which was not an RFL file.
#define | FERR_BAD_RFL_PACKET 0xC052
| 0xC052 - RFL packet was bad.
#define | FERR_DATA_PATH_MISMATCH 0xC053
| 0xC053 - Bad data path specified to open database.
#define | FERR_HTTP_REGISTER_FAILURE 0xC054
| 0xC054 - Call to FlmConfig() with FLM_HTTP_REGISTER_URL option failed.
#define | FERR_HTTP_DEREG_FAILURE 0xC055
| 0xC055 - Call to FlmConfig() with FLM_HTTP_DEREGISTER_URL option failed.
#define | FERR_IX_FAILURE 0xC056
| 0xC056 - Indexing process failed, non-unique data was found when a unique index was being created.
#define | FERR_HTTP_SYMS_EXIST 0xC057
| 0xC057 - Tried to import new http related symbols before unimporting the old ones.
#define | FERR_NOT_USED_C058 0xC058
| 0xC058 - Not used
#define | FERR_FILE_EXISTS 0xC059
| 0xC059 - Attempt to create a database, but the database already exists.
#define | FERR_SYM_RESOLVE_FAIL 0xC05A
| 0xC05A - Could not resolve a symbol needed to run.
#define | FERR_BAD_SERVER_CONNECTION 0xC05B
| 0xC05B - Connection to FLAIM server is bad.
#define | FERR_CLOSING_DATABASE 0xC05C
| 0xC05C - Database is being closed due to a critical error.
#define | FERR_INVALID_CRC 0xC05D
| 0xC05D - CRC could not be verified.
#define | FERR_KEY_OVERFLOW 0xC05E
| 0xC05E - Key generated by the record causes the maximum key size to be exceeded.
#define | FERR_NOT_IMPLEMENTED NE_FLM_NOT_IMPLEMENTED
| 0xC05F - Functionality not implemented.
#define | FERR_MUTEX_OPERATION_FAILED 0xC060
| 0xC060 - Mutex operation failed.
#define | FERR_MUTEX_UNABLE_TO_LOCK 0xC061
| 0xC061 - Unable to get the mutex lock.
#define | FERR_SEM_OPERATION_FAILED 0xC062
| 0xC062 - Semaphore operation failed.
#define | FERR_SEM_UNABLE_TO_LOCK 0xC063
| 0xC063 - Unable to get the semaphore lock.
#define | FERR_NOT_USED_C064 0xC064
| 0xC064 - Not used
#define | FERR_NOT_USED_C065 0xC065
| 0xC065 - Not used
#define | FERR_NOT_USED_C066 0xC066
| 0xC066 - Not used
#define | FERR_NOT_USED_C067 0xC067
| 0xC067 - Not used
#define | FERR_NOT_USED_C068 0xC068
| 0xC068 - Not used
#define | FERR_BAD_REFERENCE 0xC069
| 0xC069 - Bad reference in the dictionary.
#define | FERR_NOT_USED_C06A 0xC06A
| 0xC06A - Not used
#define | FERR_NOT_USED_C06B 0xC06B
| 0xC06B - Not used
#define | FERR_NOT_USED_C06C 0xC06C
| 0xC06C - Not used
#define | FERR_NOT_USED_C06D 0xC06D
| 0xC06D - Not used
#define | FERR_NOT_USED_C06E 0xC06E
| 0xC06E - Not used
#define | FERR_NOT_USED_C06F 0xC06F
| 0xC06F - Not used
#define | FERR_UNALLOWED_UPGRADE 0xC070
| 0xC070 - FlmDbUpgrade cannot upgrade the database.
#define | FERR_NOT_USED_C071 0xC071
| 0xC071 - Not used
#define | FERR_NOT_USED_C072 0xC072
| 0xC072 - Not used
#define | FERR_NOT_USED_C073 0xC073
| 0xC073 - Not used
#define | FERR_ID_RESERVED 0xC074
| 0xC074 - Attempted to use a dictionary ID that has been reserved.
#define | FERR_CANNOT_RESERVE_ID 0xC075
| 0xC075 - Attempted to reserve a dictionary ID that has been used.
#define | FERR_DUPLICATE_DICT_NAME 0xC076
| 0xC076 - Dictionary record with duplicate name found.
#define | FERR_CANNOT_RESERVE_NAME 0xC077
| 0xC077 - Attempted to reserve a dictionary name that is in use.
#define | FERR_BAD_DICT_DRN 0xC078
| 0xC078 - Attempted to add, modify, or delete a dictionary DRN >= FLM_RESERVED_TAG_NUMS.
#define | FERR_CANNOT_MOD_DICT_REC_TYPE 0xC079
| 0xC079 - Cannot modify a dictionary item into another type of item, must delete then add.
#define | FERR_PURGED_FLD_FOUND 0xC07A
| 0xC07A - Record contained a field whose field definition has been marked as purged.
#define | FERR_DUPLICATE_INDEX 0xC07B
| 0xC07B - Duplicate index.
#define | FERR_TOO_MANY_OPEN_DBS 0xC07C
| 0xC07C - Too many open databases.
#define | FERR_ACCESS_DENIED 0xC07D
| 0xC07D - Cannot access database.
#define | FERR_NOT_USED_C07E 0xC07E
| 0xC07E - Not used
#define | FERR_CACHE_ERROR 0xC07F
| 0xC07F - Cache block is corrupt.
#define | FERR_NOT_USED_C080 0xC080
| 0xC080 - Not used
#define | FERR_BLOB_MISSING_FILE 0xC081
| 0xC081 - Missing BLOB file on add/modify.
#define | FERR_NO_REC_FOR_KEY 0xC082
| 0xC082 - Record pointed to by an index key is missing.
#define | FERR_DB_FULL 0xC083
| 0xC083 - Database is full, cannot create more blocks.
#define | FERR_TIMEOUT 0xC084
| 0xC084 - Operation timed out (usually a query operation).
#define | FERR_CURSOR_SYNTAX 0xC085
| 0xC085 - Query criteria had improper syntax.
#define | FERR_THREAD_ERR 0xC086
| 0xC086 - Thread error.
#define | FERR_UNIMPORT_SYMBOL 0xC087
| 0xC087 - Failed to unimport a public symbol.
#define | FERR_EMPTY_QUERY 0xC088
| 0xC088 - Warning: Query has no results.
#define | FERR_INDEX_OFFLINE 0xC089
| 0xC089 - Warning: Index is offline and being rebuilt.
#define | FERR_TRUNCATED_KEY 0xC08A
| 0xC08A - Warning: Can't evaluate truncated key against selection criteria.
#define | FERR_INVALID_PARM NE_FLM_INVALID_PARM
| 0xC08B - Invalid parameter.
#define | FERR_USER_ABORT 0xC08C
| 0xC08C - User or application aborted the operation.
#define | FERR_RFL_DEVICE_FULL 0xC08D
| 0xC08D - No space on RFL device for logging.
#define | FERR_MUST_WAIT_CHECKPOINT 0xC08E
| 0xC08E - Must wait for a checkpoint before starting transaction - due to disk problems - usually in RFL volume.
#define | FERR_NAMED_SEMAPHORE_ERR 0xC08F
| 0xC08F - Error occurred while accessing a named semaphore.
#define | FERR_LOAD_LIBRARY 0xC090
| 0xC090 - Failed to load a shared library module.
#define | FERR_UNLOAD_LIBRARY 0xC091
| 0xC091 - Failed to unload a shared library module.
#define | FERR_IMPORT_SYMBOL 0xC092
| 0xC092 - Failed to import a symbol from a shared library module.
#define | FERR_BLOCK_FULL 0xC093
| 0xC093 - Destination block for insert is full.
#define | FERR_BAD_BASE64_ENCODING 0xC094
| 0xC094 - Could not perform base 64 encoding.
#define | FERR_MISSING_FIELD_TYPE 0xC095
| 0xC095 - Field type not specified in field definition record.
#define | FERR_BAD_DATA_LENGTH 0xC096
| 0xC096 - Invalid field data length.
#define | FERR_IO_ACCESS_DENIED NE_FLM_IO_ACCESS_DENIED
| 0xC201 - Access denied. Caller is not allowed access to a file.
#define | FERR_IO_BAD_FILE_HANDLE NE_FLM_IO_BAD_FILE_HANDLE
| 0xC202 - Bad file handle.
#define | FERR_IO_COPY_ERR NE_FLM_IO_COPY_ERR
| 0xC203 - Copy error.
#define | FERR_IO_DISK_FULL NE_FLM_IO_DISK_FULL
| 0xC204 - Disk full.
#define | FERR_IO_END_OF_FILE NE_FLM_IO_END_OF_FILE
| 0xC205 - End of file.
#define | FERR_IO_OPEN_ERR NE_FLM_IO_OPEN_ERR
| 0xC206 - Error opening file.
#define | FERR_IO_SEEK_ERR NE_FLM_IO_SEEK_ERR
| 0xC207 - File seek error.
#define | FERR_IO_DIRECTORY_ERR NE_FLM_IO_DIRECTORY_ERR
| 0xC208 - Error occurred while accessing or deleting a directory.
#define | FERR_IO_PATH_NOT_FOUND NE_FLM_IO_PATH_NOT_FOUND
| 0xC209 - Path not found.
#define | FERR_IO_TOO_MANY_OPEN_FILES NE_FLM_IO_TOO_MANY_OPEN_FILES
| 0xC20A - Too many files open.
#define | FERR_IO_PATH_TOO_LONG NE_FLM_IO_PATH_TOO_LONG
| 0xC20B - Path too long.
#define | FERR_IO_NO_MORE_FILES NE_FLM_IO_NO_MORE_FILES
| 0xC20C - No more files in directory.
#define | FERR_DELETING_FILE NE_FLM_IO_DELETING_FILE
| 0xC20D - Had error deleting a file.
#define | FERR_IO_FILE_LOCK_ERR NE_FLM_IO_FILE_LOCK_ERR
| 0xC20E - File lock error.
#define | FERR_IO_FILE_UNLOCK_ERR NE_FLM_IO_FILE_UNLOCK_ERR
| 0xC20F - File unlock error.
#define | FERR_IO_PATH_CREATE_FAILURE NE_FLM_IO_PATH_CREATE_FAILURE
| 0xC210 - Path create failed.
#define | FERR_IO_RENAME_FAILURE NE_FLM_IO_RENAME_FAILURE
| 0xC211 - File rename failed.
#define | FERR_IO_INVALID_PASSWORD NE_FLM_IO_INVALID_PASSWORD
| 0xC212 - Invalid file password.
#define | FERR_SETTING_UP_FOR_READ NE_FLM_SETTING_UP_FOR_READ
| 0xC213 - Had error setting up to do a read.
#define | FERR_SETTING_UP_FOR_WRITE NE_FLM_SETTING_UP_FOR_WRITE
| 0xC214 - Had error setting up to do a write.
#define | FERR_IO_AT_PATH_ROOT NE_FLM_IO_CANNOT_REDUCE_PATH
| 0xC215 - Currently positioned at the path root level.
#define | FERR_INITIALIZING_IO_SYSTEM NE_FLM_INITIALIZING_IO_SYSTEM
| 0xC216 - Had error initializing the file system.
#define | FERR_FLUSHING_FILE NE_FLM_FLUSHING_FILE
| 0xC217 - Had error flushing a file.
#define | FERR_IO_INVALID_PATH NE_FLM_IO_INVALID_FILENAME
| 0xC218 - Invalid path.
#define | FERR_IO_CONNECT_ERROR NE_FLM_IO_CONNECT_ERROR
| 0xC219 - Failed to connect to a remote network resource.
#define | FERR_OPENING_FILE NE_FLM_OPENING_FILE
| 0xC21A - Had error opening a file.
#define | FERR_DIRECT_OPENING_FILE NE_FLM_DIRECT_OPENING_FILE
| 0xC21B - Had error opening a file for direct I/O.
#define | FERR_CREATING_FILE NE_FLM_CREATING_FILE
| 0xC21C - Had error creating a file.
#define | FERR_DIRECT_CREATING_FILE NE_FLM_DIRECT_CREATING_FILE
| 0xC21D - Had error creating a file for direct I/O.
#define | FERR_READING_FILE NE_FLM_READING_FILE
| 0xC21E - Had error reading a file.
#define | FERR_DIRECT_READING_FILE NE_FLM_DIRECT_READING_FILE
| 0xC21F - Had error reading a file using direct I/O.
#define | FERR_WRITING_FILE NE_FLM_WRITING_FILE
| 0xC220 - Had error writing to a file.
#define | FERR_DIRECT_WRITING_FILE NE_FLM_DIRECT_WRITING_FILE
| 0xC221 - Had error writing to a file using direct I/O.
#define | FERR_POSITIONING_IN_FILE NE_FLM_POSITIONING_IN_FILE
| 0xC222 - Had error positioning within a file.
#define | FERR_GETTING_FILE_SIZE NE_FLM_GETTING_FILE_SIZE
| 0xC223 - Had error getting file size.
#define | FERR_TRUNCATING_FILE NE_FLM_TRUNCATING_FILE
| 0xC224 - Had error truncating a file.
#define | FERR_PARSING_FILE_NAME NE_FLM_PARSING_FILE_NAME
| 0xC225 - Had error parsing a file name.
#define | FERR_CLOSING_FILE NE_FLM_CLOSING_FILE
| 0xC226 - Had error closing a file.
#define | FERR_GETTING_FILE_INFO NE_FLM_GETTING_FILE_INFO
| 0xC227 - Had error getting file information.
#define | FERR_EXPANDING_FILE NE_FLM_EXPANDING_FILE
| 0xC228 - Had error expanding a file (using direct I/O).
#define | FERR_GETTING_FREE_BLOCKS NE_FLM_GETTING_FREE_BLOCKS
| 0xC229 - Had error getting free blocks from file system.
#define | FERR_CHECKING_FILE_EXISTENCE NE_FLM_CHECKING_FILE_EXISTENCE
| 0xC22A - Had error checking if a file exists.
#define | FERR_RENAMING_FILE NE_FLM_RENAMING_FILE
| 0xC22B - Had error renaming a file.
#define | FERR_SETTING_FILE_INFO NE_FLM_SETTING_FILE_INFO
| 0xC22C - Had error setting file information.
#define | FERR_NICI_CONTEXT 0xC301
| 0xC301 - Failed to obtain a NICI context.
#define | FERR_NICI_FIND_INIT 0xC302
| 0xC302 - CCS_FindInit failed.
#define | FERR_NICI_FIND_OBJECT 0xC303
| 0xC303 - CCS_FindObject failed.
#define | FERR_NICI_WRAPKEY_NOT_FOUND 0xC304
| 0xC304 - Could not locate a wrapping key.
#define | FERR_NICI_ATTRIBUTE_VALUE 0xC305
| 0xC305 - CCS_AttributeValue failed.
#define | FERR_NICI_BAD_ATTRIBUTE 0xC306
| 0xC306 - Invalid attribute.
#define | FERR_NICI_BAD_RANDOM 0xC307
| 0xC307 - CCS_GetRandom failed.
#define | FERR_NOT_USED_C308 0xC308
| 0xC308 - Not used
#define | FERR_NICI_WRAPKEY_FAILED 0xC309
| 0xC309 - CCS_WrapKey failed.
#define | FERR_NICI_GENKEY_FAILED 0xC30A
| 0xC30A - CCS_GenerateKey failed.
#define | FERR_REQUIRE_PASSWD 0xC30B
| 0xC30B - Password required to unwrap key.
#define | FERR_NICI_SHROUDKEY_FAILED 0xC30C
| 0xC30C - CCS_pbeShroudPrivateKey failed.
#define | FERR_NICI_UNSHROUDKEY_FAILED 0xC30D
| 0xC30D - CCS_pbdUnshroudPrivateKey failed.
#define | FERR_NICI_UNWRAPKEY_FAILED 0xC30E
| 0xC30E - CCS_UnrapKey failed.
#define | FERR_NICI_ENC_INIT_FAILED 0xC30F
| 0xC30F - CCS_DataEncryptInit failed.
#define | FERR_NICI_ENCRYPT_FAILED 0xC310
| 0xC310 - CCS_DataEncrypt failed.
#define | FERR_NICI_DECRYPT_INIT_FAILED 0xC311
| 0xC311 - CCS_DataDecryptInit failed.
#define | FERR_NICI_DECRYPT_FAILED 0xC312
| 0xC312 - CCS_DataDecrypt failed.
#define | FERR_NICI_INIT_FAILED 0xC313
| 0xC313 - CCS_Init failed.
#define | FERR_NICI_KEY_NOT_FOUND 0xC314
| 0xC314 - Could not locate encryption/decryption key.
#define | FERR_NICI_INVALID_ALGORITHM 0xC315
| 0xC315 - Unsupported NICI ecncryption algorithm.
#define | FERR_FLD_NOT_ENCRYPTED 0xC316
| 0xC316 - Field is not encrypted.
#define | FERR_CANNOT_SET_KEY 0xC317
| 0xC317 - Attempted to set an encryption key for new encryption definition record.
#define | FERR_MISSING_ENC_TYPE 0xC318
| 0xC318 - Encryption type not specified in encryption definition record.
#define | FERR_CANNOT_MOD_ENC_TYPE 0xC319
| 0xC319 - Attempting to change the encryption type in encryption definition record.
#define | FERR_MISSING_ENC_KEY 0xC31A
| 0xC31A - Encryption key must be present in modified encryption definition record.
#define | FERR_CANNOT_CHANGE_KEY 0xC31B
| 0xC31B - Attempt to modify the encryption key in an encryption definition record.
#define | FERR_BAD_ENC_KEY 0xC31C
| 0xC31C - Bad encryption key.
#define | FERR_CANNOT_MOD_ENC_STATE 0xC31D
| 0xC31D - Illegal state change for an encryption definition record.
#define | FERR_DATA_SIZE_MISMATCH 0xC31E
| 0xC31E - Calculated encrypted data length does not match the length returned from encryption/decryption routines.
#define | FERR_ENCRYPTION_UNAVAILABLE 0xC31F
| 0xC31F - Encryption capabilities are not available for encrypting/decrypting data in database.
#define | FERR_PURGED_ENCDEF_FOUND 0xC320
| 0xC320 - Cannot use encryption ID for encryption of data - encryption definition record is marked as purged.
#define | FERR_FLD_NOT_DECRYPTED 0xC321
| 0xC321 - Attempting to access data from a field that is encrypted, field could not be decrypted for some reason - probably because encryption/decryption capabilities are not available.
#define | FERR_BAD_ENCDEF_ID 0xC322
| 0xC322 - Encryption ID is invalid - not defined in dictionary.
#define | FERR_PBE_ENCRYPT_FAILED 0xC323
| 0xC323 - Call to NICI function CCS_pbeEncrypt failed.
#define | FERR_DIGEST_FAILED 0xC324
| 0xC324 - Call to NICI function CCS_Digest failed.
#define | FERR_DIGEST_INIT_FAILED 0xC325
| 0xC325 - Call to NICI function CCS_DigestInit failed.
#define | FERR_EXTRACT_KEY_FAILED 0xC326
| 0xC326 - Call to NICI function CCS_ExtractKey failed.
#define | FERR_INJECT_KEY_FAILED 0xC327
| 0xC327 - Call to NICI function CCS_InjectKey failed.
#define | FERR_PBE_DECRYPT_FAILED 0xC328
| 0xC328 - Call to NICI function CCS_pbeDecrypt failed.
#define | FERR_PASSWD_INVALID 0xC329
| 0xC329 - Invalid password passed, database could not be opened.
#define | FERR_BT_END_OF_DATA 0xFFFF
| 0xFFFF - Used internally
#define | FLM_SELECT_INDEX 32050
| Value passed to FlmCursorConfig() when FCURSOR_SET_FLM_IX is specified - allows FLAIM to select the index(es) for the query.
## Typedefs
typedef void * | HFDB
| Database handle.
typedef void * | HFCURSOR
| Query object handle.
typedef void * | HFBLOB
| BLOB handle.
typedef void * | HFBACKUP
| Backup object handle.
typedef RCODE(* | CURSOR_GET_FIELD_CB )(void *pvAppData, FlmRecord *pRecord, HFDB hDb, FLMUINT *puiFldPath, FLMUINT uiAction,#define FLM_FLD_FIRST#define FLM_FLD_NEXT#define FLM_FLD_CLEANUP#define FLM_FLD_VALIDATE#define FLM_FLD_RESET FlmRecord **ppFieldRecRV, void **ppFieldRV, FLMUINT *puiResult)
| Typedef for query "get field" function that can be inserted into query criteria wherever a field or field path could be inserted.
typedef void * | HFEVENT
| Handle returned from FlmRegisterForEvent() - needed when calling FlmDeregisterForEvent().
typedef void(* | FEVENT_CB )(FEventType eEventType, void *pvAppData, void *pvEventData1, void *pvEventData2)
| Typedef for function that is passed into FlmRegisterForEvent().
typedef void(* | COMMIT_FUNC )(HFDB hDb, void *pvUserData)
| Function prototype for the commit function that can be set by calling FlmDbConfig() using the eDbConfigType::FDB_SET_COMMIT_CALLBACK option.
typedef FLMBOOL(* | REC_VALIDATOR_HOOK )(eFlmFuncs eFlmFuncId, HFDB hDb, FLMUINT uiContainerId, FlmRecord *pRecord, FlmRecord *pOldRecord, void *pvAppData, RCODE *pRCode)
| Record validator function.
typedef RCODE(* | IX_CALLBACK )(HFDB hDb, FLMUINT uiIndexNum, FLMUINT uiContainerNum, FLMUINT uiDrn, FlmRecord *pInputRecord, FlmRecord **ppModifiedRecord, void *pvAppData)
| Indexing callback function.
typedef RCODE(* | STATUS_HOOK )(eStatusType eStatus, void *pvParm1, void *pvParm2, void *pvAppData)
| General purpose status callback function.
typedef RCODE(* | BACKER_WRITE_HOOK )(void *pvBuffer, FLMUINT uiBytesToWrite, void *pvAppData)
| Typedef for callback function that is called from FlmDbBackup() to write out backed up data.
## Enumerations
enum | qOptTypes { , QOPT_USING_INDEX, QOPT_USING_PREDICATE, QOPT_SINGLE_RECORD_READ, QOPT_PARTIAL_CONTAINER_SCAN, QOPT_FULL_CONTAINER_SCAN }
| Sub-query optimization types. More...
enum | eFlmFuncs { , FLM_CURSOR_COMPARE_DRNS, FLM_CURSOR_CONFIG, FLM_CURSOR_FIRST, FLM_CURSOR_FIRST_DRN, FLM_CURSOR_GET_CONFIG, FLM_CURSOR_LAST, FLM_CURSOR_LAST_DRN, FLM_CURSOR_MOVE_RELATIVE, FLM_CURSOR_NEXT, FLM_CURSOR_NEXT_DRN, FLM_CURSOR_PREV, FLM_CURSOR_PREV_DRN, FLM_CURSOR_REC_COUNT, FLM_DB_CHECKPOINT, FLM_DB_UPGRADE, FLM_DB_CREATE, FLM_DB_GET_COMMIT_CNT, FLM_DB_GET_LOCK_INFO, FLM_DB_GET_LOCK_TYPE, FLM_DB_GET_TRANS_ID, FLM_DB_GET_TRANS_TYPE, FLM_DB_LOCK, FLM_DB_OPEN, FLM_DB_REDUCE_SIZE, FLM_DB_SWEEP, FLM_DB_TRANS_ABORT, FLM_DB_TRANS_BEGIN, FLM_DB_TRANS_COMMIT, FLM_DB_UNLOCK, FLM_INDEX_GET_NEXT, FLM_INDEX_STATUS, FLM_INDEX_RESUME, FLM_INDEX_SUSPEND, FLM_KEY_RETRIEVE, FLM_RESERVE_NEXT_DRN, FLM_RECORD_ADD, FLM_RECORD_MODIFY, FLM_RECORD_DELETE, FLM_RECORD_RETRIEVE }
| FLAIM Functions. More...
enum | QTYPES { , FLM_BOOL_VAL = 1, FLM_UINT32_VAL, FLM_INT32_VAL, FLM_REAL_VAL, FLM_REC_PTR_VAL, FLM_UINT64_VAL, FLM_INT64_VAL, FLM_BINARY_VAL = 9, FLM_STRING_VAL, FLM_UNICODE_VAL, FLM_TEXT_VAL , FLM_AND_OP = 100, FLM_OR_OP, FLM_NOT_OP, FLM_EQ_OP, FLM_MATCH_OP, FLM_MATCH_BEGIN_OP, FLM_MATCH_END_OP, FLM_CONTAINS_OP, FLM_NE_OP, FLM_LT_OP, FLM_LE_OP, FLM_GT_OP, FLM_GE_OP, FLM_BITAND_OP, FLM_BITOR_OP, FLM_BITXOR_OP, FLM_MULT_OP, FLM_DIV_OP, FLM_MOD_OP, FLM_PLUS_OP, FLM_MINUS_OP, FLM_NEG_OP, FLM_LPAREN_OP, FLM_RPAREN_OP }
| Query value types and operators. More...
enum | eCursorConfigType { FCURSOR_CLEAR_QUERY = 2, FCURSOR_GEN_POS_KEYS, FCURSOR_SET_HDB, FCURSOR_SET_FLM_IX, FCURSOR_SET_OP_TIME_LIMIT, FCURSOR_SET_PERCENT_POS, FCURSOR_SET_POS, FCURSOR_SET_POS_FROM_DRN, FCURSOR_SET_REC_TYPE, FCURSOR_RETURN_KEYS_OK, FCURSOR_DISCONNECT = 14, FCURSOR_ALLOW_DUPS, FCURSOR_ELIMINATE_DUPS, FCURSOR_SET_REC_VALIDATOR, FCURSOR_SET_STATUS_HOOK, FCURSOR_SAVE_POSITION, FCURSOR_RESTORE_POSITION, FCURSOR_SET_ABS_POS }
| Configuration options for FlmCursorConfig(). More...
enum | eCursorGetConfigType { FCURSOR_GET_OPT_INFO_LIST = 3, FCURSOR_GET_FLM_IX, FCURSOR_GET_OPT_INFO, FCURSOR_GET_PERCENT_POS, FCURSOR_GET_REC_TYPE = 9, FCURSOR_GET_FLAGS = 12, FCURSOR_GET_STATE, FCURSOR_GET_POSITIONABLE, FCURSOR_AT_BOF, FCURSOR_AT_EOF, FCURSOR_GET_ABS_POSITIONABLE, FCURSOR_GET_ABS_POS, FCURSOR_GET_ABS_COUNT }
| Options for FlmCursorGetConfig(). More...
enum | eFlmConfigTypes { FLM_CLOSE_UNUSED_FILES, FLM_CLOSE_ALL_FILES, FLM_OPEN_THRESHOLD, FLM_OPEN_FILES, FLM_CACHE_LIMIT, FLM_SCACHE_DEBUG, FLM_START_STATS, FLM_STOP_STATS, FLM_RESET_STATS, FLM_TMPDIR, FLM_MAX_CP_INTERVAL, FLM_BLOB_EXT, FLM_MAX_TRANS_SECS, FLM_MAX_TRANS_INACTIVE_SECS, FLM_CACHE_ADJUST_INTERVAL, FLM_CACHE_CLEANUP_INTERVAL, FLM_UNUSED_CLEANUP_INTERVAL, FLM_MAX_UNUSED_TIME, FLM_BLOCK_CACHE_PERCENTAGE, FLM_CACHE_CHECK, FLM_CLOSE_FILE, FLM_LOGGER, FLM_ASSIGN_HTTP_SYMS, FLM_UNASSIGN_HTTP_SYMS, FLM_REGISTER_HTTP_URL, FLM_DEREGISTER_HTTP_URL, FLM_KILL_DB_HANDLES, FLM_QUERY_MAX, FLM_MAX_DIRTY_CACHE, FLM_DYNA_CACHE_SUPPORTED, FLM_QUERY_STRATIFY_LIMITS, FLM_DIRECT_IO_STATE }
| Database system configuration options that are passed into FlmConfig() and FlmGetConfig(). More...
enum | FEventCategory { F_EVENT_LOCKS, F_EVENT_UPDATES, F_EVENT_SIZE }
| Event categories that an application can register to catch - see FlmRegisterForEvent(). More...
enum | FEventType { F_EVENT_LOCK_WAITING, F_EVENT_LOCK_GRANTED, F_EVENT_LOCK_SUSPENDED, F_EVENT_LOCK_RESUMED, F_EVENT_LOCK_RELEASED, F_EVENT_LOCK_TIMEOUT, F_EVENT_BEGIN_TRANS, F_EVENT_COMMIT_TRANS, F_EVENT_ABORT_TRANS, F_EVENT_ADD_RECORD, F_EVENT_MODIFY_RECORD, F_EVENT_DELETE_RECORD, F_EVENT_RESERVE_DRN, F_EVENT_INDEXING_COMPLETE, F_EVENT_RFL_SIZE }
| Types of events returned to registered event handling functions. More...
enum | eStatusType { , FLM_INDEXING_STATUS = 2, FLM_DELETING_STATUS, FLM_SWEEP_STATUS = 5, FLM_CHECK_STATUS = 7, FLM_SUBQUERY_STATUS = 13, FLM_DB_COPY_STATUS = 21, FLM_REBUILD_STATUS = 22, FLM_PROBLEM_STATUS, FLM_CHECK_RECORD_STATUS, FLM_EXAMINE_RECORD_STATUS, FLM_DB_UPGRADE_STATUS, FLM_DB_BACKUP_STATUS, FLM_DB_RENAME_STATUS, FLM_DELETING_KEYS, FLM_REBUILD_ADD_DICT_REC_STATUS }
| Status types returned in the general purpose status callback function (STATUS_HOOK). More...
enum | eDbConfigType { FDB_SET_APP_VERSION = 3, FDB_RFL_KEEP_FILES, FDB_RFL_DIR, FDB_RFL_FILE_LIMITS, FDB_RFL_ROLL_TO_NEXT_FILE, FDB_KEEP_ABORTED_TRANS_IN_RFL, FDB_AUTO_TURN_OFF_KEEP_RFL, FDB_FILE_EXTEND_SIZE, FDB_SET_APP_DATA, FDB_SET_COMMIT_CALLBACK, FDB_ENABLE_FIELD_ID_TABLE, FDB_SET_RFL_SIZE_THRESHOLD, FDB_SET_RFL_SIZE_EVENT_INTERVALS, FDB_RFL_FOOTPRINT_SIZE, FDB_RBL_FOOTPRINT_SIZE }
| Configuration options for FlmDbConfig(). More...
enum | eDbGetConfigType { FDB_GET_VERSION = 1, FDB_GET_BLKSIZ, FDB_GET_DEFAULT_LANG, FDB_GET_PATH = 17, FDB_GET_TRANS_ID, FDB_GET_CHECKPOINT_INFO, FDB_GET_LOCK_HOLDER, FDB_GET_LOCK_WAITERS, FDB_GET_LOCK_WAITERS_EX, FDB_GET_RFL_DIR, FDB_GET_RFL_FILE_NUM, FDB_GET_RFL_HIGHEST_NU, FDB_GET_RFL_FILE_SIZE_LIMITS, FDB_GET_RFL_KEEP_FLAG, FDB_GET_LAST_BACKUP_TRANS_ID, FDB_GET_BLOCKS_CHANGED_SINCE_BACKUP, FDB_GET_SERIAL_NUMBER, FDB_GET_AUTO_TURN_OFF_KEEP_RFL_FLAG, FDB_GET_KEEP_ABORTED_TRANS_IN_RFL_FLAG, FDB_GET_SIZES, FDB_GET_FILE_EXTEND_SIZE, FDB_GET_APP_DATA, FDB_GET_NEXT_INC_BACKUP_SEQ_NUM, FDB_GET_DICT_SEQ_NUM, FDB_GET_FFILE_ID, FDB_GET_MUST_CLOSE_RC, FDB_GET_RFL_FOOTPRINT_SIZE, FDB_GET_RBL_FOOTPRINT_SIZE }
| Options for FlmDbGetConfig(). More...
enum | eDiagInfoType { FLM_GET_DIAG_INDEX_NUM = 1, FLM_GET_DIAG_DRN, FLM_GET_DIAG_FIELD_NUM, FLM_GET_DIAG_FIELD_TYPE, FLM_GET_DIAG_ENC_ID }
| Types of diagnostic information available from FlmGetDiagInfo(). More...
enum | FBackupType { FLM_FULL_BACKUP = 0, FLM_INCREMENTAL_BACKUP }
| Types of backups supported by FLAIM. This type is passed into FlmDbBackupBegin(). More...
enum | eBackupGetConfigType { FBAK_GET_BACKUP_TRANS_ID = 1, FBAK_GET_LAST_BACKUP_TRANS_ID }
| Backup configuration information that can be requested by FlmBackupGetConfig(). More...
enum | eRestoreStatusType { RESTORE_BEGIN_TRANS = 1, RESTORE_COMMIT_TRANS, RESTORE_ABORT_TRANS, RESTORE_ADD_REC, RESTORE_DEL_REC, RESTORE_MOD_REC, RESTORE_RESERVE_DRN, RESTORE_INDEX_SET, RESTORE_PROGRESS, RESTORE_REDUCE, RESTORE_UPGRADE, RESTORE_ERROR, RESTORE_INDEX_SUSPEND, RESTORE_INDEX_RESUME, RESTORE_BLK_CHAIN_DELETE, RESTORE_WRAP_KEY, RESTORE_ENABLE_ENCRYPTION, RESTORE_CONFIG_SIZE_EVENT }
| Restore status types reported through the F_Restore::status() method. More...
enum | eRestoreActionType { RESTORE_ACTION_CONTINUE = 0, RESTORE_ACTION_STOP, RESTORE_ACTION_SKIP, RESTORE_ACTION_RETRY }
| Actions that an application may want to tell FlmDbRestore() to take during a restore operation. More...
enum | FlmLogMessageType { FLM_QUERY_MESSAGE, FLM_TRANSACTION_MESSAGE, FLM_GENERAL_MESSAGE }
| Categories of messages that FLAIM can log and that an application can request to receive. More...
enum | eCorruptionType { FLM_NO_CORRUPTION = 0, FLM_BAD_CHAR, FLM_BAD_ASIAN_CHAR, FLM_BAD_CHAR_SET, FLM_BAD_TEXT_FIELD, FLM_BAD_NUMBER_FIELD, FLM_BAD_CONTEXT_FIELD, FLM_BAD_FIELD_TYPE, FLM_BAD_IX_DEF, FLM_MISSING_REQ_KEY_FIELD, FLM_BAD_TEXT_KEY_COLL_CHAR, FLM_BAD_TEXT_KEY_CASE_MARKER, FLM_BAD_NUMBER_KEY, FLM_BAD_CONTEXT_KEY, FLM_BAD_BINARY_KEY, FLM_BAD_DRN_KEY, FLM_BAD_KEY_FIELD_TYPE, FLM_BAD_KEY_COMPOUND_MARKER, FLM_BAD_KEY_POST_MARKER, FLM_BAD_KEY_POST_BYTE_COUNT, FLM_BAD_KEY_LEN, FLM_BAD_LFH_LIST_PTR, FLM_BAD_LFH_LIST_END, FLM_BAD_PCODE_LIST_END, FLM_BAD_BLK_END, FLM_KEY_COUNT_MISMATCH, FLM_REF_COUNT_MISMATCH, FLM_BAD_CONTAINER_IN_KEY, FLM_BAD_BLK_HDR_ADDR, FLM_BAD_BLK_HDR_LEVEL, FLM_BAD_BLK_HDR_PREV, FLM_BAD_BLK_HDR_NEXT, FLM_BAD_BLK_HDR_TYPE, FLM_BAD_BLK_HDR_ROOT_BIT, FLM_BAD_BLK_HDR_BLK_END, FLM_BAD_BLK_HDR_LF_NUM, FLM_BAD_AVAIL_LIST_END, FLM_BAD_PREV_BLK_NEXT, FLM_BAD_FIRST_ELM_FLAG, FLM_BAD_LAST_ELM_FLAG, FLM_BAD_LEM, FLM_BAD_ELM_LEN, FLM_BAD_ELM_KEY_SIZE, FLM_BAD_ELM_PKC_LEN, FLM_BAD_ELM_KEY_ORDER, FLM_BAD_ELM_KEY_COMPRESS, FLM_BAD_CONT_ELM_KEY, FLM_NON_UNIQUE_FIRST_ELM_KEY, FLM_BAD_ELM_FLD_OVERHEAD, FLM_BAD_ELM_FLD_LEVEL_JUMP, FLM_BAD_ELM_FLD_NUM, FLM_BAD_ELM_FLD_LEN, FLM_BAD_ELM_FLD_TYPE, FLM_BAD_ELM_END, FLM_BAD_PARENT_KEY, FLM_BAD_ELM_DOMAIN_SEN, FLM_BAD_ELM_BASE_SEN, FLM_BAD_ELM_IX_REF, FLM_BAD_ELM_ONE_RUN_SEN, FLM_BAD_ELM_DELTA_SEN, FLM_BAD_ELM_DOMAIN, FLM_BAD_LAST_BLK_NEXT, FLM_BAD_FIELD_PTR, FLM_REBUILD_REC_EXISTS, FLM_REBUILD_KEY_NOT_UNIQUE, FLM_NON_UNIQUE_ELM_KEY_REF, FLM_OLD_VIEW, FLM_COULD_NOT_SYNC_BLK, FLM_IX_REF_REC_NOT_FOUND, FLM_IX_KEY_NOT_FOUND_IN_REC, FLM_DRN_NOT_IN_KEY_REFSET, FLM_BAD_BLK_CHECKSUM, FLM_BAD_LAST_DRN, FLM_BAD_FILE_SIZE, FLM_BAD_AVAIL_BLOCK_COUNT, FLM_BAD_DATE_FIELD, FLM_BAD_TIME_FIELD, FLM_BAD_TMSTAMP_FIELD, FLM_BAD_DATE_KEY, FLM_BAD_TIME_KEY, FLM_BAD_TMSTAMP_KEY, FLM_BAD_BLOB_FIELD, FLM_BAD_PCODE_IXD_TBL, FLM_DICT_REC_ADD_ERR, FLM_BAD_FIELD_FLAG, FLM_BAD_FOP }
| Types of corruption that can be reported by FlmDbCheck(). More...
enum | eCorruptionLocale { , LOCALE_LFH_LIST, LOCALE_AVAIL_LIST = 3, LOCALE_B_TREE, LOCALE_IXD_TBL, LOCALE_INDEX }
| Locations of corruptions in the database. More...
enum | eMaintAction { , FLM_MAINT_IDLE, FLM_MAINT_LOOKING_FOR_WORK, FLM_MAINT_WAITING_FOR_LOCK, FLM_MAINT_ENDING_TRANS, FLM_MAINT_TERMINATED, FLM_MAINT_FREEING_BLOCKS }
| Types of actions the background maintenance thread may currently be doing. More...
## Functions
FLMEXP RCODE FLMAPI | FlmCursorInit (HFDB hDb, FLMUINT uiContainerNum, HFCURSOR *phCursor)
| Initialize a query object.
FLMEXP RCODE FLMAPI | FlmCursorFree (HFCURSOR *phCursor)
| Free a query object.
FLMEXP void FLMAPI | FlmCursorReleaseResources (HFCURSOR hCursor)
| Release query object resources.
FLMEXP RCODE FLMAPI | FlmCursorClone (HFCURSOR hSource, HFCURSOR *phCursor)
| Clone a query object.
FLMEXP RCODE FLMAPI | FlmCursorConfig (HFCURSOR hCursor, eCursorConfigType eConfigType, void *pvValue1, void *pvValue2)
| Configure a query object.
FLMEXP RCODE FLMAPI | FlmCursorGetConfig (HFCURSOR hCursor, eCursorGetConfigType eGetConfigType, void *pvValue1, void *pvValue2)
| Get query configuration.
FLMEXP RCODE FLMAPI | FlmCursorSetOrderIndex (HFCURSOR hCursor, FLMUINT *puiFieldPaths, FLMUINT *puiIndex)
| Set order index for a query.
FLMEXP RCODE FLMAPI | FlmCursorSetMode (HFCURSOR hCursor, FLMUINT uiFlags)
| Set mode for string comparison operations in query criteria.
FLMEXP RCODE FLMAPI | FlmParseQuery (HFCURSOR hCursor, F_NameTable *pNameTable, const char *pszQueryCriteria)
| Parse a query string to set query criteria.
FLMEXP RCODE FLMAPI | FlmCursorAddField (HFCURSOR hCursor, FLMUINT uiFieldNum, FLMUINT uiFlags)
| Add a field to the query criteria.
FLMEXP RCODE FLMAPI | FlmCursorAddFieldPath (HFCURSOR hCursor, FLMUINT *puiFldPath, FLMUINT uiFlags)
| Add a field path to the query criteria.
FLMEXP RCODE FLMAPI | FlmCursorAddUserPredicate (HFCURSOR hCursor, FlmUserPredicate *pPredicate)
| Add an application defined predicate to the query criteria.
FLMEXP RCODE FLMAPI | FlmCursorAddFieldCB (HFCURSOR hCursor, FLMUINT *puiFldPath, FLMUINT uiFlags, FLMBOOL bValidateOnly, CURSOR_GET_FIELD_CB fnGetField, void *pvAppData, FLMUINT uiUserDataLen)
| Add a field callback function to the query criteria.
FLMEXP RCODE FLMAPI | FlmCursorAddOp (HFCURSOR hCursor, QTYPES eOperator, FLMBOOL bResolveUnknown=FALSE)
| Add a query operator to the query criteria.
FLMEXP RCODE FLMAPI | FlmCursorAddValue (HFCURSOR hCursor, QTYPES eValType, void *pVal, FLMUINT uiValLen)
| Add a value to the query criteria.
FLMEXP RCODE FLMAPI | FlmCursorValidate (HFCURSOR hCursor)
| Finalize and validate query syntax.
FLMEXP RCODE FLMAPI | FlmStartup (void)
| Startup FLAIM database system.
FLMEXP void FLMAPI | FlmShutdown (void)
| Shutdown FLAIM database system.
FLMEXP RCODE FLMAPI | FlmConfig (eFlmConfigTypes eConfigType, void *pvValue1, void *pvValue2)
| Configure the FLAIM database system.
FLMEXP RCODE FLMAPI | FlmGetConfig (eFlmConfigTypes eConfigType, void *pvValue)
| Get configuration information about the FLAIM database system.
FLMEXP RCODE FLMAPI | FlmSetDynamicMemoryLimit (FLMUINT uiCacheAdjustPercent, FLMUINT uiCacheAdjustMin, FLMUINT uiCacheAdjustMax, FLMUINT uiCacheAdjustMinToLeave)
| Set dynamic cache limit.
FLMEXP RCODE FLMAPI | FlmSetHardMemoryLimit (FLMUINT uiPercent, FLMBOOL bPercentOfAvail, FLMUINT uiMin, FLMUINT uiMax, FLMUINT uiMinToLeave, FLMBOOL bPreallocate=FALSE)
| Set hard cache limit.
FLMEXP void FLMAPI | FlmGetMemoryInfo (FLM_MEM_INFO *pMemInfo)
| Get cache information.
FLMEXP RCODE FLMAPI | FlmGetThreadInfo (F_Pool *pPool, F_THREAD_INFO **ppThreadInfo, FLMUINT *puiNumThreads, const char *pszUrl=NULL)
| Get information on background threads in the FLAIM database system.
FLMEXP void FLMAPI | FlmFreeMem (void *pMem)
| Free memory that was allocated by various functions.
FLMEXP RCODE FLMAPI | FlmGetStats (FLM_STATS *pFlmStats)
| Get statistics.
FLMEXP void FLMAPI | FlmFreeStats (FLM_STATS *pFlmStats)
| Free statistics.
FLMEXP RCODE FLMAPI | FlmRegisterForEvent (FEventCategory eCategory, FEVENT_CB fnEventCB, void *pvAppData, HFEVENT *phEventRV)
| Register to catch events from the database system.
FLMEXP void FLMAPI | FlmDeregisterForEvent (HFEVENT *phEventRV)
| Deregister event handling function.
FLMEXP RCODE FLMAPI | FlmDbCreate (const char *pszDbFileName, const char *pszDataDir, const char *pszRflDir, const char *pszDictFileName, const char *pszDictBuf, CREATE_OPTS *pCreateOpts, HFDB *phDb)
| Create a new database.
FLMEXP RCODE FLMAPI | FlmDbOpen (const char *pszDbFileName, const char *pszDataDir, const char *pszRflDir, FLMUINT uiOpenFlags, const char *pszPassword, HFDB *phDb)
| Open a database.
FLMEXP RCODE FLMAPI | FlmDbClose (HFDB *phDb)
| Close a database.
FLMEXP RCODE FLMAPI | FlmDbConfig (HFDB hDb, eDbConfigType eConfigType, void *pvValue1, void *pvValue2)
| Configure an open database.
FLMEXP RCODE FLMAPI | FlmDbGetConfig (HFDB hDb, eDbGetConfigType eGetDbConfigType, void *pvValue1, void *pvValue2=NULL, void *pvValue3=NULL)
| Get configuration information on an open database.
FLMEXP void FLMAPI | FlmSetIndexingCallback (HFDB hDb, IX_CALLBACK fnIxCallback, void *pvAppData)
| Set indexing callback function.
FLMEXP void FLMAPI | FlmGetIndexingCallback (HFDB hDb, IX_CALLBACK *pfnIxCallback, void **ppvAppData)
| Get indexing callback function.
FLMEXP void FLMAPI | FlmSetRecValidatorHook (HFDB hDb, REC_VALIDATOR_HOOK fnRecValidatorHook, void *pvAppData)
| Set record validator callback function.
FLMEXP void FLMAPI | FlmGetRecValidatorHook (HFDB hDb, REC_VALIDATOR_HOOK *pfnRecValidatorHook, void **ppvAppData)
| Get the record validator callback function.
FLMEXP void FLMAPI | FlmSetStatusHook (HFDB hDb, STATUS_HOOK fnStatusHook, void *pvAppData)
| Set the general purpose status callback function.
FLMEXP void FLMAPI | FlmGetStatusHook (HFDB hDb, STATUS_HOOK *pfnStatusHook, void **ppvAppData)
| Get the general purpose status callback function.
FLMEXP RCODE FLMAPI | FlmIndexStatus (HFDB hDb, FLMUINT uiIndexNum, FINDEX_STATUS *pIndexStatus)
| Retrieve status of an index.
FLMEXP RCODE FLMAPI | FlmIndexGetNext (HFDB hDb, FLMUINT *puiIndexNum)
| Retrieve next index.
FLMEXP RCODE FLMAPI | FlmIndexSuspend (HFDB hDb, FLMUINT uiIndexNum)
| Suspend an index.
FLMEXP RCODE FLMAPI | FlmIndexResume (HFDB hDb, FLMUINT uiIndexNum)
| Resume an index.
FLMEXP FLMBOOL FLMAPI | FlmErrorIsFileCorrupt (RCODE rc)
| Determine if a return code (RCODE) indicates a corruption.
FLMEXP const char *FLMAPI | FlmErrorString (RCODE rc)
| Convert a return code (RCODE) into a string.
FLMEXP RCODE FLMAPI | FlmGetDiagInfo (HFDB hDb, eDiagInfoType eDiagCode, void *pvDiagInfo)
| Get diagnostic information.
FLMEXP RCODE FLMAPI | FlmDbTransBegin (HFDB hDb, FLMUINT uiTransType, FLMUINT uiMaxLockWait, FLMBYTE *pucHeader=NULL)
| Begin a transaction on the database.
FLMEXP RCODE FLMAPI | FlmDbTransCommit (HFDB hDb, FLMBOOL *pbEmpty=NULL)
| Commit current transaction (if any) on a database.
FLMEXP RCODE FLMAPI | FlmDbTransAbort (HFDB hDb)
| Abort current transaction (if any) on a database.
FLMEXP RCODE FLMAPI | FlmDbGetTransType (HFDB hDb, FLMUINT *puiTransType)
| Get type of current transaction (if any) on a database.
FLMEXP RCODE FLMAPI | FlmDbGetTransId (HFDB hDb, FLMUINT *puiTransID)
| Get current transaction ID.
FLMEXP RCODE FLMAPI | FlmDbGetCommitCnt (HFDB hDb, FLMUINT *puiCommitCount)
| Get number of committed transactions for a database.
FLMEXP RCODE FLMAPI | FlmDbLock (HFDB hDb, eLockType lockType, FLMINT iPriority, FLMUINT uiTimeout)
| Lock a database.
FLMEXP RCODE FLMAPI | FlmDbUnlock (HFDB hDb)
| Unlock a database.
FLMEXP RCODE FLMAPI | FlmDbGetLockType (HFDB hDb, eLockType *pLockType, FLMBOOL *pbImplicit)
| Get the type of lock currently in effect on a database (if any).
FLMEXP RCODE FLMAPI | FlmDbCheckpoint (HFDB hDb, FLMUINT uiTimeout)
| Perform a checkpoint on the database.
FLMEXP RCODE FLMAPI | FlmRecordAdd (HFDB hDb, FLMUINT uiContainerNum, FLMUINT *puiDrn, FlmRecord *pRecord, FLMUINT uiAutoTrans)
| Add a record to the database.
FLMEXP RCODE FLMAPI | FlmRecordModify (HFDB hDb, FLMUINT uiContainerNum, FLMUINT uiDrn, FlmRecord *pRecord, FLMUINT uiAutoTrans)
| Modify a record in the database.
FLMEXP RCODE FLMAPI | FlmRecordDelete (HFDB hDb, FLMUINT uiContainerNum, FLMUINT uiDrn, FLMUINT uiAutoTrans)
| Delete a record from the database.
FLMEXP RCODE FLMAPI | FlmReserveNextDrn (HFDB hDb, FLMUINT uiContainerNum, FLMUINT *puiDrn)
| Reserve the next available DRN in a database container.
FLMEXP RCODE FLMAPI | FlmFindUnusedDictDrn (HFDB hDb, FLMUINT uiStartDrn, FLMUINT uiEndDrn, FLMUINT *puiDrn)
| Find an unused DRN in the dictionary.
FLMEXP RCODE FLMAPI | FlmGetItemName (HFDB hDb, FLMUINT uiItemId, FLMUINT uiNameBufSize, char *pszNameBuf)
| Get the name of a dictionary item.
FLMEXP RCODE FLMAPI | FlmRecordRetrieve (HFDB hDb, FLMUINT uiContainerNum, FLMUINT uiDrn, FLMUINT uiFlag, FlmRecord **ppRecord, FLMUINT *puiDrn)
| Find and retrieve a record in a container.
FLMEXP RCODE FLMAPI | FlmKeyRetrieve (HFDB hDb, FLMUINT uiIndex, FLMUINT uiContainerNum, FlmRecord *pSearchKey, FLMUINT uiSearchDrn, FLMUINT uiFlags, FlmRecord **ppFoundKey, FLMUINT *puiFoundDrn)
| Find and retrieve a key in an index.
FLMEXP RCODE FLMAPI | FlmDbBackupBegin (HFDB hDb, FBackupType eBackupType, FLMBOOL bHotBackup, HFBACKUP *phBackup)
| Begin a database backup.
FLMEXP RCODE FLMAPI | FlmBackupGetConfig (HFBACKUP hBackup, eBackupGetConfigType eConfigType, void *pvValue1, void *pvValue2=NULL)
| Get backup configuration on a backup that was started by FlmDbBackupBegin.
FLMEXP RCODE FLMAPI | FlmDbBackup (HFBACKUP hBackup, const char *pszBackupPath, const char *pszPassword, BACKER_WRITE_HOOK fnWrite, STATUS_HOOK fnStatus, void *pvAppData, FLMUINT *puiIncSeqNum)
| Perform a backup that was started by FlmDbBackupBegin.
FLMEXP RCODE FLMAPI | FlmDbBackupEnd (HFBACKUP *phBackup)
| End a backup that was started by FlmDbBackupBegin().
FLMEXP RCODE FLMAPI | FlmDbRestore (const char *pszDbPath, const char *pszDataDir, const char *pszBackupPath, const char *pszRflDir, const char *pszPassword, F_Restore *pRestoreObj)
| Restore a database from a backup.
FLMEXP RCODE FLMAPI | FlmAllocBlob (FlmBlob **ppBlob)
| Allocate a BLOB object that can then be used to create a new BLOB to store in a FlmRecord object.
FLMEXP RCODE FLMAPI | FlmUINT2Storage (FLMUINT uiNum, FLMUINT *puiStorageLen, FLMBYTE *pucStorageBuf)
| Convert a FLMUINT value to FLAIM's internal storage format for numbers.
FLMEXP RCODE FLMAPI | FlmUINT64ToStorage (FLMUINT64 ui64Num, FLMUINT *puiStorageLen, FLMBYTE *pucStorageBuf)
| Convert a FLMUINT64 value to FLAIM's internal storage format for numbers.
FLMEXP RCODE FLMAPI | FlmINT2Storage (FLMINT iNum, FLMUINT *puiStorageLen, FLMBYTE *pucStorageBuf)
| Convert a FLMINT value to FLAIM's internal storage format for numbers.
FLMEXP RCODE FLMAPI | FlmINT64ToStorage (FLMINT64 i64Num, FLMUINT *puiStorageLen, FLMBYTE *pucStorageBuf)
| Convert a FLMINT64 value to FLAIM's internal storage format for numbers.
FLMEXP RCODE FLMAPI | FlmStorage2UINT (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT *puiNum)
| Convert a value from FLAIM's internal format to a FLMUINT.
FLMEXP RCODE FLMAPI | FlmStorage2UINT32 (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT32 *pui32Num)
| Convert a value from FLAIM's internal format to a FLMUINT32.
FLMEXP RCODE FLMAPI | FlmStorage2UINT64 (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT64 *pui64Num)
| Convert a value from FLAIM's internal format to a FLMUINT64.
FLMEXP RCODE FLMAPI | FlmStorage2INT (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMINT *puiNum)
| Convert a value from FLAIM's internal format to a FLMINT.
FLMEXP RCODE FLMAPI | FlmStorage2INT32 (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMINT32 *pui32Num)
| Convert a value from FLAIM's internal format to a FLMINT32.
FLMEXP RCODE FLMAPI | FlmStorage2INT64 (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMINT64 *pui64Num)
| Convert a value from FLAIM's internal format to a FLMINT64.
FLMEXP RCODE FLMAPI | FlmUnicode2Storage (const FLMUNICODE *puzStr, FLMUINT *puiStorageLen, FLMBYTE *pucStorageBuf)
| Convert a unicode string to FLAIM's internal storage format.
FLMEXP FLMUINT FLMAPI | FlmGetUnicodeStorageLength (const FLMUNICODE *puzStr)
| Determine the number of bytes needed to store a unicode string in FLAIM's internal storage format.
FLMEXP RCODE FLMAPI | FlmStorage2Unicode (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT *puiStrBufLen, FLMUNICODE *puzStrBuf)
| Convert a value from FLAIM's internal format to a unicode string.
FINLINE RCODE | FlmGetUnicodeLength (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT *puiUniLength)
| Get the number of bytes needed to convert a value from FLAIM's internal format to a unicode string.
FLMEXP RCODE FLMAPI | FlmNative2Storage (const char *pszStr, FLMUINT uiStrLen, FLMUINT *puiStorageLen, FLMBYTE *pucStorageBuf)
| Convert a native string to FLAIM's internal storage format.
FLMEXP RCODE FLMAPI | FlmStorage2Native (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT *puiStrBufLen, char *pszStrBuf)
| Convert a value from FLAIM's internal format to a native string.
FLMEXP FLMUINT FLMAPI | FlmGetNativeStorageLength (const char *pszStr)
| Determine the number of bytes needed to store a native string in FLAIM's internal storage format.
FINLINE RCODE | FlmGetNativeLength (FLMUINT uiValueType, FLMUINT uiValueLength, const FLMBYTE *pucValue, FLMUINT *puiStrLength)
| Get the number of bytes needed to convert a value from FLAIM's internal format to a native string.
FINLINE RCODE | FlmCursorFirst (HFCURSOR hCursor, FlmRecord **ppRecord)
| Positions to and retrieves the first record in the query result set.
FINLINE RCODE | FlmCursorLast (HFCURSOR hCursor, FlmRecord **ppRecord)
| Positions to and retrieves the last record in the query result set.
FINLINE RCODE | FlmCursorNext (HFCURSOR hCursor, FlmRecord **ppRecord)
| Positions to and retrieves the next record in the query result set.
FINLINE RCODE | FlmCursorPrev (HFCURSOR hCursor, FlmRecord **ppRecord)
| Positions to and retrieves the previous record in the query result set.
FINLINE RCODE | FlmCursorFirstDRN (HFCURSOR hCursor, FLMUINT *puiDrn)
| Positions to the first record in the query result set and retrieves the record's DRN.
FINLINE RCODE | FlmCursorLastDRN (HFCURSOR hCursor, FLMUINT *puiDrn)
| Positions to the last record in the query result set and retrieves the record's DRN.
FINLINE RCODE | FlmCursorNextDRN (HFCURSOR hCursor, FLMUINT *puiDrn)
| Positions to the next record in the query result set and retrieves the record's DRN.
FINLINE RCODE | FlmCursorPrevDRN (HFCURSOR hCursor, FLMUINT *puiDrn)
| Positions to the previous record in the query result set and retrieves the record's DRN.
FLMEXP RCODE FLMAPI | FlmCursorCurrent (HFCURSOR hCursor, FlmRecord **ppRecord)
| Retrieve current record from query result set.
FLMEXP RCODE FLMAPI | FlmCursorCurrentDRN (HFCURSOR hCursor, FLMUINT *puiDrn)
| Retrieve the DRN of the current recrord in query result set.
FLMEXP RCODE FLMAPI | FlmCursorMoveRelative (HFCURSOR hCursor, FLMINT *piPosition, FlmRecord **ppRecord)
| Position relative to the current record (forward or backward) in the query result set and retrieve the record positioned to.
FLMEXP RCODE FLMAPI | FlmCursorRecCount (HFCURSOR hCursor, FLMUINT *puiCount)
| Get record count for a query result set.
FLMEXP RCODE FLMAPI | FlmCursorCompareDRNs (HFCURSOR hCursor, FLMUINT uiDRN1, FLMUINT uiDRN2, FLMUINT uiTimeLimit, FLMINT *piCmpResult, FLMBOOL *pbTimedOut, FLMUINT *puiKeyCount)
| Determine the relative position of two records in a query's result set.
FLMEXP RCODE FLMAPI | FlmCursorTestRec (HFCURSOR hCursor, FlmRecord *pRecord, FLMBOOL *pbIsMatch)
| Test a record to see if it passes the query criteria.
FLMEXP RCODE FLMAPI | FlmCursorTestDRN (HFCURSOR hCursor, FLMUINT uiDRN, FLMBOOL *pbIsMatch)
| Retrieve and test a record (using a DRN) to see if it passes the query criteria.
FLMEXP const char *FLMAPI | FlmVerifyErrToStr (eCorruptionType eCorruption)
| Return an error string for a corruption code.
FLMEXP RCODE FLMAPI | FlmDbCheck (HFDB hDb, const char *pszDbFileName, const char *pszDataDir, const char *pszRflDir, FLMUINT uiCheckFlags, F_Pool *pPool, DB_CHECK_PROGRESS *pDbStats, STATUS_HOOK fnStatusHook, void *pvAppArg)
| Check a database for corruptions.
FLMEXP RCODE FLMAPI | FlmDbRebuild (const char *pszSourceDbPath, const char *pszSourceDataDir, const char *pszDestDbPath, const char *pszDestDataDir, const char *pszDestRflDir, const char *pszDictPath, CREATE_OPTS *pCreateOpts, FLMUINT *puiTotalRecords, FLMUINT *puiRecsRecovered, STATUS_HOOK fnStatusHook, void *pvAppData)
| Rebuild a database.
FLMEXP RCODE FLMAPI | FlmDbReduceSize (HFDB hDb, FLMUINT uiCount, FLMUINT *puiCount)
| Reduce the database size - returning unused blocks back to the file system.
FLMEXP RCODE FLMAPI | FlmDbSweep (HFDB hDb, FLMUINT uiSweepMode, FLMUINT uiCallbackFlags, STATUS_HOOK fnStatusHook, void *pvAppData)
| Traverse records in the database looking for unused fields.
FLMEXP RCODE FLMAPI | FlmDbUpgrade (HFDB hDb, FLMUINT uiNewVersion, STATUS_HOOK fnStatusCallback, void *pvAppData)
| Upgrade a database.
FLMEXP RCODE FLMAPI | FlmMaintenanceStatus (HFDB hDb, FMAINT_STATUS *pMaintStatus)
| Get the current status of the background maintenance thread for a database.
FLMEXP RCODE FLMAPI | FlmDbCopy (const char *pszSrcDbName, const char *pszSrcDataDir, const char *pszSrcRflDir, const char *pszDestDbName, const char *pszDestDataDir, const char *pszDestRflDir, STATUS_HOOK fnStatusCallback, void *pvAppData)
| Copy a database.
FLMEXP RCODE FLMAPI | FlmDbRename (const char *pszDbName, const char *pszDataDir, const char *pszRflDir, const char *pszNewDbName, FLMBOOL bOverwriteDestOk, STATUS_HOOK fnStatusCallback, void *pvAppData)
| Rename a database.
FLMEXP RCODE FLMAPI | FlmDbRemove (const char *pszDbName, const char *pszDataDir, const char *pszRflDir, FLMBOOL bRemoveRflFiles)
| Delete a database.
FLMEXP RCODE FLMAPI | FlmEnableEncryption (HFDB hDb, FLMBYTE **ppucWrappingKey, FLMUINT32 *pui32KeyLen)
| Enable encryption for a database.
FLMEXP RCODE FLMAPI | FlmDbWrapKey (HFDB hDb, const char *pszPassword)
| Wrap a database's encryption key in a password.

## Detailed Description

## Typedef Documentation

typedef RCODE(* BACKER_WRITE_HOOK)(void *pvBuffer,FLMUINT uiBytesToWrite,void *pvAppData)

| Typedef for callback function that is called from FlmDbBackup() to write out backed up data. It is this function's responsibility to write the data to an appropriate backup medium - tape, disk, etc.

typedef RCODE( * CURSOR_GET_FIELD_CB)(void *pvAppData,FlmRecord *pRecord,HFDB hDb,FLMUINT *puiFldPath,FLMUINT uiAction,#define FLM_FLD_FIRST#define FLM_FLD_NEXT#define FLM_FLD_CLEANUP#define FLM_FLD_VALIDATE#define FLM_FLD_RESET FlmRecord **ppFieldRecRV,void **ppFieldRV,FLMUINT *puiResult)

| Typedef for query "get field" function that can be inserted into query criteria wherever a field or field path could be inserted. This type of function is passed as a parameter to the FlmCursorAddFieldCB() function.

typedef RCODE(* IX_CALLBACK)(HFDB hDb,FLMUINT uiIndexNum,FLMUINT uiContainerNum,FLMUINT uiDrn,FlmRecord *pInputRecord,FlmRecord **ppModifiedRecord,void *pvAppData)

| Indexing callback function. This function is implemented by an application. It allows an application to modify a record after it has been indexed. This only happens when an index is first created or when its definition is modified.

typedef FLMBOOL(* REC_VALIDATOR_HOOK)(eFlmFuncs eFlmFuncId,HFDB hDb,FLMUINT uiContainerId,FlmRecord *pRecord,FlmRecord *pOldRecord,void *pvAppData,RCODE *pRCode)

| Record validator function. A record validator function has several uses. It is used in a query to allow an application to apply tests to records that are not easily expressed with FLAIM's query criteria syntax. The REC_VALIDATOR_HOOK callback returns an RCODE. In the case of an update operation, the RCODE returned by the validator function is ignored. However, in the case of a read operation, the return code is evaluated. If it is FERR_OK, the current record is returned to the application. Otherwise, the record is not returned, but the read operation is allowed to continue.

typedef RCODE(* STATUS_HOOK)(eStatusType eStatus,void *pvParm1,void *pvParm2,void *pvAppData)

| General purpose status callback function. This function is implemented by an application. It allows an application to receive all kinds of status information from FLAIM during various FLAIM operations.

## Enumeration Type Documentation

enum eBackupGetConfigType

  | Backup configuration information that can be requested by FlmBackupGetConfig(). Enumerator:
  FBAK_GET_BACKUP_TRANS_ID | Get backup transaction ID. pvValue1 is a FLMUINT * that returns the transaction ID.
  FBAK_GET_LAST_BACKUP_TRANS_ID | Get the last backup transactioN ID. pvValue1 is a FLMUINT * that returns the last transaction ID.

enum eCorruptionLocale

  | Locations of corruptions in the database. Enumerator:
  LOCALE_LFH_LIST | Corruption was found in the list of logical file blocks.
  LOCALE_AVAIL_LIST | Corruption was found in the list of available blocks.
  LOCALE_B_TREE | Corruption was found in an index or container b-tree block.
  LOCALE_IXD_TBL | Corruption was found in index table.
  LOCALE_INDEX | Corruption was logical index corruption.

enum eCorruptionType

  | Types of corruption that can be reported by FlmDbCheck(). Enumerator:
  FLM_NO_CORRUPTION | 0
  FLM_BAD_CHAR | 1
  FLM_BAD_ASIAN_CHAR | 2
  FLM_BAD_CHAR_SET | 3
  FLM_BAD_TEXT_FIELD | 4
  FLM_BAD_NUMBER_FIELD | 5
  FLM_BAD_CONTEXT_FIELD | 6
  FLM_BAD_FIELD_TYPE | 7
  FLM_BAD_IX_DEF | 8
  FLM_MISSING_REQ_KEY_FIELD | 9
  FLM_BAD_TEXT_KEY_COLL_CHAR | 10
  FLM_BAD_TEXT_KEY_CASE_MARKER | 11
  FLM_BAD_NUMBER_KEY | 12
  FLM_BAD_CONTEXT_KEY | 13
  FLM_BAD_BINARY_KEY | 14
  FLM_BAD_DRN_KEY | 15
  FLM_BAD_KEY_FIELD_TYPE | 16
  FLM_BAD_KEY_COMPOUND_MARKER | 17
  FLM_BAD_KEY_POST_MARKER | 18
  FLM_BAD_KEY_POST_BYTE_COUNT | 19
  FLM_BAD_KEY_LEN | 20
  FLM_BAD_LFH_LIST_PTR | 21
  FLM_BAD_LFH_LIST_END | 22
  FLM_BAD_PCODE_LIST_END | 23
  FLM_BAD_BLK_END | 24
  FLM_KEY_COUNT_MISMATCH | 25
  FLM_REF_COUNT_MISMATCH | 26
  FLM_BAD_CONTAINER_IN_KEY | 27
  FLM_BAD_BLK_HDR_ADDR | 28
  FLM_BAD_BLK_HDR_LEVEL | 29
  FLM_BAD_BLK_HDR_PREV | 30
  FLM_BAD_BLK_HDR_NEXT | 31
  FLM_BAD_BLK_HDR_TYPE | 32
  FLM_BAD_BLK_HDR_ROOT_BIT | 33
  FLM_BAD_BLK_HDR_BLK_END | 34
  FLM_BAD_BLK_HDR_LF_NUM | 35
  FLM_BAD_AVAIL_LIST_END | 36
  FLM_BAD_PREV_BLK_NEXT | 37
  FLM_BAD_FIRST_ELM_FLAG | 38
  FLM_BAD_LAST_ELM_FLAG | 39
  FLM_BAD_LEM | 40
  FLM_BAD_ELM_LEN | 41
  FLM_BAD_ELM_KEY_SIZE | 42
  FLM_BAD_ELM_PKC_LEN | 43
  FLM_BAD_ELM_KEY_ORDER | 44
  FLM_BAD_ELM_KEY_COMPRESS | 45
  FLM_BAD_CONT_ELM_KEY | 46
  FLM_NON_UNIQUE_FIRST_ELM_KEY | 47
  FLM_BAD_ELM_FLD_OVERHEAD | 48
  FLM_BAD_ELM_FLD_LEVEL_JUMP | 49
  FLM_BAD_ELM_FLD_NUM | 50
  FLM_BAD_ELM_FLD_LEN | 51
  FLM_BAD_ELM_FLD_TYPE | 52
  FLM_BAD_ELM_END | 53
  FLM_BAD_PARENT_KEY | 54
  FLM_BAD_ELM_DOMAIN_SEN | 55
  FLM_BAD_ELM_BASE_SEN | 56
  FLM_BAD_ELM_IX_REF | 57
  FLM_BAD_ELM_ONE_RUN_SEN | 58
  FLM_BAD_ELM_DELTA_SEN | 59
  FLM_BAD_ELM_DOMAIN | 60
  FLM_BAD_LAST_BLK_NEXT | 61
  FLM_BAD_FIELD_PTR | 62
  FLM_REBUILD_REC_EXISTS | 63
  FLM_REBUILD_KEY_NOT_UNIQUE | 64
  FLM_NON_UNIQUE_ELM_KEY_REF | 65
  FLM_OLD_VIEW | 66
  FLM_COULD_NOT_SYNC_BLK | 67
  FLM_IX_REF_REC_NOT_FOUND | 68
  FLM_IX_KEY_NOT_FOUND_IN_REC | 69
  FLM_DRN_NOT_IN_KEY_REFSET | 70
  FLM_BAD_BLK_CHECKSUM | 71
  FLM_BAD_LAST_DRN | 72
  FLM_BAD_FILE_SIZE | 73
  FLM_BAD_AVAIL_BLOCK_COUNT | 74
  FLM_BAD_DATE_FIELD | 75
  FLM_BAD_TIME_FIELD | 76
  FLM_BAD_TMSTAMP_FIELD | 77
  FLM_BAD_DATE_KEY | 78
  FLM_BAD_TIME_KEY | 79
  FLM_BAD_TMSTAMP_KEY | 80
  FLM_BAD_BLOB_FIELD | 81
  FLM_BAD_PCODE_IXD_TBL | 82
  FLM_DICT_REC_ADD_ERR | 83
  FLM_BAD_FIELD_FLAG | 84
  FLM_BAD_FOP | 85

enum eCursorConfigType

  | Configuration options for FlmCursorConfig(). Enumerator:
  FCURSOR_CLEAR_QUERY | Clear query criteria.
  FCURSOR_GEN_POS_KEYS | Generate positioning keys.
  FCURSOR_SET_HDB | Set the database handle for the query. pvValue1 is an HFDB - the database handle.
  FCURSOR_SET_FLM_IX | Set the index for the query. pvValue1 is a FLMUINT - the index number. A value of zero may be specified to indicate that no index is to be used. A value of FLM_SELECT_INDEX specifies that FLAIM is to select the index. This is the default.
  FCURSOR_SET_OP_TIME_LIMIT | Set a time limit for the query. pvValue1 is a FLMUINT - timeout in seconds.
  FCURSOR_SET_PERCENT_POS | Position to a percent position in the query result set. pvValue1 is a FLMUINT between 1 and 100.
  FCURSOR_SET_POS | Position to the same position another query object is positioned to. pvValue1 is CURSOR * - a pointer to the query object whose position we are to position to.
  FCURSOR_SET_POS_FROM_DRN | Position to a specific record in the query result set. pvValue1 is a FLMUINT - the DRN of the record to be positioned to. If the record is not in the result set, an error will be returned.
  FCURSOR_SET_REC_TYPE | Set the type of record that this query should return. This basically adds a special criteria for the query that specifies that only records whose root field number matches a certain value should be be returned. pvValue1 is a FLMUINT - the root field number (or record type) to be matched.
  FCURSOR_RETURN_KEYS_OK | Sets a flag that specifies whether it is ok for this query to return keys from the index instead of actual records from the container. pvValue1 is a FLMBOOL - TRUE means that index keys may be returned. FALSE means that only real records from the container may be returned. This flag is only used if it is possible to test the query criteria using only information retrieved from an index - provided, of course, that an index is used to perform the query.
  FCURSOR_DISCONNECT | Disconnect the cursor from any association with the current database handle, if any. If any internal read transaction is going, it will be aborted.
  FCURSOR_ALLOW_DUPS | Allow duplicate records in query result set.
  FCURSOR_ELIMINATE_DUPS | Disallow duplicate records in query result set.
  FCURSOR_SET_REC_VALIDATOR | Set a record validator function that is to be called for each record that passes the query query criteria. pvValue1 is a REC_VALIDATOR_HOOK - the record validator function. The record validator function may apply additional criteria to determine if the record should really be allowed to be returned or if it should be failed.
  FCURSOR_SET_STATUS_HOOK | Set a status function that is called to report progress in evaluating the query. pvValue1 is a STATUS_HOOK - the status function. pvValue2 is application data that will be passed to the status function whenever it is called.
  FCURSOR_SAVE_POSITION | Save the current position of the query within its query result set. This option is provided so that an application can temporarily position to some other place in its result set, but then returned to a saved position easily.
  FCURSOR_RESTORE_POSITION | Restore the current position of the query within its query result set.
  FCURSOR_SET_ABS_POS | Set the absolute position in the query query result set. pvValue1 is a FLMUINT *. On input (FLMUINT *)pvValue1 is the absolute position the query is to be set to. On output, it returns the position actually set to. pvValue2 is a FLMBOOL. If record at the position specified does not pass the query criteria, this flag specifies whether to position to the next or previous record in the result set that does match the criteria.

enum eCursorGetConfigType

  | Options for FlmCursorGetConfig(). Enumerator:
  FCURSOR_GET_OPT_INFO_LIST | Get the optimization information for the query. pvValue1 is a pointer to an array of OPT_INFO structures. If a NULL is passed, no optimization information is returned, but a count of OPT_INFO structures needed will be returned in the pvValue2 parameter. pvValue2 is a FLMUINT *. It returns the number of elements needed in the OPT_INFO array. One OPT_INFO structure is returned for each sub-query that is optimized separately from other sub-queries. Typically, an application should call FlmCursorGetConfig() twice for this option - the first time with a NULL in pvValue1 to get the size of the OPT_INFO array needed. Then, allocate memory for the array and call it again.
  FCURSOR_GET_FLM_IX | Get the index being used for the query. pvValue1 is a FLMUINT *. The index number, if any, is returned here. A zero means that no index is being used. If multiple indexes are being used, pvValue1 will only return the first index. pvValue2 is a FLMUINT *. It returns flags which indicates if more than one index is being used. It will be one of the following: HAVE_NO_INDEX - Query was not using an index (pvValue1 should return 0 in this case) HAVE_ONE_INDEX - Query is using exactly one index (pvValue1 will return index number) HAVE_ONE_INDEX_MULT_PARTS - Query is using exactly one index, but there are multiple parts of the index that are being searched HAVE_MULTIPLE_INDEXES - Query is using multiple indexes (pvValue1 will return only the first index).
  FCURSOR_GET_OPT_INFO | Get optimization information for the query. pvValue1 is a pointer to an OPT_INFO structure where the optimization information will be returned. This option only returns the first OPT_INFO structure. If there are multiple sub-queries, use eCursorGetConfigType::FCURSOR_GET_OPT_INFO_LIST.
  FCURSOR_GET_PERCENT_POS | Get the current percent position of the query in the query result set. pvValue1 is a FLMUINT *. It returns the current percent position. NOTE: This option should only be called if the query is percent positionable - see eCursorGetConfigType::FCURSOR_GET_POSITIONABLE.
  FCURSOR_GET_REC_TYPE | Get the record type that has been set for the query, if any. If a record type was set, it would have been set using the eCursorConfigType::FCURSOR_SET_REC_TYPE option of the FlmCursorConfig() function. pvValue1 is a FLMUINT *. It returns the record type.
  FCURSOR_GET_FLAGS | Get the current mode flags for the query. These are the mode flags that would have been set using the FlmCursorSetMode() function. pvValue1 is a FLMUINT *. It returns the flags.
  FCURSOR_GET_STATE | Get the current state of the query. pvValue1 is a FLMUINT *. It returns flags indicating what the current state of the query is. The flags are as follows: FCURSOR_HAVE_CRITERIA - Indicates that some query criteria has been set. Query criteria may or may not be complete FCURSOR_EXPECTING_OPERATOR - Indicates that the query criteria is expecting an operator to be submitted next FCURSOR_QUERY_COMPLETE - Indicates that the query criteria is in a "complete" state - that is, it is syntatically complete and could be used to retrieve records FCURSOR_QUERY_OPTIMIZED - Indicates that the query has already been optimized FCURSOR_READ_PERFORMED - Indicates that the query is ready to have records retrieved.
  FCURSOR_GET_POSITIONABLE | Get whether or not the query is "percentage" positionable. pvValue1 is a FLMBOOL *. It returns a TRUE/FALSE flag indicating whether the query can be percentage positioned.
  FCURSOR_AT_BOF | Get whether or not the query is positioned at BOF. pvValue1 is a FLMBOOL *. It returns a TRUE/FALSE flag indicating whether the query is at BOF.
  FCURSOR_AT_EOF | Get whether or not the query is positioned at EOF. pvValue1 is a FLMBOOL *. It returns a TRUE/FALSE flag indicating whether the query is at EOF.
  FCURSOR_GET_ABS_POSITIONABLE | Get whether or not the query is "absolute" positionable. pvValue1 is a FLMBOOL *. It returns a TRUE/FALSE flag indicating whether the query is absolute positionable.
  FCURSOR_GET_ABS_POS | Get the current absolute position of the query in the query result set. pvValue1 is a FLMUINT *. It returns the current absolute position. NOTE: This option should only be used if the query is absolute positionable - see eCursorGetConfigType::FCURSOR_GET_ABS_POSITIONABLE.
  FCURSOR_GET_ABS_COUNT | Get the absolute count of the query result set. pvValue1 is a FLMBOOL *. It returns the absolute count. NOTE: This option should only be used if the query is absolute positionable - see eCursorGetConfigType::FCURSOR_GET_ABS_POSITIONABLE.

enum eDbConfigType

  | Configuration options for FlmDbConfig(). Enumerator:
  FDB_SET_APP_VERSION | Set the application version numbers into the database header. pvValue1 is a FLMUINT which holds the major version number. pvValue2 is a FLMUINT which holds the minor version number.
  FDB_RFL_KEEP_FILES | Sets flag which specifies whether or not to keep roll-forward log files. pvValue1 is a FLMBOOL which is TRUE or FALSE.
  FDB_RFL_DIR | Set the roll-forward log directory. pvValue1 is a char * which contains the name of the RFL directory.
  FDB_RFL_FILE_LIMITS | Set the minimum and maximum sizes for RFL files. pvValue1 is a FLMUINT which contains the minimum RFL file size (in bytes). pvValue2 is a FLMUINT which contains the maximum RFL file size (in bytes).
  FDB_RFL_ROLL_TO_NEXT_FILE | Force the database to create and start using the next RFL file in the sequence.
  FDB_KEEP_ABORTED_TRANS_IN_RFL | Set flag which specifies whether or not to keep aborted transactions in roll-forward log files. pvValue1 is a FLMBOOL which is TRUE or FALSE.
  FDB_AUTO_TURN_OFF_KEEP_RFL | Set flag which specifies whether or not to automatically turn off keeping of RFL files when the RFL volume gets full. pvValue1 is a FLMBOOL which is TRUE or FALSE.
  FDB_FILE_EXTEND_SIZE | Set the extend size for data files in the database. pvValue1 is a FLMUINT which specifies the extend size (in bytes). Whenever data files need to be extended, they will be extended by this amount.
  FDB_SET_APP_DATA | Allows an application to have the database object remember some data. pvValue1 contains a pointer to the data to be remembered. An application may retrieve this pointer at any time by calling FlmDbGetConfig() with the eDbGetConfigType::FDB_GET_APP_DATA option.
  FDB_SET_COMMIT_CALLBACK | Set a callback function that is to be called whenever this database handle commits an update transaction. pvValue1 is a pointer to the callback function - a COMMIT_FUNC. pvValue2 is a pointer to application data that will be passed into the function whenever it is called.
  FDB_ENABLE_FIELD_ID_TABLE | Enable the creating of a field ID table for level-one fields in cached records for a specific container. pvValue1 is a FLMUINT that holds the container number. pvValue2 is a FLMBOOL indicating whether the field id table is to be enabled or disabled.
  FDB_SET_RFL_SIZE_THRESHOLD | Sets the RFL size threshold (in K bytes). If registered to receive RFL size events, an event will be reported when the on-disk size of the RFL exceeds this value. pvValue1 is a FLMUINT which specifies the threshold value in K bytes.
  FDB_SET_RFL_SIZE_EVENT_INTERVALS | Sets the criteria for determining how often to report RFL size events once the RFL exceeds the size threshold. pvValue1 is a FLMUINT which specifies the minimum number of seconds between events. pvValue2 is a FLMUINT which specifies the minimum increase in K bytes of the RFL between events.
  FDB_RFL_FOOTPRINT_SIZE | Set the footprint size of the RFL when files are not being kept. pvValue1 is a FLMUINT which specifies the footprint size (in bytes).
  FDB_RBL_FOOTPRINT_SIZE | Set the footprint size of the roll-back log. pvValue1 is a FLMUINT which specifies the footprint size (in bytes).

enum eDbGetConfigType

  | Options for FlmDbGetConfig(). Enumerator:
  FDB_GET_VERSION | Get the FLAIM database version. pvValue1 is a FLMUINT * that returns database version.
  FDB_GET_BLKSIZ | Get the database block size. pvValue1 is a FLMUINT * that returns database block size.
  FDB_GET_DEFAULT_LANG | Get the default language for the database. pvValue1 is a FLMUINT * that returns the language.
  FDB_GET_PATH | Get the database file name. pvValue1 is a char * that points to a buffer where the file name is to be returned. Buffer should be large enough to hold the largest possible file name.
  FDB_GET_TRANS_ID | Get the current transaction ID for the database. pvValue1 is a FLMUINT * that returns the transaction ID. NOTE: If no transaction is active, this option will return the last committed update transaction ID if this database handle has the database locked. Otherwise it will return zero.
  FDB_GET_CHECKPOINT_INFO | Get the current state of the checkpoint thread. pvValue1 is a pointer to a CHECKPOINT_INFO structure where the checkpoint information is to be returned.
  FDB_GET_LOCK_HOLDER | Get the current lock holder for the database. pvValue1 is a pointer to a F_LOCK_USER structure where the lock information is to be returned.
  FDB_GET_LOCK_WAITERS | Get the entire list of threads that are either holding the lock on the database or are waiting to obtain the lock on the database. pvValue1 is a F_LOCK_USER **. This option will allocate an array of F_LOCK_USER structures and return a pointer to them. The zeroeth element of the array contains the lock holder. All other elements contain lock waiters. The last element in the array will be zeroed out. NOTE: The memory allocated by this function should be freed by calling FlmFreeMem().
  FDB_GET_LOCK_WAITERS_EX | Get the lock holders and waiters using a IF_LockInfoClient object. pvValue1 is a pointer to the IF_LockInfoClient object that is to be used.
  FDB_GET_RFL_DIR | Get the directory where RFL files are stored. pvValue1 is a char * that points to a buffer where the file name is to be returned. Buffer should be large enough to hold the largest possible directory name.
  FDB_GET_RFL_FILE_NUM | Get the current RFL file number. pvValue1 is a FLMUINT * that returns the file number.
  FDB_GET_RFL_HIGHEST_NU | Get the highest RFL file number that is not currently in use. pvValue1 is a FLMUINT * that returns the file number.
  FDB_GET_RFL_FILE_SIZE_LIMITS | Get the minimum and maximum RFL file sizes. pvValue1 is a FLMUINT * that returns the minimum file size (in bytes). pvValue2 is a FLMUINT * that returns the maximum file file size (in bytes). NOTE: These sizes may be set by calling FlmDbConfig() using the eDbConfigType::FDB_RFL_FILE_LIMITS option.
  FDB_GET_RFL_KEEP_FLAG | Get the flag which tells whether the database is configured to keep RFL files. pvValue1 is a FLMBOOL * which returns a TRUE or FALSE.
  FDB_GET_LAST_BACKUP_TRANS_ID | Get the last backup transaction ID. pvValue1 is a FLMUINT * which returns the transaction ID.
  FDB_GET_BLOCKS_CHANGED_SINCE_BACKUP | Get the number of blocks in the database that have changes since the last backup. pvValue1 is a FLMUINT * that returns the number of blocks.
  FDB_GET_SERIAL_NUMBER | Get the database serial number. pvValue1 is a FLMBYTE * that points to a buffer where the serial number will be returned. The buffer should be at least F_SERIAL_NUM_SIZE bytes.
  FDB_GET_AUTO_TURN_OFF_KEEP_RFL_FLAG | Get the flag which tells whether the database is configured to automatically turn off the keeping of RFL files when the RFL volume gets full. pvValue1 is a FLMBOOL * which returns a TRUE or FALSE. NOTE: This flag may be set by calling FlmDbConfig() using the eDbConfigType::FDB_AUTO_TURN_OFF_KEEP_RFL option.
  FDB_GET_KEEP_ABORTED_TRANS_IN_RFL_FLAG | Get the flag which tells whether the database is configured to keep aborted transactions in the roll-forward log. pvValue1 is a FLMBOOL * which returns a TRUE or FALSE. NOTE: This flag may be set by calling FlmDbConfig() using the eDbConfigType::FDB_KEEP_ABORTED_TRANS_IN_RFL option.
  FDB_GET_SIZES | Get database file sizes. pvValue1 is a FLMUINT64 * which returns the total size of all data files. pvValue2 is a FLMUINT64 * which returns the total size of all rollback files. pvValue3 is a FLMUINT64 * which returns the total size of all roll-forward log files.
  FDB_GET_FILE_EXTEND_SIZE | Get the database file extend size. pvValue1 is a FLMUINT * which returns the file extend size. NOTE: This size may be set by calling FlmDbConfig() using the eDbConfigType::FDB_FILE_EXTEND_SIZE option.
  FDB_GET_APP_DATA | Get the application data pointer that was set using the eDbConfigType::FDB_SET_APP_DATA option in FlmDbConfig(). pvValue1 is a void ** which returns the pointer.
  FDB_GET_NEXT_INC_BACKUP_SEQ_NUM | Get the next incremental backup sequence number for the database. pvValue1 is a FLMUINT * that returns the sequence number.
  FDB_GET_DICT_SEQ_NUM | Get the dictionary sequence number. pvValue1 is a FLMUINT * that returns the sequence number.
  FDB_GET_FFILE_ID | Get the database's unique ID number. pvValue1 is a FLMUINT * that returns the number.
  FDB_GET_MUST_CLOSE_RC | Get the RCODE that caused the "must close" flag to be set on the database. pvValue1 is an RCODE * that returns the RCODE.
  FDB_GET_RFL_FOOTPRINT_SIZE | Get the RFL footprint size. pvValue1 is a FLMUINT * which returns the RFL footprint size. NOTE: This size may be set by calling FlmDbConfig() using the eDbConfigType::FDB_RFL_FOOTPRINT_SIZE option.
  FDB_GET_RBL_FOOTPRINT_SIZE | Get the roll-back log footprint size. pvValue1 is a FLMUINT * which returns the RBL footprint size. NOTE: This size may be set by calling FlmDbConfig() using the eDbConfigType::FDB_RBL_FOOTPRINT_SIZE option.

enum eDiagInfoType

  | Types of diagnostic information available from FlmGetDiagInfo(). Enumerator:
  FLM_GET_DIAG_INDEX_NUM | Get the index number. pvDiagInfo is a FLMUINT * that returns index number. This diagnostic is available when the RCODE::FERR_NOT_UNIQUE error code is returned.
  FLM_GET_DIAG_DRN | Get the DRN. pvDiagInfo is a FLMUINT * that returns DRN. This diagnostic is available after attempting to add or modify a dictionary definition record to the dictionary. It is available for the following error codes: RCODE::FERR_SYNTAX - dictionary syntax error, returns dictionary definition number RCODE::FERR_INVALID_TAG - returns DRN of last valid dictionary record processed RCODE::FERR_DUPLICATE_DICT_REC - returns DRN of record with the duplicate ID RCODE::FERR_DUPLICATE_DICT_NAME - returns DRN of record with the duplicate name RCODE::FERR_ID_RESERVED - returns DRN of reserved ID RCODE::FERR_CANNOT_RESERVE_ID - returns DRN of ID that cannot be reserved RCODE::FERR_CANNOT_RESERVE_NAME - returns DRN of name that cannot be reserved RCODE::FERR_BAD_DICT_DRN - returns DRN of dictionary record that was bad.
  FLM_GET_DIAG_FIELD_NUM | Get the field number. pvDiagInfo is a FLMUINT * that returns field number. This diagnostic is available after attempting to add or modify a record in the database. It is available for the following error codes: RCODE::FERR_SYNTAX - dictionary syntax error, returns field number RCODE::FERR_BAD_FIELD_NUM - returns bad field number in the record that was being added or modified.
  FLM_GET_DIAG_FIELD_TYPE | Get the field type. pvDiagInfo is a FLMUINT * that returns field type. This diagnostics is available when the RCODE::FERR_BAD_FIELD_NUM error code is returned from a record add (FlmRecordAdd()) or record modify (FlmRecordModify()) operation.
  FLM_GET_DIAG_ENC_ID | Get the encryption ID. pvDiagInfo is a FLMUINT * that returns encryption ID. This diagnostics is available when the RCODE::FERR_PURGED_ENCDEF_FOUND error code is returned.

enum eFlmConfigTypes

  | Database system configuration options that are passed into FlmConfig() and FlmGetConfig(). Enumerator:
  FLM_CLOSE_UNUSED_FILES | FlmConfig(). Close all files that have not been used for the specified number of seconds. Input: pvValue1 is (FLMUINT), unused seconds.
  FLM_CLOSE_ALL_FILES | FlmConfig(). Close all available file handles as well as all used files as as they are available. Files opened after this call will not be immediately closed after use.
  FLM_OPEN_THRESHOLD | FlmConfig(). Set maximum number of file handles. Input: pvValue1 is (FLMUINT), maximum file handles. FlmGetConfig(). Returns maximum number of files handles. Output: pvValue is (FLMUINT *), returns maximum file handles.
  FLM_OPEN_FILES | FlmGetConfig(). Returns number of open file handles. Output: pvValue is (FLMUINT *), returns number of open file handles.
  FLM_CACHE_LIMIT | FlmConfig(). Set maximum cache size in bytes. Input: pvValue1 is (FLMUINT), maximum cache size in bytes. Input: pvValue2 is (FLMBOOL), pre-allocate cache?
  FLM_SCACHE_DEBUG | FlmConfig(). Enable/disable cache debugging. Input: pvValue1 is (FLMBOOL), TRUE=enable, FALSE=disable.
  FLM_START_STATS | FlmConfig(). Start gathering statistics.
  FLM_STOP_STATS | FlmConfig(). Stop gathering statistics.
  FLM_RESET_STATS | FlmConfig(). Reset statistics.
  FLM_TMPDIR | FlmConfig(). Set temporary directory. Input: pvValue1 is (char *), name of temporary directory.
  FLM_MAX_CP_INTERVAL | FlmConfig(). Set maximum seconds between checkpoints. Input: pvValue1 is (FLMUINT), maximum seconds between checkpoints. FlmGetConfig(). Get maximum seconds between checkpoints. Output: pvValue is (FLMUINT *), maximum seconds between checkpoints.
  FLM_BLOB_EXT | FlmConfig(). Set BLOB override file extension. Input: pvValue1 is (char *), file extension. NULL or empty string disables override. FlmGetConfig(). Get BLOB override fle extension. Output: pvValue is (char *), at least a 4 byte buffer for extension.
  FLM_MAX_TRANS_SECS | FlmConfig(). Set maximum transaction time limit. Used to determine whether a transaction should be killed. Input: pvValue1 is (FLMUINT), maximum seconds. FlmGetConfig(). Get maximum transaction time limit. Output: pvValue is (FLMUINT *), maximum seconds.
  FLM_MAX_TRANS_INACTIVE_SECS | FlmConfig(). Set maximum time a transaction can be inactive before it will be killed. Input: pvValue1 is (FLMUINT), maximum seconds. FlmGetConfig(). Get maximum time a transaction can be inactive before it will be killed. Output: pvValue is (FLMUINT *), maximum seconds.
  FLM_CACHE_ADJUST_INTERVAL | FlmConfig(). Set interval for dynamically adjusting cache limit. Input: pvValue1 is (FLMUINT), interval in seconds. FlmGetConfig(). Get interval for dynamically adjusting cache limit. Output: pvValue is (FLMUINT *), interval in seconds.
  FLM_CACHE_CLEANUP_INTERVAL | FlmConfig(). Set interval for dynamically cleaning out old cache blocks and records. Input: pvValue1 is (FLMUINT), interval in seconds. FlmGetConfig(). Get interval for dynamically cleaning out old cache blocks and records. Output: pvValue is (FLMUINT *), interval in seconds.
  FLM_UNUSED_CLEANUP_INTERVAL | FlmConfig(). Set interval for cleaning up unused structures. Input: pvValue1 is (FLMUINT), interval in seconds. FlmGetConfig(). Get interval for cleaning up unused structures. Output: pvValue is (FLMUINT *), interval in seconds.
  FLM_MAX_UNUSED_TIME | FlmConfig(). Set maximum time for an item to be unused. Input: pvValue1 is (FLMUINT), maximum time in seconds. FlmGetConfig(). Get maximum time for an item to be unused. Output: pvValue is (FLMUINT *), maximum time in seconds.
  FLM_BLOCK_CACHE_PERCENTAGE | FlmConfig(). Set percentage of cache to be allocated to block cache. Input: pvValue1 is (FLMUINT), percent (0 to 100). FlmGetConfig(). Get percentage of cache allocated to block cache. Output: pvValue is (FLMUINT *), percent.
  FLM_CACHE_CHECK | FlmConfig(). Enable/disable cache checking. Input: pvValue1 is (FLMUINT), 0=disable,other=enable. FlmGetConfig(). Get cache checking state. Output: pvValue is (FLMBOOL *), FALSE=disabled,TRUE=enabled.
  FLM_CLOSE_FILE | FlmConfig(). Force a database to close all of its files. Input: pvValue1 is (char *), name of database.
  FLM_LOGGER | FlmConfig(). Set the logger object. Input: pvValue1 is (IF_LoggerClient *), pointer to logger object. NULL means disable logging.
  FLM_ASSIGN_HTTP_SYMS | FlmConfig(). Set function pointers for HTTP server. Input: pvValue1 is (HTTPCONFIGPARAMS *), pointer to structure containing HTTP handling functions.
  FLM_UNASSIGN_HTTP_SYMS | FlmConfig(). Unset function pointers for HTTP server functions to NULL. This effectively disables the HTTP server.
  FLM_REGISTER_HTTP_URL | FlmConfig(). Set the base URL the HTTP server is going to handle. Input: pvValue1 is (char *), base URL to start handling.
  FLM_DEREGISTER_HTTP_URL | FlmConfig(). Unset the base URL the HTTP server was handling. Tells the HTTP server to no longer call our HTTP functions when a request for the specified URL comes in. Input: pvValue1 is (char *), base URL to stop handling.
  FLM_KILL_DB_HANDLES | FlmConfig(). Invalidate open database handles, forcing the database to (eventually) be closed. Input: pvValue1 is (char *), name of database. Input: pvValue2 is (char *), name of directory for database data files. NOTE: Passing NULL for pvValue1 and pvValue2 will cause all active database handles to be forced to close.
  FLM_QUERY_MAX | FlmConfig(). Set maximum number of queries to save for statistics. Input: pvValue1 is (FLMUINT), maximum number of queries to save. FlmGetConfig(). Get maximum number of queries to save for statistics. Output: pvValue is (FLMUINT *), maximum number of queries to save.
  FLM_MAX_DIRTY_CACHE | FlmConfig(). Set maximum dirty cache. Input: pvValue1 is (FLMUINT), maximum dirty cache (bytes). Input: pvValue2 is (FLMUINT), low dirty cache (bytes). FlmGetConfig(). Get maximum dirty cache. Output: pvValue is (FLMUINT *), maximum dirty cache (bytes).
  FLM_DYNA_CACHE_SUPPORTED | FlmGetConfig(). Get whether dynamic cache limits are supported. Output: pvValue is (FLMBOOL *), TRUE if dynamic cache limits are supported, FALSE if not.
  FLM_QUERY_STRATIFY_LIMITS | FlmConfig(). Set maximum query stratify iterations and query stratify time limit. Input: pvValue1 is (FLMUINT), maximum query stratify iterations. Input: pvValue2 is (FLMUINT), query stratify time limit (seconds). FlmGetConfig(). Get maximum query stratify iterations. Output: pvValue is (FLMUINT *), maximum query stratify iterations.
  FLM_DIRECT_IO_STATE | FlmConfig(). Enable or disable direct I/O. Input: pvValue1 is (FLMBOOL), TRUE = enable, FALSE = disable. FlmGetConfig(). Get direct I/O state. Output: pvValue is (FLMBOOL *), TRUE = enabled, FALSE = disabled.

enum eFlmFuncs

  | FLAIM Functions. Enumerator:
  FLM_CURSOR_COMPARE_DRNS | FlmCursorCompareDRNs().
  FLM_CURSOR_CONFIG | FlmCursorConfig().
  FLM_CURSOR_FIRST | FlmCursorFirst().
  FLM_CURSOR_FIRST_DRN | FlmCursorFirstDRN().
  FLM_CURSOR_GET_CONFIG | FlmCursorGetConfig().
  FLM_CURSOR_LAST | FlmCursorLast().
  FLM_CURSOR_LAST_DRN | FlmCursorLastDRN().
  FLM_CURSOR_MOVE_RELATIVE | FlmCursorMoveRelative().
  FLM_CURSOR_NEXT | FlmCursorNext().
  FLM_CURSOR_NEXT_DRN | FlmCursorNextDRN().
  FLM_CURSOR_PREV | FlmCursorPrev().
  FLM_CURSOR_PREV_DRN | FlmCursorPrevDRN().
  FLM_CURSOR_REC_COUNT | FlmCursorRecCount().
  FLM_DB_CHECKPOINT | FlmDbCheckpoint().
  FLM_DB_UPGRADE | FlmDbUpgrade().
  FLM_DB_CREATE | FlmDbCreate().
  FLM_DB_GET_COMMIT_CNT | FlmDbGetCommitCnt().
  FLM_DB_GET_LOCK_INFO | FlmDbGetLockInfo().
  FLM_DB_GET_LOCK_TYPE | FlmDbGetLockType().
  FLM_DB_GET_TRANS_ID | FlmDbGetTransId().
  FLM_DB_GET_TRANS_TYPE | FlmDbGetTransType().
  FLM_DB_LOCK | FlmDbLock().
  FLM_DB_OPEN | FlmDbOpen().
  FLM_DB_REDUCE_SIZE | FlmDbReduceSize().
  FLM_DB_SWEEP | FlmDbSweep().
  FLM_DB_TRANS_ABORT | FlmDbTransAbort().
  FLM_DB_TRANS_BEGIN | FlmDbTransBegin().
  FLM_DB_TRANS_COMMIT | FlmDbTransCommit().
  FLM_DB_UNLOCK | FlmDbUnlock().
  FLM_INDEX_GET_NEXT | FlmIndexGetNext().
  FLM_INDEX_STATUS | FlmIndexStatus().
  FLM_INDEX_RESUME | FlmIndexResume().
  FLM_INDEX_SUSPEND | FlmIndexSuspend().
  FLM_KEY_RETRIEVE | FlmKeyRetrieve().
  FLM_RESERVE_NEXT_DRN | FlmReserveNextDrn().
  FLM_RECORD_ADD | FlmRecordAdd().
  FLM_RECORD_MODIFY | FlmRecordModify().
  FLM_RECORD_DELETE | FlmRecordDelete().
  FLM_RECORD_RETRIEVE | FlmRecordRetrieve().

enum eMaintAction

  | Types of actions the background maintenance thread may currently be doing. Enumerator:
  FLM_MAINT_IDLE | Thread is idle.
  FLM_MAINT_LOOKING_FOR_WORK | Thread is looking for work to do.
  FLM_MAINT_WAITING_FOR_LOCK | Thread is waiting to get the database lock.
  FLM_MAINT_ENDING_TRANS | Thread is committing an update transaction.
  FLM_MAINT_TERMINATED | Thread is not currently running.
  FLM_MAINT_FREEING_BLOCKS | Thread is freeing blocks.

enum eRestoreActionType

  | Actions that an application may want to tell FlmDbRestore() to take during a restore operation. These action codes are returned from the F_Restore::status() method. Enumerator:
  RESTORE_ACTION_CONTINUE | Continue restore.
  RESTORE_ACTION_STOP | Abort the restore.
  RESTORE_ACTION_SKIP | Skip the current operation. NOTE: FlmDbRestore does not currently do anything if this code is returned.
  RESTORE_ACTION_RETRY | Retry the operation. This should only be returned when the F_Restore::status() method passes an eRestoreStatusType::RESTORE_ERROR and the application wants FlmDbRestore() to retry whatever it was that caused the error.

enum eRestoreStatusType

  | Restore status types reported through the F_Restore::status() method. Enumerator:
  RESTORE_BEGIN_TRANS | Restoring a FlmDbTransBegin() operation. pvValue1 is a FLMUINT that contains the transaction start time.
  RESTORE_COMMIT_TRANS | Restoring a FlmDbTransCommit() operation.
  RESTORE_ABORT_TRANS | Restoring a FlmDbTransAbort() operation.
  RESTORE_ADD_REC | Restoring a FlmRecordAdd() operation. pvValue1 is a FLMUINT that contains the container number. pvValue2 is a FLMUINT that contains the DRN. pvValue3 is a FlmRecord * that points to the record object to be added.
  RESTORE_DEL_REC | Restoring a FlmRecordDelete() operation. pvValue1 is a FLMUINT that contains the container number. pvValue2 is a FLMUINT that contains the DRN.
  RESTORE_MOD_REC | Restoring a FlmRecordModify() operation. pvValue1 is a FLMUINT that contains the container number. pvValue2 is a FLMUINT that contains the DRN. pvValue3 is a FlmRecord * that points to the modified record object.
  RESTORE_RESERVE_DRN | Restoring a FlmReserveNextDrn() operation. pvValue1 is a FLMUINT that contains the container number. pvValue2 is a FLMUINT that contains the DRN that was reserved.
  RESTORE_INDEX_SET | Restoring index set of records operation. pvValue1 is a FLMUINT that contains the index number. pvValue2 is a FLMUINT that contains the start DRN to be indexed. pvValue3 is a FLMUINT that contains the end DRN to be indexed.
  RESTORE_PROGRESS | Report restore progress. pvValue1 is a BYTE_PROGRESS *.
  RESTORE_REDUCE | Restoring a FlmDbReduceSize() operation. pvValue1 is a FLMUINT that contains the count of blocks reduced.
  RESTORE_UPGRADE | Restoring a FlmDbUpgrade() operation. pvValue1 is a FLMUINT that contains the old version being upgraded from. pvValue2 is a FLMUINT that contains the new version being upgraded to.
  RESTORE_ERROR | Report an error that occurred during the restore. pvValue1 is a RCODE that contains the error which occurred.
  RESTORE_INDEX_SUSPEND | Restoring a FlmIndexSuspend() operation. pvValue1 is a FLMUINT that contains the index number.
  RESTORE_INDEX_RESUME | Restoring a FlmIndexResume() operation. pvValue1 is a FLMUINT that contains the index number.
  RESTORE_BLK_CHAIN_DELETE | Restoring a block chaine delete operation - deleting blocks from an index or container. pvValue1 is a FLMUINT that contains the DRN of the record in the tracker that is being used to track this operation. pvValue2 is a FLMUINT that contains the number of blocks to delete. pvValue3 is a FLMUINT that contains the block address of the last block that was deleted.
  RESTORE_WRAP_KEY | Restoring a FlmDbWrapKey() operation. pvValue1 is a FLMUINT that contains the length of the database key.
  RESTORE_ENABLE_ENCRYPTION | Restoring a FlmEnableEncryption() operation. pvValue1 is a FLMUINT that contains the length of the database key.
  RESTORE_CONFIG_SIZE_EVENT | Restoring a FlmSetSizeEventThreshold() operation. pvValue1 is a FLMUINT ....

enum eStatusType

  | Status types returned in the general purpose status callback function (STATUS_HOOK). Enumerator:
  FLM_INDEXING_STATUS | Reports indexing progress. pvParm1 is a FLMUINT that contains the last DRN that was indexed.
  FLM_DELETING_STATUS | Reports progress of deleting an index or container. pvParm1 is a FLMUINT that contains the the number of blocks deleted so far. pvParm2 is a FLMUINT that contains the database block size.
  FLM_SWEEP_STATUS | Reports the progress of a call to FlmDbSweep(). pvParm1 is a pointer to a SWEEP_INFO structure. pvParm2 is a FLMUINT that indicates why the callback is being called. It may be one of the following: EACH_CONTAINER - callback happens once for each container that is traversed EACH_RECORD - callback happens once for each record that is read EACH_FIELD - callback happens for each field in the record EACH_CHANGE - callback happens whenever a field definition that was marked as check is changed to unused, or whenever a field that was marked as purged is deleted.
  FLM_CHECK_STATUS | Reports status of a database check - called from within FlmDbCheck(). This is returned to the callback function that is passed into FlmDbCheck(). pvParm1 is a pointer to a DB_CHECK_PROGRESS structure.
  FLM_SUBQUERY_STATUS | Reports status of query processing. This is returned to the callback function that is set by calling FlmCursorConfig() with the eCursorConfigType::FCURSOR_SET_STATUS_HOOK option. pvParm1 is a pointer to a FCURSOR_SUBQUERY_STATUS structure. pvParm2 is a FLMBOOL that indicates whether a particular subquery is finished processing or not. TRUE is returned if it is finished, FALSE if not.
  FLM_DB_COPY_STATUS | Reports status of a database copy - called from within FlmDbCopy(). This is returned to the callback function that is passed into FlmDbCopy(). pvParm1 is a pointer to a DB_COPY_INFO structure.
  FLM_REBUILD_STATUS | Reports the status of a database rebuild operation - called from within FlmDbRebuild(). This is returned to the callback function that is passed into FlmDbRebuild(). pvParm1 is a pointer to a REBUILD_INFO structure.
  FLM_PROBLEM_STATUS | Reports corruption found by FlmDbCheck(). This is returned to the callback fnction that that is passed into FlmDbCheck(). pvParm1 is a pointer to a CORRUPT_INFO structure. pvParm2 is a FLMBOOL *. If non-NULL, it means that this particular corruption is a logical index corruption that FlmDbCheck() can probably repair. The callback function should return a TRUE if it wants FlmDbCheck() to repair the corruption, FALSE otherwise.
  FLM_CHECK_RECORD_STATUS | Reports each non-dictionary record found by FlmDbRebuild(). This is returned to the callback function that is passed into FlmDbRebuild(). It is only reported during the phase when FlmDbRebuild() is collecting dictionary records. pvParm1 is a pointer to a CHK_RECORD structure. The purpose of this status callback is to allow an application to extract dictionary information from non-dictionary records and supply them to FLAIM to inject into the dictionary it is rebuilding. This allows an application a backup mechanism for creating needed dictionary records if those records cannot be recovered from the dictionary container.
  FLM_EXAMINE_RECORD_STATUS | Reports each non-dictionary record that is recovered by FlmDbRebuild(). This is returned to the callback function that is passed into FlmDbRebuild(). It is only reported during the phase when FlmDbRebuild() is recovering non-dictionary records. pvParm1 is a pointer to a CHK_RECORD structure. This callback status gives an applicatoin an opportunity to examine each non-dictionary record that is recovered - usually so that the application can collect whatever information it might need to as records are recovered. In this way, the application is not required to make another pass through the recovered records in the rebuilt database if it wants to extract information from the records that were recovered.
  FLM_DB_UPGRADE_STATUS | Reports the status of a database upgrade operation - called from within FlmDbUpgrade(). This is returned to the callback funcgtion that is passed into FlmDbUpgrade(). pvParm1 is a pointer to a DB_UPGRADE_INFO structure.
  FLM_DB_BACKUP_STATUS | Reports status of a backup - called from within FlmDbBackup(). This is returned to the callback function that is passed into FlmDbBackup(). pvParm1 is a pointer to a DB_BACKUP_INFO structure.
  FLM_DB_RENAME_STATUS | Reports status of a rename - called from within FlmDbRename(). This is returned to the callback function that is passed into FlmDbRename(). pvParm1 is a pointer to a DB_RENAME_INFO structure.
  FLM_DELETING_KEYS | Reports status of removing keys from an index that spans multiple containers. This is called when a container is deleted that the index spans. When that happens, all keys in the index that point to records in the container must be deleted from the index. This callback status reports the progress of removing those keys. pvParm1 is a FLMUINT that contains the index number whose keys are being removed. pvParm2 is a FLMUINT that contains the total number of elements that have been traversed in the index so far. The callback function that is called is the callback function that is registered when FlmSetStatusHook() is called to set the database handle's STATUS_HOOK callback function.
  FLM_REBUILD_ADD_DICT_REC_STATUS | Called from within FlmDbRebuild() prior to adding a dictionary record to the dictionary container in the rebuilt database. This gives an application an opportunity to modify the dictionary record before it is added to the dictionary. pvParm1 is a pointer to the FlmRecord object that is to be added to the dictionary.

enum FBackupType

  | Types of backups supported by FLAIM. This type is passed into FlmDbBackupBegin(). Enumerator:
  FLM_FULL_BACKUP | Full backup.
  FLM_INCREMENTAL_BACKUP | Incremental backup.

enum FEventCategory

  | Event categories that an application can register to catch - see FlmRegisterForEvent(). Enumerator:
  F_EVENT_LOCKS | Catch all database lock events.
  F_EVENT_UPDATES | Catch all transaction and update event events.
  F_EVENT_SIZE | Catch all size threshold events.

enum FEventType

  | Types of events returned to registered event handling functions. See FlmRegisterForEvent() for information on how to register an event handling function. Enumerator:
  F_EVENT_LOCK_WAITING | Thread waiting for lock to be granted, pvEventData1 == database handle, pvEventData2 == thread id.
  F_EVENT_LOCK_GRANTED | Lock granted to thread, pvEventData1 == database handle, pvEventData2 == thread id.
  F_EVENT_LOCK_SUSPENDED | Thread suspended waiting for lock to be granted, pvEventData1 == database handle, pvEventData2 == thread id.
  F_EVENT_LOCK_RESUMED | Lock granted to suspended thread, thread resumed, pvEventData1 == database handle, pvEventData2 == thread id.
  F_EVENT_LOCK_RELEASED | Lock released by thread, pvEventData1 == database handle, pvEventData2 == thread id.
  F_EVENT_LOCK_TIMEOUT | Thread timed out waiting for lock, pvEventData1 == database handle, pvEventData2 == thread id.
  F_EVENT_BEGIN_TRANS | Transaction started, pvEventData1 == FLM_TRANS_EVENT *.
  F_EVENT_COMMIT_TRANS | Transaction committed, pvEventData1 == FLM_TRANS_EVENT *.
  F_EVENT_ABORT_TRANS | Transaction aborted, pvEventData1 == FLM_TRANS_EVENT *.
  F_EVENT_ADD_RECORD | Record added to database, pvEventData1 == FLM_UPDATE_EVENT *.
  F_EVENT_MODIFY_RECORD | Record modified in database, pvEventData1 == FLM_UPDATE_EVENT *.
  F_EVENT_DELETE_RECORD | Record deleted from database, pvEventData1 == FLM_UPDATE_EVENT *.
  F_EVENT_RESERVE_DRN | DRN reserved in database, pvEventData1 == FLM_UPDATE_EVENT *.
  F_EVENT_INDEXING_COMPLETE | Background indexing status, pvEventData1 (FLMUINT) == index number, pvEventData2 (FLMUINT) == last drn indexed, if zero indexing is complete and the index is now online.
  F_EVENT_RFL_SIZE | RFL size threshold has been exceeded, pvEventData1 == FLM_RFL_SIZE_EVENT *.

enum FlmLogMessageType

  | Categories of messages that FLAIM can log and that an application can request to receive. Enumerator:
  FLM_QUERY_MESSAGE | Query information is logged using this message type.
  FLM_TRANSACTION_MESSAGE | Transactional messages, including updates.
  FLM_GENERAL_MESSAGE | General category of messages - anything not belonging to the other message categories.

enum qOptTypes

  | Sub-query optimization types. Enumerator:
  QOPT_USING_INDEX | Sub-query was optimized using an index.
  QOPT_USING_PREDICATE | Sub-query was optimized using an application-defined predicate.
  QOPT_SINGLE_RECORD_READ | Sub-query was optimized to retrieve a single record.
  QOPT_PARTIAL_CONTAINER_SCAN | Sub-query was optimized to scan through a subset of records in a container.
  QOPT_FULL_CONTAINER_SCAN | Sub-query was optimized to scan through all of the records in a container.

enum QTYPES

  | Query value types and operators. Enumerator:
  FLM_BOOL_VAL | 1 - Boolean value.
  FLM_UINT32_VAL | 2 - 32 bit unsigned integer value.
  FLM_INT32_VAL | 3 - 32 bit signed integer value.
  FLM_REAL_VAL | 4 - Real number value. NOTE: Not currently supported.
  FLM_REC_PTR_VAL | 5 - DRN value.
  FLM_UINT64_VAL | 6 - 64 bit unsigned integer value.
  FLM_INT64_VAL | 7 - 64 bit signed integer value.
  FLM_BINARY_VAL | 9 - Binary value.
  FLM_STRING_VAL | 10 - ASCII string value.
  FLM_UNICODE_VAL | 11 - Unicode string value.
  FLM_TEXT_VAL | 12 - Internal FLAIM string value.
  FLM_AND_OP | 100 - Logical AND operator.
  FLM_OR_OP | 101 - Logical OR operator.
  FLM_NOT_OP | 102 - Logical NOT operator.
  FLM_EQ_OP | 103 - Equals comparison operator.
  FLM_MATCH_OP | 104 - String match comparison operator.
  FLM_MATCH_BEGIN_OP | 105 - Sring match-begin comparison operator.
  FLM_MATCH_END_OP | 106 - String match-end comparison operator.
  FLM_CONTAINS_OP | 107 - String contains comparison operator.
  FLM_NE_OP | 108 - Not equal comparison operator.
  FLM_LT_OP | 109 - Less than comparison operator.
  FLM_LE_OP | 110 - Less than or equal comparison operator.
  FLM_GT_OP | 111 - Greater than comparison operator.
  FLM_GE_OP | 112 - Greater than or equal comparison operator.
  FLM_BITAND_OP | 113 - Bitwise-AND arithmetic operator.
  FLM_BITOR_OP | 114 - Bitwise-OR arithmetic operator.
  FLM_BITXOR_OP | 115 - Bitwise-XOR arithmetic operator.
  FLM_MULT_OP | 116 - Multiply arithmetic operator.
  FLM_DIV_OP | 117 - Divide arithmetic operator.
  FLM_MOD_OP | 118 - Modulo arithmetic operator.
  FLM_PLUS_OP | 119 - Addition arithmetic operator.
  FLM_MINUS_OP | 120 - Subtraction arithmetic operator.
  FLM_NEG_OP | 121 - Unary minus (negative) arithmetic operator.
  FLM_LPAREN_OP | 122 - Left parentheses.
  FLM_RPAREN_OP | 123 - Right parentheses.

## Function Documentation

FLMEXP const char* FLMAPI FlmVerifyErrToStr | ( | eCorruptionType | eCorruption | ) |

  | Return an error string for a corruption code. Parameters:
  eCorruption | Corruption code.