TBLT_RETC TBLT_CALLBACK MyBltDataCrypto(ULONG mode,
TBLT_DH *dhPtr,
VOID *recordPtr,
ULONG recNo);
mode I:sub-function to perform
dhPtr I:data file control structure
recordPtr IO:record data
recNo I:number of the record (informational)
Note: This routine is not part of the base Bullet 3 package but is
documented here for the record. An example crypto routine is included in
the regular distribution (crypto.c). Once written, a function pointer to the
crypto routine is assigned to TBLT_DH.cryptoPtr.
This routine encrypts or decrypts the data record, depending on the mode.
The mode parameter varies depending on which Bullet routine calls here:
CRYPTO_FROM_RECADD from BltDataAddRecord() CRYPTO_FROM_XRECADD (at Add exit) CRYPTO_FROM_RECUPD from BltDataUpdateRecord() CRYPTO_FROM_XRECUPD (at Update exit) CRYPTO_FROM_RECGET from BltDataGetRecord()
For RECADD and RECUPD, the data record should be
encrypted. For RECGET, XRECADD, and XRECUPD,
it should be decrypted. The data is both read and written to recordPtr. The size
of the record is available in dhPtr->recordLength. The recNo is provided for
informational use. In the case of RECADD/XRECADD, recNo is always 0.
There is no memo crypto since memo I/O is already under total control of the programmer.
Return: Non-zero indicates an error, otherwise the data at recordPtr
has been encrypted or decrypted.