Cleanup in elf.c with .bss section clean; adm command mounts cdrom instead of floppy...
[ZeXOS.git] / libsnd / snd / audio.h
blob100d7c937a9b641b59dcb0c826a1123fb94440ef
1 /*
2 * ZeX/OS
3 * Copyright (C) 2009 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef _AUDIO_H
21 #define _AUDIO_H
23 #define SOUND_FORMAT_U8 1
24 #define SOUND_FORMAT_S8 2
25 #define SOUND_FORMAT_U16 3
26 #define SOUND_FORMAT_S16 4
28 /* Device structure */
29 typedef struct {
30 void *res1;
31 void *res2;
32 void *res3;
34 unsigned short rate;
35 unsigned char format;
36 unsigned char channels;
37 unsigned char flags;
38 unsigned char state;
39 } snd_audio_t;
41 /* Config */
42 typedef struct {
43 char *dev;
45 unsigned short rate;
46 unsigned char format;
47 unsigned char channels;
48 unsigned char flags;
49 } snd_cfg_t;
51 /* externs */
52 extern snd_audio_t *audio_open (snd_cfg_t *cfg);
53 extern int audio_close (snd_audio_t *aud);
54 extern int audio_write (snd_audio_t *aud, char *buf, unsigned len);
56 #endif