radare2/libr/meta
Nibble 7abcfe6852 * Refactoring
- Remove all init functions (included in _new)
  - Update vapi's (needs more work)
2010-05-20 17:40:58 +02:00
..
t * Fix w32 build 2010-03-25 10:18:59 +01:00
tmp * Mental note: %lld/%llx does not exist on windows 2010-04-14 13:02:23 +02:00
Makefile * Added w32dist makefile target to generate a distributable zip 2010-01-15 17:02:04 +01:00
meta.c * Refactoring 2010-05-20 17:40:58 +02: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);