147 bool covered =
false;
150 const st64 addr_offset = begin -
addr;
151 const ut64 buf_offset = addr_offset > 0 ? addr_offset : 0;
152 const ut64 cur_addr =
addr + buf_offset;
153 const ut64 left =
len - buf_offset;
154 if (begin > cur_addr + left) {
158 const ut64 cache_shift = addr_offset < 0 ? -addr_offset : 0;
163 if (left -
read <= 0) {
RZ_API void Ht_() free(HtName_(Ht) *ht)
RZ_API void rz_io_cache_init(RzIO *io)
RZ_API int rz_io_cache_invalidate(RzIO *io, ut64 from, ut64 to)
RZ_API bool rz_io_cache_at(RzIO *io, ut64 addr)
RZ_API void rz_io_cache_reset(RzIO *io, int set)
RZ_API bool rz_io_cache_read(RzIO *io, ut64 addr, ut8 *buf, int len)
RZ_API bool rz_io_cache_write(RzIO *io, ut64 addr, const ut8 *buf, int len)
RZ_API void rz_io_cache_fini(RzIO *io)
static void cache_item_free(RzIOCache *cache)
RZ_API void rz_io_cache_commit(RzIO *io, ut64 from, ut64 to)
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
void * calloc(size_t number, size_t size)
while(len< limit &&buf1[len]==buf2[len])++len
#define rz_return_if_fail(expr)
#define rz_return_val_if_fail(expr, val)
RZ_API void rz_event_send(RzEvent *ev, int type, void *data)
RZ_API bool rz_io_read_at(RzIO *io, ut64 addr, ut8 *buf, int len)
RZ_API bool rz_io_write_at(RzIO *io, ut64 addr, const ut8 *buf, int len)
static ut64 rz_itv_begin(RzInterval itv)
struct rz_interval_t RzInterval
static bool rz_itv_overlap(RzInterval itv, RzInterval x)
static ut64 rz_itv_size(RzInterval itv)
static bool rz_skyline_contains(RzSkyline *skyline, ut64 addr)
RZ_API const RzSkylineItem * rz_skyline_get_item_intersect(RzSkyline *skyline, ut64 addr, ut64 len)
static void rz_skyline_init(RzSkyline *skyline)
static void rz_skyline_fini(RzSkyline *skyline)
static void rz_skyline_clear(RzSkyline *skyline)
RZ_API bool rz_skyline_add(RzSkyline *skyline, RzInterval itv, void *user)
#define UT64_ADD_OVFCHK(x, y)
RZ_API void rz_pvector_remove_data(RzPVector *vec, void *x)
RZ_API void rz_pvector_init(RzPVector *vec, RzPVectorFree free)
RZ_API void rz_pvector_fini(RzPVector *vec)
void(* RzPVectorFree)(void *e)
#define rz_pvector_foreach_prev(vec, it)
static void ** rz_pvector_push(RzPVector *vec, void *x)
RZ_API void rz_pvector_clear(RzPVector *vec)
#define rz_pvector_foreach(vec, it)
static struct sockaddr static addrlen static backlog const void static flags void struct sockaddr from
static struct sockaddr static addrlen static backlog const void static flags void struct sockaddr socklen_t static fromlen const void const struct sockaddr to
ut64(WINAPI *w32_GetEnabledXStateFeatures)()
int read(izstream &zs, T *x, Items items)