diff options
Diffstat (limited to 'src/dged/buffers.h')
| -rw-r--r-- | src/dged/buffers.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/dged/buffers.h b/src/dged/buffers.h index f4c0a37..d521a78 100644 --- a/src/dged/buffers.h +++ b/src/dged/buffers.h @@ -1,5 +1,6 @@ #include "vec.h" +#include <stdbool.h> #include <stdint.h> struct buffer; @@ -11,9 +12,12 @@ struct buffers_hook { void *userdata; }; +struct buffer_entry; + struct buffers { - VEC(struct buffer) buffers; + VEC(struct buffer_entry) buffers; VEC(struct buffers_hook) add_hooks; + VEC(struct buffers_hook) remove_hooks; }; void buffers_init(struct buffers *buffers, uint32_t initial_capacity); @@ -23,6 +27,8 @@ struct buffer *buffers_find(struct buffers *buffers, const char *name); struct buffer *buffers_find_by_filename(struct buffers *buffers, const char *path); +bool buffers_remove(struct buffers *buffers, const char *name); + uint32_t buffers_add_add_hook(struct buffers *buffers, buffers_hook_cb callback, void *userdata); uint32_t buffers_add_remove_hook(struct buffers *buffers, @@ -31,4 +37,7 @@ uint32_t buffers_add_remove_hook(struct buffers *buffers, void buffers_for_each(struct buffers *buffers, buffers_hook_cb callback, void *userdata); +uint32_t buffers_num_buffers(struct buffers *buffers); +struct buffer *buffers_first(struct buffers *buffers); + void buffers_destroy(struct buffers *buffers); |
