Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/alsa/output.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
1 /** | |
2 * \file include/output.h | |
3 * \brief Application interface library for the ALSA driver | |
4 * \author Jaroslav Kysela <perex@perex.cz> | |
5 * \author Abramo Bagnara <abramo@alsa-project.org> | |
6 * \author Takashi Iwai <tiwai@suse.de> | |
7 * \date 1998-2001 | |
8 * | |
9 * Application interface library for the ALSA driver | |
10 */ | |
11 /* | |
12 * This library is free software; you can redistribute it and/or modify | |
13 * it under the terms of the GNU Lesser General Public License as | |
14 * published by the Free Software Foundation; either version 2.1 of | |
15 * the License, or (at your option) any later version. | |
16 * | |
17 * This program is distributed in the hope that it will be useful, | |
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 * GNU Lesser General Public License for more details. | |
21 * | |
22 * You should have received a copy of the GNU Lesser General Public | |
23 * License along with this library; if not, write to the Free Software | |
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
25 * | |
26 */ | |
27 | |
28 #ifndef __ALSA_OUTPUT_H | |
29 #define __ALSA_OUTPUT_H | |
30 | |
31 #ifdef __cplusplus | |
32 extern "C" { | |
33 #endif | |
34 | |
35 /** | |
36 * \defgroup Output Output Interface | |
37 * | |
38 * The output functions present an interface similar to the stdio functions | |
39 * on top of different underlying output destinations. | |
40 * | |
41 * Many PCM debugging functions (\c snd_pcm_xxx_dump_xxx) use such an output | |
42 * handle to be able to write not only to the screen but also to other | |
43 * destinations, e.g. to files or to memory buffers. | |
44 * | |
45 * \{ | |
46 */ | |
47 | |
48 /** | |
49 * \brief Internal structure for an output object. | |
50 * | |
51 * The ALSA library uses a pointer to this structure as a handle to an | |
52 * output object. Applications don't access its contents directly. | |
53 */ | |
54 typedef struct _snd_output snd_output_t; | |
55 | |
56 /** Output type. */ | |
57 typedef enum _snd_output_type { | |
58 /** Output to a stdio stream. */ | |
59 SND_OUTPUT_STDIO, | |
60 /** Output to a memory buffer. */ | |
61 SND_OUTPUT_BUFFER | |
62 } snd_output_type_t; | |
63 | |
64 int snd_output_stdio_open(snd_output_t **outputp, const char *file, const char *mode); | |
65 int snd_output_stdio_attach(snd_output_t **outputp, FILE *fp, int _close); | |
66 int snd_output_buffer_open(snd_output_t **outputp); | |
67 size_t snd_output_buffer_string(snd_output_t *output, char **buf); | |
68 int snd_output_close(snd_output_t *output); | |
69 int snd_output_printf(snd_output_t *output, const char *format, ...) | |
70 #ifndef DOC_HIDDEN | |
71 __attribute__ ((format (printf, 2, 3))) | |
72 #endif | |
73 ; | |
74 int snd_output_vprintf(snd_output_t *output, const char *format, va_list args); | |
75 int snd_output_puts(snd_output_t *output, const char *str); | |
76 int snd_output_putc(snd_output_t *output, int c); | |
77 int snd_output_flush(snd_output_t *output); | |
78 | |
79 /** \} */ | |
80 | |
81 #ifdef __cplusplus | |
82 } | |
83 #endif | |
84 | |
85 #endif /* __ALSA_OUTPUT_H */ | |
86 |