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