128 RZ_LOG_ERROR(
"Non-existent mem %u referenced\n", (
unsigned int)index);
148 RZ_LOG_ERROR(
"Non-existent mem %u referenced\n", (
unsigned int)index);
167 RZ_LOG_ERROR(
"Non-existent mem %u referenced\n", (
unsigned int)index);
187 RZ_LOG_ERROR(
"Non-existent mem %u referenced\n", (
unsigned int)index);
244 return handler(vm,
op,
type);
251 return handler(vm,
op);
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg static fd static protocol static who struct sockaddr static addrlen static backlog struct timeval struct timezone static tz const struct iovec static count static mode const void const struct sockaddr static tolen const char static pathname void static offset struct stat static buf void long static basep static whence static length const void static len key
RZ_API bool rz_il_mem_store(RzILMem *mem, RzBitVector *key, RzBitVector *value)
RZ_API bool rz_il_mem_storew(RzILMem *mem, RzBitVector *key, RzBitVector *value, bool big_endian)
RZ_API RzBitVector * rz_il_mem_load(RzILMem *mem, RzBitVector *key)
RZ_API RzBitVector * rz_il_mem_loadw(RzILMem *mem, RzBitVector *key, ut32 n_bits, bool big_endian)
RZ_API RZ_OWN RzILVal * rz_il_value_new_bitv(RZ_NONNULL RzBitVector *bv)
RZ_API RZ_OWN RzILVal * rz_il_value_new_bool(RZ_NONNULL RzILBool *b)
RZ_API RZ_OWN RzILEvent * rz_il_event_pc_write_new(RZ_NONNULL const RzBitVector *old_pc, RZ_NONNULL const RzBitVector *new_pc)
RZ_API void rz_il_event_free(RZ_NULLABLE RzILEvent *evt)
RZ_API RZ_OWN RzILEvent * rz_il_event_mem_write_new(RZ_NONNULL const RzBitVector *addr, RZ_NONNULL const RzBitVector *old_v, RZ_NONNULL const RzBitVector *new_v)
RZ_API RZ_OWN RzILEvent * rz_il_event_mem_read_new(RZ_NONNULL const RzBitVector *address, RZ_NULLABLE const RzBitVector *value)
RZ_API RzILMem * rz_il_vm_get_mem(RzILVM *vm, RzILMemIndex index)
bool rz_il_handler_branch(RzILVM *vm, RzILOpEffect *op)
RZ_API RZ_NULLABLE RZ_OWN void * rz_il_evaluate_pure(RZ_NONNULL RzILVM *vm, RZ_NONNULL RzILOpPure *op, RZ_NONNULL RzILTypePure *type)
void * rz_il_handler_logical_xor(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_logical_not(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
RZ_API void rz_il_vm_clear_events(RzILVM *vm)
void * rz_il_handler_neg(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_bool_true(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
also known as b1
RZ_API void rz_il_vm_mem_storew(RzILVM *vm, RzILMemIndex index, RzBitVector *key, RzBitVector *value)
RZ_IPI RzILOpEffectHandler rz_il_op_handler_effect_table_default[RZ_IL_OP_EFFECT_MAX]
void * rz_il_handler_ite(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_logical_and(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_let(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_smod(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
RZ_API bool rz_il_evaluate_effect(RZ_NONNULL RzILVM *vm, RZ_NONNULL RzILOpEffect *op)
void * rz_il_handler_bitv(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
bool rz_il_handler_nop(RzILVM *vm, RzILOpEffect *op)
bool rz_il_handler_jmp(RzILVM *vm, RzILOpEffect *op)
RZ_API void rz_il_vm_mem_store(RzILVM *vm, RzILMemIndex index, RzBitVector *key, RzBitVector *value)
void * rz_il_handler_bool_xor(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_msb(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_add(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_shiftl(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_bool_false(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
also known as b0
void * rz_il_handler_mul(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_logical_or(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
RZ_API RZ_NULLABLE RZ_OWN RzBitVector * rz_il_evaluate_bitv(RZ_NONNULL RzILVM *vm, RZ_NONNULL RzILOpBitVector *op)
bool rz_il_handler_set(RzILVM *vm, RzILOpEffect *op)
void * rz_il_handler_loadw(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_sdiv(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
RZ_API RzBitVector * rz_il_vm_mem_load(RzILVM *vm, RzILMemIndex index, RzBitVector *key)
bool rz_il_handler_goto(RzILVM *vm, RzILOpEffect *op)
void * rz_il_handler_ule(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_lsb(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
bool rz_il_handler_empty(RzILVM *vm, RzILOpEffect *op)
void * rz_il_handler_bool_and(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
bool rz_il_handler_storew(RzILVM *vm, RzILOpEffect *op)
void * rz_il_handler_eq(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
RZ_API RzBitVector * rz_il_vm_mem_loadw(RzILVM *vm, RzILMemIndex index, RzBitVector *key, ut32 n_bits)
bool rz_il_handler_seq(RzILVM *vm, RzILOpEffect *op)
void * rz_il_handler_sub(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
RZ_API bool rz_il_vm_step(RzILVM *vm, RzILOpEffect *op, ut64 fallthrough_addr)
void * rz_il_handler_is_zero(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
RZ_IPI RzILOpPureHandler rz_il_op_handler_pure_table_default[RZ_IL_OP_PURE_MAX]
bool rz_il_handler_store(RzILVM *vm, RzILOpEffect *op)
void * rz_il_handler_bool_inv(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
also known as boolean not
bool rz_il_handler_effect_unimplemented(RzILVM *vm, RzILOpEffect *op)
void * rz_il_handler_pure_unimplemented(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
RZ_API void rz_il_vm_event_add(RzILVM *vm, RzILEvent *evt)
void * rz_il_handler_var(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
static void * eval_pure(RZ_NONNULL RzILVM *vm, RZ_NONNULL RzILOpPure *op, RZ_NONNULL RzILTypePure *type)
void * rz_il_handler_load(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_bool_or(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
static bool eval_effect(RZ_NONNULL RzILVM *vm, RZ_NONNULL RzILOpEffect *op)
bool rz_il_handler_repeat(RzILVM *vm, RzILOpEffect *op)
static const char * pure_type_name(RzILTypePure type)
void * rz_il_handler_cast(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_sle(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_append(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_mod(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
void * rz_il_handler_div(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
RZ_API RZ_NULLABLE RZ_OWN RzILBool * rz_il_evaluate_bool(RZ_NONNULL RzILVM *vm, RZ_NONNULL RzILOpBool *op)
void * rz_il_handler_shiftr(RzILVM *vm, RzILOpPure *op, RzILTypePure *type)
RZ_API RZ_NULLABLE RZ_OWN RzILVal * rz_il_evaluate_val(RZ_NONNULL RzILVM *vm, RZ_NONNULL RzILOpPure *op)
bool rz_il_handler_blk(RzILVM *vm, RzILOpEffect *op)
RZ_API RZ_BORROW RzListIter * rz_list_append(RZ_NONNULL RzList *list, void *data)
Appends at the end of the list a new element.
RZ_API void rz_list_purge(RZ_NONNULL RzList *list)
Empties the list without freeing the list pointer.
#define rz_warn_if_reached()
#define rz_return_if_fail(expr)
#define rz_return_val_if_fail(expr, val)
RZ_API void rz_bv_free(RZ_NULLABLE RzBitVector *bv)
RZ_API ut32 rz_bv_len(RZ_NONNULL const RzBitVector *bv)
RZ_API RZ_OWN RzBitVector * rz_bv_new_from_ut64(ut32 length, ut64 value)
void *(* RzILOpPureHandler)(RzILVM *vm, RzILOpPure *op, RZ_NONNULL RZ_OUT RzILTypePure *type)
Evaluation callback for a single pure opcode.
bool(* RzILOpEffectHandler)(RzILVM *vm, RzILOpEffect *op)
Evaluation (execution) callback for a single effect opcode.
#define RZ_LOG_ERROR(fmtstr,...)
@ RZ_IL_TYPE_PURE_BITVECTOR
ut32 len
number of bits – virtual / logical
A single memory as part of the RzIL VM.
An IL op performing a pure computation, 'a pure.
Low-level VM to execute raw IL code.
RzILVarSet local_vars
All local variables, created by local set ops.
RzList * events
List of events that has happened in the last step.
bool big_endian
Sets the endianness of the memory reads/writes operations.
RzBitVector * pc
Program Counter of VM.
RZ_API void rz_il_var_set_reset(RzILVarSet *vs)
ut64(WINAPI *w32_GetEnabledXStateFeatures)()