docs: tiny update
[ana-net.git] / app / alsa.h
blob9a80b86e7230ecd25011a19fa1e9d0d4fb1f44b3
1 /*
2 * Lightweight Autonomic Network Architecture
3 * Copyright 2011 Daniel Borkmann <dborkma@tik.ee.ethz.ch>,
4 * Swiss federal institute of technology (ETH Zurich)
5 * Subject to the GPL.
6 */
8 #ifndef ALSA_H
9 #define ALSA_H
11 #include <stdlib.h>
12 #include <sys/poll.h>
13 #include <alsa/asoundlib.h>
15 #include "alsa.h"
17 struct alsa_dev;
19 extern struct alsa_dev *alsa_open(char *devname, unsigned int rate,
20 int channels, int period);
21 extern void alsa_close(struct alsa_dev *dev);
22 extern ssize_t alsa_read(struct alsa_dev *dev, short *pcm, size_t len);
23 extern ssize_t alsa_write(struct alsa_dev *dev, const short *pcm, size_t len);
24 extern int alsa_cap_ready(struct alsa_dev *dev, struct pollfd *pfds,
25 unsigned int nfds);
26 extern int alsa_play_ready(struct alsa_dev *dev, struct pollfd *pfds,
27 unsigned int nfds);
28 extern void alsa_start(struct alsa_dev *dev);
29 extern unsigned int alsa_nfds(struct alsa_dev *dev);
30 extern void alsa_getfds(struct alsa_dev *dev, struct pollfd *pfds,
31 unsigned int nfds);
33 #endif /* ALSA_H */