C and C++ Binaries

Data Type: struct __cs_xref_query

Fully specifies a query over the tokens in an analyzed project.

Defined in file cs_xref.h.



Public Attributes

cs_size_t offset 0-based. The query will return the tuples at positions offset..(offset+ limit-1); if limit is 0 returns all tuples at position offset and higher.
cs_size_t limit The query will return at most this many results. Set to 0 to return all results.
cs_xr_kind * kinds Use NULL to specify "all cs_xr_kind values".

The query will return otherwise-matching tuples whose kind-role pair either matches a kind_roles entry or consists of a cs_xr_kind specified by kinds and a cs_xr_role specified by roles.

cs_xr_role * roles See note for kinds. Use NULL to specify "all cs_xr_role values".
cs_xr_kind_role * kind_roles See note for kinds. Use NULL to specify "no cs_xr_kind_role values beyond those derived from kinds and roles".
char ** terms The token names to search for. For procedures (cs_pdg), these will be compared against the procedure basename as retrieved by cs_pdg_basename().
csuint64 * term_hashes The token name hashes to search for. For procedures (cs_pdg), these will be compared against the hash of the procedure basename as retrieved by cs_pdg_basename().
cs_xref_file_query occurrence The file or files in which the token may occur.
cs_xref_file_query definition The file or files in which the token may be defined.
cs_xref_query_iterator_fn_t iterate Iteration function.
cs_xref_query_cmp_fn_t cmp Comparison function to use in ordering the query results. If NULL, the order will match the order in which the tuples were found.
void * ctx Any contextual information that may be required by iterate or cmp.
cs_xref_query_flags flags Additional query properties. Do not specify the csxrqf_populate_counters or csxrqf_all flag if you will be passing a NULL "counters" argument when you execute the query with cs_xref_query_execute().