diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-08-14 20:25:32 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-08-14 20:25:32 +0000 |
commit | 22cb23eedb2eae7c79dc8fcf395be08bfc666256 (patch) | |
tree | f0993d4a26cb6e311d052b40ac5b8efc1239c145 /polyp/memblock.h | |
parent | 1c2ec47cf1506ad1c75c088d476ae382170df62c (diff) |
implement proper refcounting in polyplib
split polyplib to multiple modules
add some prelimenary documentation
add doxygen support
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@123 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'polyp/memblock.h')
-rw-r--r-- | polyp/memblock.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/polyp/memblock.h b/polyp/memblock.h index 4bb02977..6e79aa3e 100644 --- a/polyp/memblock.h +++ b/polyp/memblock.h @@ -25,18 +25,20 @@ #include <sys/types.h> #include <inttypes.h> -enum pa_memblock_type { PA_MEMBLOCK_FIXED, PA_MEMBLOCK_APPENDED, PA_MEMBLOCK_DYNAMIC }; +enum pa_memblock_type { PA_MEMBLOCK_FIXED, PA_MEMBLOCK_APPENDED, PA_MEMBLOCK_DYNAMIC, PA_MEMBLOCK_USER }; struct pa_memblock { enum pa_memblock_type type; unsigned ref; size_t length; void *data; + void (*free_cb)(void *p); }; struct pa_memblock *pa_memblock_new(size_t length); struct pa_memblock *pa_memblock_new_fixed(void *data, size_t length); struct pa_memblock *pa_memblock_new_dynamic(void *data, size_t length); +struct pa_memblock *pa_memblock_new_user(void *data, size_t length, void (*free_cb)(void *p)); void pa_memblock_unref(struct pa_memblock*b); struct pa_memblock* pa_memblock_ref(struct pa_memblock*b); |