1 #ifndef R_BIN_PRIVATE_H_ 2 #define R_BIN_PRIVATE_H_ 3 4 #include <r_bin.h> 5 #include <r_util.h> 6 #include <r_types.h> 7 8 R_IPI RBinFile *r_bin_file_new(RBin *bin, const char *file, ut64 file_sz, int rawstr, int fd, const char *xtrname, Sdb *sdb, bool steal_ptr); 9 R_IPI RBinObject *r_bin_file_object_find_by_id(RBinFile *binfile, ut32 binobj_id); 10 R_IPI RList *r_bin_file_get_strings(RBinFile *a, int min, int dump, int raw); 11 R_IPI RBinFile *r_bin_file_find_by_object_id(RBin *bin, ut32 binobj_id); 12 R_IPI RBinFile *r_bin_file_find_by_id(RBin *bin, ut32 binfile_id); 13 R_IPI bool r_bin_file_set_obj(RBin *bin, RBinFile *bf, RBinObject *obj); 14 R_IPI RBinFile *r_bin_file_xtr_load_bytes(RBin *bin, RBinXtrPlugin *xtr, const char *filename, const ut8 *bytes, ut64 sz, ut64 file_sz, ut64 baseaddr, ut64 loadaddr, int idx, int fd, int rawstr); 15 R_IPI bool r_bin_file_set_bytes(RBinFile *binfile, const ut8 *bytes, ut64 sz, bool steal_ptr); 16 17 R_IPI RBinPlugin *r_bin_get_binplugin_any(RBin *bin); 18 R_IPI RBinXtrPlugin *r_bin_get_xtrplugin_by_name(RBin *bin, const char *name); 19 R_IPI RBinPlugin *r_bin_get_binplugin_by_name(RBin *bin, const char *name); 20 21 R_IPI void r_bin_section_free(RBinSection *bs); 22 23 R_IPI void r_bin_object_free(void /*RBinObject*/ *o_); 24 R_IPI ut64 r_bin_object_get_baddr(RBinObject *o); 25 R_IPI void r_bin_object_filter_strings(RBinObject *bo); 26 R_IPI RBinObject *r_bin_object_new(RBinFile *binfile, RBinPlugin *plugin, ut64 baseaddr, ut64 loadaddr, ut64 offset, ut64 sz); 27 R_IPI RBinObject *r_bin_object_get_cur(RBin *bin); 28 R_IPI RBinObject *r_bin_object_find_by_arch_bits(RBinFile *binfile, const char *arch, int bits, const char *name); 29 R_IPI RBNode *r_bin_object_patch_relocs(RBin *bin, RBinObject *o); 30 31 R_IPI const char *r_bin_lang_tostring(int lang); 32 R_IPI int r_bin_lang_type(RBinFile *binfile, const char *def, const char *sym); 33 R_IPI bool r_bin_lang_swift(RBinFile *binfile); 34 35 R_IPI void r_bin_class_free(RBinClass *c); 36 R_IPI RBinSymbol *r_bin_class_add_method(RBinFile *binfile, const char *classname, const char *name, int nargs); 37 R_IPI void r_bin_class_add_field(RBinFile *binfile, const char *classname, const char *name); 38 39 R_IPI RBinFile *r_bin_file_xtr_load_buffer(RBin *bin, RBinXtrPlugin *xtr, const char *filename, RBuffer *buf, ut64 baseaddr, ut64 loadaddr, int idx, int fd, int rawstr); 40 R_IPI RBinFile *r_bin_file_new_from_buffer(RBin *bin, const char *file, RBuffer *buf, int rawstr, ut64 baseaddr, ut64 loadaddr, int fd, const char *pluginname); 41 #endif 42