rizin/libr/include/ht.h
pancake fc9301b14b Add hints and named print formats and more
Initial implementation of anal hints (ah?)
Use anal hints in core/disasm. Needs more work
New data structure StrHT (string hashtable)
Simplify core/libs.c with cpp macros
Added r_cons_color() wip function for ansi256 consoles
RPrint no longer depends on r_cons
Sort 'a?' help commands
Add support for named print formats with pf$ command
Add support for 64 bit string pointers in 'pf' ('S')
Add r_print_mute and r_print_format_length functions
Bump r2 nodejs bindings version number
Merge r_print into r_util
2013-01-22 05:06:12 +01:00

44 lines
1.1 KiB
C

/** hashtable **/
typedef struct r_hashtable_entry_t {
ut32 hash;
void *data;
} RHashTableEntry;
typedef struct r_hashtable_t {
RHashTableEntry *table;
ut32 size;
ut32 rehash;
ut32 max_entries;
ut32 size_index;
ut32 entries;
ut32 deleted_entries;
} RHashTable;
typedef struct r_hashtable64_entry_t {
ut64 hash;
void *data;
} RHashTable64Entry;
typedef struct r_hashtable64_t {
RHashTable64Entry *table;
ut64 size;
ut64 rehash;
ut64 max_entries;
ut64 size_index;
ut64 entries;
ut64 deleted_entries;
} RHashTable64;
R_API RHashTable* r_hashtable_new(void);
R_API void r_hashtable_free(RHashTable *ht);
R_API void *r_hashtable_lookup(RHashTable *ht, ut32 hash);
R_API boolt r_hashtable_insert(RHashTable *ht, ut32 hash, void *data);
R_API void r_hashtable_remove(RHashTable *ht, ut32 hash);
R_API RHashTable64* r_hashtable64_new(void);
R_API void r_hashtable64_free(RHashTable64 *ht);
R_API void *r_hashtable64_lookup(RHashTable64 *ht, ut64 hash);
R_API boolt r_hashtable64_insert(RHashTable64 *ht, ut64 hash, void *data);
R_API void r_hashtable64_remove(RHashTable64 *ht, ut64 hash);