diff options
| author | rajdakin <rajdakin@gmail.com> | 2023-12-31 15:49:57 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-31 15:49:57 +0100 |
| commit | 5e9e1faedc97194e46f3fb4b3665ec416ce7efbf (patch) | |
| tree | 27d345328502d82ede6c58e3d181d1f682bab255 /src/include/rbtree.h | |
| parent | dba6a88341bacbf52d0f0c37117a04164afce9fa (diff) | |
| download | box64-5e9e1faedc97194e46f3fb4b3665ec416ce7efbf.tar.gz box64-5e9e1faedc97194e46f3fb4b3665ec416ce7efbf.zip | |
[MEMORY] Switched from a sparse array to a red-black tree (#1180)
* [MEMORY] Switched from a sparse array to an RB tree * [RBTREE] Fixed the Android build
Diffstat (limited to 'src/include/rbtree.h')
| -rw-r--r-- | src/include/rbtree.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/include/rbtree.h b/src/include/rbtree.h new file mode 100644 index 00000000..a624b5da --- /dev/null +++ b/src/include/rbtree.h @@ -0,0 +1,13 @@ +#include <stdint.h> + +typedef struct rbtree rbtree; + +rbtree* init_rbtree(); +void delete_rbtree(rbtree *tree); + +uint8_t rb_get(rbtree *tree, uintptr_t addr); +int rb_get_end(rbtree* tree, uintptr_t addr, uint8_t* val, uintptr_t* end); +int rb_set(rbtree *tree, uintptr_t start, uintptr_t end, uint8_t data); +int rb_unset(rbtree *tree, uintptr_t start, uintptr_t end); + +void print_rbtree(const rbtree *tree); \ No newline at end of file |