13 if (!io || !io->
plugins || !plugin || !plugin->name) {
18 rz_list_foreach (io->
plugins, it, nplugin) {
19 if (!strcmp(nplugin->
name, plugin->name)) {
58 if (!ret || !ret->
check) {
83 if (!
desc->plugin->read) {
93 if (!
desc->plugin->write) {
#define RZ_IO_STATIC_PLUGINS
RZ_API void Ht_() free(HtName_(Ht) *ht)
RZ_API int rz_io_plugin_write(RzIODesc *desc, const ut8 *buf, int len)
RZ_API bool rz_io_plugin_init(RzIO *io)
RZ_API RzIOPlugin * rz_io_plugin_byname(RzIO *io, const char *name)
static volatile RzIOPlugin * default_plugin
RZ_API int rz_io_plugin_read(RzIODesc *desc, ut8 *buf, int len)
RZ_API int rz_io_plugin_read_at(RzIODesc *desc, ut64 addr, ut8 *buf, int len)
RZ_API RzIOPlugin * rz_io_plugin_get_default(RzIO *io, const char *filename, bool many)
RZ_API int rz_io_plugin_write_at(RzIODesc *desc, ut64 addr, const ut8 *buf, int len)
static RzIOPlugin * io_static_plugins[]
RZ_API RzIOPlugin * rz_io_plugin_resolve(RzIO *io, const char *filename, bool many)
RZ_API bool rz_io_plugin_add(RzIO *io, RZ_BORROW RzIOPlugin *plugin)
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
RZ_API RZ_OWN RzList * rz_list_newf(RzListFree f)
Returns a new initialized RzList pointer and sets the free method.
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_event_send(RzEvent *ev, int type, void *data)
RZ_API ut64 rz_io_desc_seek(RzIODesc *desc, ut64 offset, int whence)
RZ_API bool rz_io_desc_is_chardevice(RzIODesc *desc)
bool(* check)(RzIO *io, const char *, bool many)
ut64(WINAPI *w32_GetEnabledXStateFeatures)()