This structure defines the three prototypes for functions
that can parse the opaque data object stored in a record. It is used in the
CSSM_DbSetRecordParsingFunctions function to override the default parsing
module for a given record type. The DL module developer designates the default
parsing module for each record type stored in the data store.
typedef struct cssm_db_record_parsing_fntable {
CSSM_DATA_PTR (CSSMAPI *RecordGetFirstFieldValue)
(CSSM_HANDLE Handle,
CSSM_DB_RECORDTYPE RecordType,
const CSSM_DATA_PTR Data,
const CSSM_OID_PTR DataField,
CSSM_HANDLE_PTR ResultsHandle,
uint32 *NumberOfMatchedFields);
CSSM_DATA_PTR (CSSMAPI *RecordGetNextFieldValue)
(CSSM_HANDLE Handle,
CSSM_HANDLE ResultsHandle);
CSSM_RETURN (CSSMAPI *RecordAbortQuery)
(CSSM_HANDLE Handle,
CSSM_HANDLE ResultsHandle);
} CSSM_DB_RECORD_PARSING_FNTABLE, *CSSM_DB_RECORD_PARSING_FNTABLE_PTR;
Definitions:
- *RecordGetFirstFieldValue
- A function to retrieve the value of a field in the opaque object.
The field is specified by attribute name. The results handle holds the state
information required to retrieve subsequent values having the same attribute
name.
- *RecordGetNextFieldValue
- A function to retrieve subsequent values having the same attribute
name from a record parsed by the first function in this table.
- *RecordAbortQuery
- Stop subsequent retrieval of values having the same attribute name from
within the opaque object.
|