PortAudio 2.0
pa_allocation.h
Go to the documentation of this file.
1#ifndef PA_ALLOCATION_H
2#define PA_ALLOCATION_H
3/*
4 * $Id$
5 * Portable Audio I/O Library allocation context header
6 * memory allocation context for tracking allocation groups
7 *
8 * Based on the Open Source API proposed by Ross Bencina
9 * Copyright (c) 1999-2008 Ross Bencina, Phil Burk
10 *
11 * Permission is hereby granted, free of charge, to any person obtaining
12 * a copy of this software and associated documentation files
13 * (the "Software"), to deal in the Software without restriction,
14 * including without limitation the rights to use, copy, modify, merge,
15 * publish, distribute, sublicense, and/or sell copies of the Software,
16 * and to permit persons to whom the Software is furnished to do so,
17 * subject to the following conditions:
18 *
19 * The above copyright notice and this permission notice shall be
20 * included in all copies or substantial portions of the Software.
21 *
22 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
26 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
27 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 */
30
31/*
32 * The text above constitutes the entire PortAudio license; however,
33 * the PortAudio community also makes the following non-binding requests:
34 *
35 * Any person wishing to distribute modifications to the Software is
36 * requested to send the modifications to the original developer so that
37 * they can be incorporated into the canonical version. It is also
38 * requested that these non-binding requests be included along with the
39 * license above.
40 */
41
59#ifdef __cplusplus
60extern "C"
61{
62#endif /* __cplusplus */
63
64
72
73
74
78
82
87
95
100
101
102#ifdef __cplusplus
103}
104#endif /* __cplusplus */
105#endif /* PA_ALLOCATION_H */
void * PaUtil_GroupAllocateZeroInitializedMemory(PaUtilAllocationGroup *group, long size)
Definition pa_allocation.c:147
PaUtilAllocationGroup * PaUtil_CreateAllocationGroup(void)
Definition pa_allocation.c:103
void PaUtil_GroupFreeMemory(PaUtilAllocationGroup *group, void *buffer)
Definition pa_allocation.c:184
void PaUtil_FreeAllAllocations(PaUtilAllocationGroup *group)
Definition pa_allocation.c:221
void PaUtil_DestroyAllocationGroup(PaUtilAllocationGroup *group)
Definition pa_allocation.c:131
char buffer[NUM_BYTES]
Definition recplay.c:26
Definition pa_allocation.h:66
struct PaUtilAllocationGroupLink * linkBlocks
Definition pa_allocation.h:68
struct PaUtilAllocationGroupLink * allocations
Definition pa_allocation.h:70
long linkCount
Definition pa_allocation.h:67
struct PaUtilAllocationGroupLink * spareLinks
Definition pa_allocation.h:69