IDA C++ SDK 9.2
Loading...
Searching...
No Matches
Find string flags

Topics

 Match dependencies flags

Misc

enum  dscu_svc_t::depmatch_code_t {
  dscu_svc_t::dmc_ok = 0 , dscu_svc_t::dmc_bad_file , dscu_svc_t::dmc_cpu_mismatch , dscu_svc_t::dmc_platform_mismatch ,
  dscu_svc_t::dmc_failed
}
virtual bool dscu_svc_t::find_string (string_match_vec_t *out, const char *needle, uint32 flags=0, size_t max_count=size_t(-1)) const =0
 Find all occurrences of needle in the cache's byte content.
virtual bool dscu_svc_t::has_local_symbols () const =0
 Whether this cache has a .symbols sidecar file.
virtual region_type_t dscu_svc_t::get_region_type (size_t region_index) const =0
 Return the type of the region at region_index.
virtual bool dscu_svc_t::query_symbols (symbol_match_vec_t *out, const range_t &range) const =0
 Find symbols from the cache's local symbol table that fall within range.
virtual std::string_view dscu_svc_t::query_symbol (ea_t ea) const =0
 Look up a single address in the local symbol table.
virtual std::string_view dscu_svc_t::query_exported_symbol (ea_t ea) const =0
 Look up an address in the per-image export tables.
virtual bool dscu_svc_t::find_symbol (symbol_match_vec_t *out, const char *needle, uint32 flags=0, size_t max_count=size_t(-1)) const =0
 Find all symbols whose name contains needle, searching the cache's local symbol table and each image's export table.
virtual depmatch_code_t dscu_svc_t::match_dependencies (dependency_match_result_t *out, const char *path, uint32 flags=0) const =0
 Parse the Mach-O file's load commands, and match the image dependencies to this DSC.
virtual void dscu_svc_t::dump_layout (uint32 flags=DLF_ALL) const =0
 Dump the full cache layout to the output window.

Detailed Description

Enumeration Type Documentation

◆ depmatch_code_t

Enumerator
dmc_ok 

Match succeeded.

dmc_bad_file 

File either not present or not a Mach-O file.

dmc_cpu_mismatch 

CPU architecture doesn't match the shared cache's (see MDF_ALLOW_CPU_MISMATCH)

dmc_platform_mismatch 

Platform doesn't match the shared cache's (see MDF_ALLOW_PLATFORM_MISMATCH)

dmc_failed 

Failed to satisfy the request, for misc. reasons.

Function Documentation

◆ find_string()

virtual bool dscu_svc_t::find_string ( string_match_vec_t * out,
const char * needle,
uint32 flags = 0,
size_t max_count = size_t(-1) ) const
pure virtual

Find all occurrences of needle in the cache's byte content.

Matching is a plain substring match against UTF-8 bytes.

Parameters
[out]outreceives (ea, image_index, file_index, file_offset, context) matches
needlesubstring to match (must be non-empty)
flagscombination of FSSF_* bits
max_countstop scanning once this many matches have been collected; default is unlimited
Returns
true if at least one match was found

◆ has_local_symbols()

virtual bool dscu_svc_t::has_local_symbols ( ) const
pure virtual

Whether this cache has a .symbols sidecar file.

◆ get_region_type()

virtual region_type_t dscu_svc_t::get_region_type ( size_t region_index) const
pure virtual

Return the type of the region at region_index.

Parameters
region_indexindex into the global region list
Returns
the region type, or rt_invalid on failure

◆ query_symbols()

virtual bool dscu_svc_t::query_symbols ( symbol_match_vec_t * out,
const range_t & range ) const
pure virtual

Find symbols from the cache's local symbol table that fall within range.

Parameters
[out]outreceives the matches. image_index is always -1 since this call only queries the cache's local (.symbols) table.
rangeaddress range to query
Returns
true if at least one symbol was found

◆ query_symbol()

virtual std::string_view dscu_svc_t::query_symbol ( ea_t ea) const
pure virtual

Look up a single address in the local symbol table.

Parameters
eaeffective address
Returns
the symbol name, or empty view if not found. the returned view is valid for the lifetime of this dscu_svc_t.

◆ query_exported_symbol()

virtual std::string_view dscu_svc_t::query_exported_symbol ( ea_t ea) const
pure virtual

Look up an address in the per-image export tables.

Exports are loaded lazily on first access for each image.

Parameters
eaeffective address
Returns
the exported symbol name, or empty view if not found. the returned view is valid for the lifetime of this dscu_svc_t.

◆ find_symbol()

virtual bool dscu_svc_t::find_symbol ( symbol_match_vec_t * out,
const char * needle,
uint32 flags = 0,
size_t max_count = size_t(-1) ) const
pure virtual

Find all symbols whose name contains needle, searching the cache's local symbol table and each image's export table.

Matching is a plain substring match, case-sensitive by default (see FSF_CASE_INSENSITIVE).

Parameters
[out]outreceives (symbol, ea, image_index) matches. image_index is -1 when the match comes from the cache's local symbol table (.symbols).
needlesubstring to match (must be non-empty)
flagscombination of FSF_* bits
max_countstop accumulating once this many matches have been collected; default is unlimited
Returns
true if at least one symbol was found

◆ match_dependencies()

virtual depmatch_code_t dscu_svc_t::match_dependencies ( dependency_match_result_t * out,
const char * path,
uint32 flags = 0 ) const
pure virtual

Parse the Mach-O file's load commands, and match the image dependencies to this DSC.

Parameters
[out]outresult of the match operation
pathMach-O file path
flagscombination of MDF_* bits
Returns
result code

◆ dump_layout()

virtual void dscu_svc_t::dump_layout ( uint32 flags = DLF_ALL) const
pure virtual

Dump the full cache layout to the output window.

Use #DLF_VALIDATE flags to also run consistency checks.

Parameters
flagscombination of DLF_* bits