PortAudio 2.0
pa_allocation.c File Reference

Allocation Group implementation. More...

#include "pa_allocation.h"
#include "pa_util.h"

Data Structures

struct  PaUtilAllocationGroupLink
 

Macros

#define PA_INITIAL_LINK_COUNT_   16
 

Functions

PaUtilAllocationGroupPaUtil_CreateAllocationGroup (void)
 
void PaUtil_DestroyAllocationGroup (PaUtilAllocationGroup *group)
 
void * PaUtil_GroupAllocateZeroInitializedMemory (PaUtilAllocationGroup *group, long size)
 
void PaUtil_GroupFreeMemory (PaUtilAllocationGroup *group, void *buffer)
 
void PaUtil_FreeAllAllocations (PaUtilAllocationGroup *group)
 

Detailed Description

Allocation Group implementation.

Macro Definition Documentation

◆ PA_INITIAL_LINK_COUNT_

#define PA_INITIAL_LINK_COUNT_   16

Function Documentation

◆ PaUtil_CreateAllocationGroup()

◆ PaUtil_DestroyAllocationGroup()

◆ PaUtil_FreeAllAllocations()

◆ PaUtil_GroupAllocateZeroInitializedMemory()

◆ PaUtil_GroupFreeMemory()

void PaUtil_GroupFreeMemory ( PaUtilAllocationGroup * group,
void * buffer )

Free a block of memory that was allocated through the specified allocation group. Calling this function is a relatively time consuming operation. Under normal circumstances clients should call PaUtil_FreeAllAllocations to free all allocated blocks simultaneously.

See also
PaUtil_FreeAllAllocations

References PaUtilAllocationGroup::allocations, buffer, PaUtilAllocationGroupLink::buffer, PaUtilAllocationGroupLink::next, PaUtil_FreeMemory(), and PaUtilAllocationGroup::spareLinks.