PortAudio 2.0
pa_util.h
Go to the documentation of this file.
1#ifndef PA_UTIL_H
2#define PA_UTIL_H
3/*
4 * $Id$
5 * Portable Audio I/O Library implementation utilities header
6 * common implementation utilities and interfaces
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
52#include "portaudio.h"
53
57#define PA_STRINGIZE_HELPER(x) #x
58#define PA_STRINGIZE(x) PA_STRINGIZE_HELPER(x)
59
60
61#ifdef __cplusplus
62extern "C"
63{
64#endif /* __cplusplus */
65
66
68
69
85 PaHostApiTypeId type );
86
87
98 PaDeviceIndex *hostApiDevice, PaDeviceIndex device,
99 struct PaUtilHostApiRepresentation *hostApi );
100
101
118void PaUtil_SetLastHostErrorInfo( PaHostApiTypeId hostApiType, long errorCode,
119 const char *errorText );
120
121
122
123/* the following functions are implemented in a platform platform specific
124 .c file
125*/
126
130void *PaUtil_AllocateZeroInitializedMemory( long size );
131
132
135void PaUtil_FreeMemory( void *block );
136
137
145
146
152void PaUtil_InitializeClock( void );
153
154
165double PaUtil_GetTime( void );
166
167
168/* void Pa_Sleep( long msec ); must also be implemented in per-platform .c file */
169
170
171
172#ifdef __cplusplus
173}
174#endif /* __cplusplus */
175#endif /* PA_UTIL_H */
PaError PaUtil_DeviceIndexToHostApiDeviceIndex(PaDeviceIndex *hostApiDevice, PaDeviceIndex device, struct PaUtilHostApiRepresentation *hostApi)
Definition pa_front.c:545
void PaUtil_FreeMemory(void *block)
Definition pa_unix_util.c:89
PaError PaUtil_GetHostApiRepresentation(struct PaUtilHostApiRepresentation **hostApi, PaHostApiTypeId type)
Definition pa_front.c:516
int PaUtil_CountCurrentlyAllocatedBlocks(void)
Definition pa_unix_util.c:102
double PaUtil_GetTime(void)
Definition pa_unix_util.c:161
void PaUtil_SetLastHostErrorInfo(PaHostApiTypeId hostApiType, long errorCode, const char *errorText)
Definition pa_front.c:142
void PaUtil_InitializeClock(void)
Definition pa_unix_util.c:150
void * PaUtil_AllocateZeroInitializedMemory(long size)
Definition pa_unix_util.c:74
The portable PortAudio API.
int PaError
Definition portaudio.h:122
PaHostApiTypeId
Definition portaudio.h:278
int PaDeviceIndex
Definition portaudio.h:214
Definition pa_hostapi.h:201