19 #define RZ_LIB_SEPARATOR "."
20 #define RZ_LIB_SYMNAME "rizin_plugin"
21 #define RZ_LIB_SYMFUNC "rizin_plugin_function"
23 #define RZ_LIB_ENV "RZ_LIBR_PLUGINS"
27 #define RZ_LIB_EXT "dll"
29 #define RZ_LIB_EXT "dylib"
31 #define RZ_LIB_EXT "so"
static static fork const void static count static fd const char const char static newpath const char static path const char path
RZ_API void rz_lib_free(RzLib *lib)
struct rz_lib_plugin_t RzLibPlugin
RZ_API bool rz_lib_del_handler(RzLib *lib, int type)
RZ_API int rz_lib_run_handler(RzLib *lib, RzLibPlugin *plugin, RzLibStruct *symbol)
RZ_API int rz_lib_close(RzLib *lib, const char *file)
RZ_API int rz_lib_open_ptr(RzLib *lib, const char *file, void *handler, RzLibStruct *stru)
RZ_API RzLibHandler * rz_lib_get_handler(RzLib *lib, int type)
RZ_API int rz_lib_types_get_i(const char *str)
struct rz_lib_handler_t RzLibHandler
RZ_API void * rz_lib_dl_sym(void *handler, const char *name)
RZ_API void rz_lib_list(RzLib *lib)
RZ_API RzLib * rz_lib_new(const char *symname, const char *symnamefunc)
RZ_API char * rz_lib_path(const char *libname)
RZ_API int rz_lib_open(RzLib *lib, const char *file)
RZ_LIB_VERSION_HEADER(rz_lib)
struct rz_lib_struct_t RzLibStruct
RZ_API void * rz_lib_dl_open(const char *libname)
RZ_API bool rz_lib_opendir(RzLib *lib, const char *path, bool force)
Open all the libraries in the given directory, if it wasn't already opened.
int(* RzLibCallback)(RzLibPlugin *, void *, void *)
RZ_API bool rz_lib_add_handler(RzLib *lib, int type, const char *desc, RzLibCallback ct, RzLibCallback dt, void *user)
RZ_API int rz_lib_dl_close(void *handler)
int(* constructor)(RzLibPlugin *, void *user, void *data)
int(* destructor)(RzLibPlugin *, void *user, void *data)
struct rz_lib_handler_t * handler
HtPU * opened_dirs
Hashtable to keep track of already opened directories.