1#- 2# KOBJ 3# 4# Copyright (c) 2000 Cameron Grant <cg@freebsd.org> 5# All rights reserved. 6# 7# Redistribution and use in source and binary forms, with or without 8# modification, are permitted provided that the following conditions 9# are met: 10# 1. Redistributions of source code must retain the above copyright 11# notice, this list of conditions and the following disclaimer. 12# 2. Redistributions in binary form must reproduce the above copyright 13# notice, this list of conditions and the following disclaimer in the 14# documentation and/or other materials provided with the distribution. 15# 16# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26# SUCH DAMAGE. 27# 28# $FreeBSD: src/sys/dev/sound/pcm/feeder_if.m,v 1.6 2005/01/06 01:43:21 imp Exp $ 29# $DragonFly: src/sys/dev/sound/pcm/feeder_if.m,v 1.4 2007/01/04 21:47:03 corecode Exp $ 30# 31 32#include <dev/sound/pcm/sound.h> 33 34INTERFACE feeder; 35 36CODE { 37 38 static int 39 feeder_noinit(struct pcm_feeder* feeder) 40 { 41 return 0; 42 } 43 44 static int 45 feeder_nofree(struct pcm_feeder* feeder) 46 { 47 return 0; 48 } 49 50 static int 51 feeder_noset(struct pcm_feeder* feeder, int what, int value) 52 { 53 return -1; 54 } 55 56 static int 57 feeder_noget(struct pcm_feeder* feeder, int what) 58 { 59 return -1; 60 } 61 62}; 63 64METHOD int init { 65 struct pcm_feeder* feeder; 66} DEFAULT feeder_noinit; 67 68METHOD int free { 69 struct pcm_feeder* feeder; 70} DEFAULT feeder_nofree; 71 72METHOD int set { 73 struct pcm_feeder* feeder; 74 int what; 75 int value; 76} DEFAULT feeder_noset; 77 78METHOD int get { 79 struct pcm_feeder* feeder; 80 int what; 81} DEFAULT feeder_noget; 82 83METHOD int feed { 84 struct pcm_feeder* feeder; 85 struct pcm_channel* c; 86 u_int8_t* buffer; 87 u_int32_t count; 88 void* source; 89}; 90