LMMS
Loading...
Searching...
No Matches
lv2_rtmempool.h
Go to the documentation of this file.
1/*
2 LV2 realtime safe memory pool extension definition
3 This work is in public domain.
4
5 This file is distributed in the hope that it will be useful,
6 but WITHOUT ANY WARRANTY; without even the implied warranty of
7 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8
9 If you have questions, contact Filipe Coelho (aka falkTX) <falktx@falktx.com>
10 or ask in #lad channel, FreeNode IRC network.
11*/
12
18
19#ifndef LV2_RTMEMPOOL_H
20#define LV2_RTMEMPOOL_H
21
22#define LV2_RTSAFE_MEMORY_POOL_URI "http://kxstudio.sf.net/ns/lv2ext/rtmempool"
23#define LV2_RTSAFE_MEMORY_POOL_PREFIX LV2_RTSAFE_MEMORY_POOL_URI "#"
24
25#define LV2_RTSAFE_MEMORY_POOL__Pool LV2_RTSAFE_MEMORY_POOL_URI "Pool"
26
28#define LV2_RTSAFE_MEMORY_POOL_NAME_MAX 128
29
31#define LV2_RTSAFE_MEMORY_POOL_DEPRECATED_URI "http://home.gna.org/lv2dynparam/rtmempool/v1"
32
33#ifdef __cplusplus
34extern "C" {
35#else
36#include <stdbool.h>
37#endif
38
43
48typedef struct _LV2_RtMemPool_Pool {
61 bool (*create)(LV2_RtMemPool_Handle * handle_ptr,
62 const char * pool_name,
63 size_t data_size,
64 size_t min_preallocated,
65 size_t max_preallocated);
66
73
81 void * (*allocate_atomic)(LV2_RtMemPool_Handle handle);
82
90 void * (*allocate_sleepy)(LV2_RtMemPool_Handle handle);
91
100 void * memory_ptr);
101
103
108 unsigned char (*create)(const char*,size_t,size_t,size_t,LV2_RtMemPool_Handle*);
110 void* (*allocate_atomic)(LV2_RtMemPool_Handle);
111 void* (*allocate_sleepy)(LV2_RtMemPool_Handle);
114
115#ifdef __cplusplus
116} /* extern "C" */
117#endif
118
119#endif /* LV2_RTMEMPOOL_H */
struct _LV2_RtMemPool_Pool_Deprecated LV2_RtMemPool_Pool_Deprecated
struct _LV2_RtMemPool_Pool LV2_RtMemPool_Pool
void * LV2_RtMemPool_Handle
Definition lv2_rtmempool.h:42
Definition lv2_rtmempool.h:107
unsigned char(* create)(const char *, size_t, size_t, size_t, LV2_RtMemPool_Handle *)
Definition lv2_rtmempool.h:108
void(* deallocate)(LV2_RtMemPool_Handle, void *)
Definition lv2_rtmempool.h:112
void(* destroy)(LV2_RtMemPool_Handle)
Definition lv2_rtmempool.h:109
Definition lv2_rtmempool.h:48
void(* destroy)(LV2_RtMemPool_Handle handle)
Definition lv2_rtmempool.h:72
void(* deallocate)(LV2_RtMemPool_Handle handle, void *memory_ptr)
Definition lv2_rtmempool.h:99
bool(* create)(LV2_RtMemPool_Handle *handle_ptr, const char *pool_name, size_t data_size, size_t min_preallocated, size_t max_preallocated)
Definition lv2_rtmempool.h:61
#define void
Definition unzip.h:396