summaryrefslogtreecommitdiffstats
path: root/polyp/memblock.h
diff options
context:
space:
mode:
Diffstat (limited to 'polyp/memblock.h')
-rw-r--r--polyp/memblock.h4
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);