CSSM_QUERY

This structure holds a complete specification of a query to select records from a data store.

typedef struct cssm_query {
    CSSM_DB_RECORDTYPE RecordType;
    CSSM_DB_CONJUNCTIVE Conjunctive;
    uint32 NumSelectionPredicates;
    CSSM_SELECTION_PREDICATE_PTR SelectionPredicate;
    CSSM_QUERY_LIMITS QueryLimits;
    CSSM_QUERY_FLAGS QueryFlags;
} CSSM_QUERY, *CSSM_QUERY_PTR;

Definitions:

RecordType
Specifies the type of record to be retrieved from the data store.
Conjunctive
The conjunctive operator to be used in constructing the selection predicate for the query.
NumSelectionPredicates
The number of selection predicates to be connected by the specified conjunctive operator to form the query.
SelectionPredicate
The list of selection predicates to be combined by the conjunctive operator to form the data store query.
QueryLimits
Defines the time and space limits for processing the selection query. The constant values CSSM_QUERY_TIMELIMIT_NONE and CSM_QUERY_SIZELIMIT_NONE should be used to specify no limit on the resources used in processing the query.
QueryFlags
An integer that indicates the return format of the key data. This integer is represented by CSSM_QUERY_RETURN_DATA. When CSSM_QUERY_RETURN_DATA is 1, the key record is returned in OCSF format. When CSSM_QUERY_RETURN_DATA is 0, the information is returned in raw format (a format native to the individual module, BSAFE, or PKCS11).