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