Rizin
unix-like reverse engineering framework and cli tools
|
#include <rz_skyline.h>
Go to the source code of this file.
Macros | |
#define | CMP_BEGIN_GTE_PART(addr, part) (((addr) > (rz_itv_begin(((RzSkylineItem *)(part))->itv))) - ((addr) < (rz_itv_begin(((RzSkylineItem *)(part))->itv)))) |
#define | CMP_END_GTE_PART(addr, part) (((addr) < (rz_itv_end(((RzSkylineItem *)(part))->itv)) || !rz_itv_end(((RzSkylineItem *)(part))->itv)) ? -1 : 1) |
Functions | |
RZ_API bool | rz_skyline_add (RzSkyline *skyline, RzInterval itv, void *user) |
RZ_API const RzSkylineItem * | rz_skyline_get_item_intersect (RzSkyline *skyline, ut64 addr, ut64 len) |
#define CMP_BEGIN_GTE_PART | ( | addr, | |
part | |||
) | (((addr) > (rz_itv_begin(((RzSkylineItem *)(part))->itv))) - ((addr) < (rz_itv_begin(((RzSkylineItem *)(part))->itv)))) |
#define CMP_END_GTE_PART | ( | addr, | |
part | |||
) | (((addr) < (rz_itv_end(((RzSkylineItem *)(part))->itv)) || !rz_itv_end(((RzSkylineItem *)(part))->itv)) ? -1 : 1) |
RZ_API bool rz_skyline_add | ( | RzSkyline * | skyline, |
RzInterval | itv, | ||
void * | user | ||
) |
Definition at line 12 of file skyline.c.
References rz_interval_t::addr, CMP_BEGIN_GTE_PART, rz_skyline_item_t::itv, NULL, rz_itv_begin(), rz_itv_end(), rz_itv_include(), rz_itv_overlap(), rz_itv_size(), rz_return_val_if_fail, rz_vector_index_ptr(), rz_vector_insert(), rz_vector_len(), rz_vector_lower_bound, rz_vector_remove_at(), rz_interval_t::size, rz_skyline_item_t::user, ut64(), UT64_ADD_OVFCHK, and rz_skyline_t::v.
Referenced by io_map_calculate_skyline(), io_map_new(), rz_core_disasm_pde(), rz_io_cache_invalidate(), rz_io_cache_write(), and rz_io_map_priorize().
RZ_API const RzSkylineItem* rz_skyline_get_item_intersect | ( | RzSkyline * | skyline, |
ut64 | addr, | ||
ut64 | len | ||
) |
Definition at line 60 of file skyline.c.
References addr, rz_interval_t::addr, CMP_END_GTE_PART, i, rz_skyline_item_t::itv, len, NULL, rz_return_val_if_fail, rz_vector_index_ptr(), rz_vector_len(), rz_vector_lower_bound, ut64(), UT64_ADD_OVFCHK, and rz_skyline_t::v.
Referenced by rz_io_cache_read(), rz_skyline_get_intersect(), and rz_skyline_get_item().