Deleted Added
sdiff udiff text old ( 124617 ) new ( 124740 )
full compact
1/*
2 * Copyright (c) 1999 Cameron Grant <cg@freebsd.org>
3 * Copyright by Hannu Savolainen 1995
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 10 unchanged lines hidden (view full) ---

19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
27 * $FreeBSD: head/sys/dev/sound/pcm/sound.h 124617 2004-01-17 10:37:11Z phk $
28 */
29
30/*
31 * first, include kernel header files.
32 */
33
34#ifndef _OS_H_
35#define _OS_H_

--- 57 unchanged lines hidden (view full) ---

93struct pcm_feeder;
94struct snd_dbuf;
95struct snd_mixer;
96
97#include <dev/sound/pcm/buffer.h>
98#include <dev/sound/pcm/channel.h>
99#include <dev/sound/pcm/feeder.h>
100#include <dev/sound/pcm/mixer.h>
101#include <dev/sound/pcm/dsp.h>
102
103#define PCM_SOFTC_SIZE 512
104
105#define SND_STATUSLEN 64
106
107#define PCM_MODVER 1
108
109#define PCM_MINVER 1

--- 107 unchanged lines hidden (view full) ---

217struct pcm_channel *pcm_getfakechan(struct snddev_info *d);
218struct pcm_channel *pcm_chnalloc(struct snddev_info *d, int direction, pid_t pid, int chnum);
219int pcm_chnrelease(struct pcm_channel *c);
220int pcm_chnref(struct pcm_channel *c, int ref);
221int pcm_inprog(struct snddev_info *d, int delta);
222
223struct pcm_channel *pcm_chn_create(struct snddev_info *d, struct pcm_channel *parent, kobj_class_t cls, int dir, void *devinfo);
224int pcm_chn_destroy(struct pcm_channel *ch);
225int pcm_chn_add(struct snddev_info *d, struct pcm_channel *ch, int mkdev);
226int pcm_chn_remove(struct snddev_info *d, struct pcm_channel *ch, int rmdev);
227
228int pcm_addchan(device_t dev, int dir, kobj_class_t cls, void *devinfo);
229unsigned int pcm_getbuffersize(device_t dev, unsigned int min, unsigned int deflt, unsigned int max);
230int pcm_register(device_t dev, void *devinfo, int numplay, int numrec);
231int pcm_unregister(device_t dev);
232int pcm_setstatus(device_t dev, char *str);
233u_int32_t pcm_getflags(device_t dev);
234void pcm_setflags(device_t dev, u_int32_t val);
235void *pcm_getdevinfo(device_t dev);
236
237int pcm_regdevt(dev_t dev, unsigned unit, unsigned type, unsigned channel);
238dev_t pcm_getdevt(unsigned unit, unsigned type, unsigned channel);
239int pcm_unregdevt(unsigned unit, unsigned type, unsigned channel);
240
241int snd_setup_intr(device_t dev, struct resource *res, int flags,
242 driver_intr_t hand, void *param, void **cookiep);
243
244void *snd_mtxcreate(const char *desc, const char *type);
245void snd_mtxfree(void *m);
246void snd_mtxassert(void *m);
247#define snd_mtxlock(m) mtx_lock(m)

--- 33 unchanged lines hidden (view full) ---

281 * this is rather kludgey- we need to duplicate these struct def'ns from sound.c
282 * so that the macro versions of pcm_{,un}lock can dereference them.
283 * we also have to do this now makedev() has gone away.
284 */
285
286struct snddev_channel {
287 SLIST_ENTRY(snddev_channel) link;
288 struct pcm_channel *channel;
289};
290
291struct snddev_devt {
292 SLIST_ENTRY(snddev_devt) link;
293 dev_t dev;
294 unsigned channel;
295 unsigned type;
296};
297
298struct snddev_info {
299 SLIST_HEAD(, snddev_channel) channels;
300 SLIST_HEAD(, snddev_devt) devs;
301 struct pcm_channel *fakechan;
302 unsigned devcount, playcount, reccount, vchancount;
303 unsigned flags;
304 int inprog;
305 unsigned int bufsz;
306 void *devinfo;
307 device_t dev;
308 char status[SND_STATUSLEN];

--- 18 unchanged lines hidden ---