5 namespace module_identification
This file contains the struct Configuration for module identification analysis.
@ mixed
Mixed operation, for merged VerifiedCandidates that contain multiple candidate types.
@ addition
Addition operation.
@ signed_less_equal
Signed less-than-or-equal comparison.
@ addition_offset
Addition operation with a constant offset.
@ equal
Equality comparison.
@ negation
Negation operation.
@ less_equal
Less-than-or-equal comparison.
@ less_than
Less-than comparison.
@ counter
Counter operation.
@ subtraction
Subtraction operation.
@ value_check
Value check against a constant operation.
@ absolute
Absolute value operation.
@ constant_multiplication
Constant multiplication operation.
@ signed_less_than
Signed less-than comparison.
@ constant_multiplication_offset
Constant multiplication operation with a constant offset.
MultithreadingPriority
Specifies the strategy for multithreading in the module identification process.
Configuration for the module identification analysis.
Configuration()
Constructs an empty configuration.
Configuration & with_multithreading_priority(const MultithreadingPriority &priority)
Set the multithreading priority type.
Configuration & with_types_to_check(const std::vector< module_identification::CandidateType > &types_to_check)
Set the candidate types to be checked.
Configuration & with_already_classified_candidates(const std::vector< std::vector< Gate * >> &already_classified_candidates)
Add gates to be ignored during processing.
std::vector< std::set< Gate * > > m_blocked_base_candidates
Base candidates to block during analysis.
std::vector< module_identification::CandidateType > m_types_to_check
CandidateTypes that shall be checked. Defaults to all checkable candidate types.
std::vector< std::vector< Gate * > > m_known_registers
A vector handling possibly known registers.
u32 m_max_control_signals
Maximum number of control signals to be tested. Defaults to 3.
Configuration & with_known_registers(const std::vector< std::vector< Gate * >> ®isters)
Set the known registers for prioritization.
Configuration & with_blocked_base_candidates(const std::vector< std::set< Gate * >> &blocked_base_candidates)
Add base candidates to be blocked during analysis.
std::vector< std::vector< Gate * > > m_already_classified_candidates
Gates to ignore during processing.
Configuration & with_max_control_signals(const u32 &max_control_signals)
Set the maximum number of control signals to be tested.
Configuration & with_max_thread_count(const u32 &max_thread_count)
Set the maximum number of threads.
MultithreadingPriority m_multithreading_priority
Choose which MultithreadingPriority to use for the analysis. Defaults to memory priority.
u32 m_max_thread_count
Maximum number of concurrent threads created during execution. Defaults to 1.