radare2/libr/meta
pancake ac10ad7df1 * Added dummy xrefs
* Added cmd_meta in r_core->cmd
* Cleanup data type range before adding new one in r_meta
  - mix idea for meta+ranges (commented)
* Search -> initialize renamed to begin()
* Added memcmp_mask for r_util
* Fix crash issue in perl module

--HG--
rename : libr/search/xrefs.c => libr/search/old_xrefs.c
2009-02-16 11:24:45 +01:00
..
t * Initial working implementation of r_meta 2009-02-16 03:14:19 +01:00
tmp * Initial working implementation of r_meta 2009-02-16 03:14:19 +01:00
Makefile * Initial working implementation of r_meta 2009-02-16 03:14:19 +01:00
meta.c * Added dummy xrefs 2009-02-16 11:24:45 +01:00
README * Initial working implementation of r_meta 2009-02-16 03:14:19 +01:00

r_meta
======

** Should we store traces here??..or do we have to use r_trace
** xrefs stuff should be delegated to the flags?
  - we can generate xrefs metadata from flags analysis
  - we can use r_meta as 'static storage' and flags as playground.
** data_* api should be refactored to use less functions with more
   flexible arguments.
** We can store multiple linked lists depending on type of data, to
   reduce the search space.

struct r_meta_t * meta = r_meta_new();

/* get list of xrefs to this addr */
r_meta_xrefs_get(meta, 0x8040400);
r_meta_xrefs_add(meta, 0x8040400, 0x8049030);

r_meta_list(meta, RMetaCallback)

r_meta_add(meta, R_META_CODE_XREF, 100, 200);
r_meta_add_s(meta, R_META_COMMENT, 100, "Hello world");
r_meta_add_s(meta, R_META_STRUCT, 100, "xxi");

r_meta_get(meta, R_META_COMMENT, 0x804800);
r_meta_get_range(meta, R_META_COMMENT, 0x804800, 0x8049000);

// TODO: rethink argument order
r_meta_get_closer(meta, 0x0394, R_META_STRING, R_META_GET_FORWARD);