summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-05-16 16:29:27 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-05-16 16:29:27 +0000
commitd11cd06c1006c4799edca79eba0ab4ca35ffc061 (patch)
treec7c4642025b2ae0fb8b4491c5fd40e2b88324e3d
parent7aee021b1327cd31279c0215475fa9eccb15fddc (diff)
downloadplan9front-d11cd06c1006c4799edca79eba0ab4ca35ffc061.tar.xz
audio.h
-rw-r--r--sys/src/9/port/audio.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/sys/src/9/port/audio.h b/sys/src/9/port/audio.h
new file mode 100644
index 000000000..42ab9712c
--- /dev/null
+++ b/sys/src/9/port/audio.h
@@ -0,0 +1,22 @@
+
+typedef struct Audio Audio;
+struct Audio {
+ Audio *next;
+ char *name;
+ void *ctlr;
+ void *mixer;
+ void (*attach)(Audio *);
+ long (*read)(Audio *, void *, long, vlong);
+ long (*write)(Audio *, void *, long, vlong);
+ long (*volread)(Audio *, void *, long, vlong);
+ long (*volwrite)(Audio *, void *, long, vlong);
+ void (*close)(Audio *);
+ long (*ctl)(Audio *, void *, long, vlong);
+ long (*status)(Audio *, void *, long, vlong);
+ long (*buffered)(Audio *);
+ int ctlrno;
+};
+
+void addaudiocard(char *name, int (*probefn)(Audio *));
+void ac97mixreset(Audio *, void (*wr)(Audio*,int,ushort), ushort (*rr)(Audio*,int));
+int ac97hardrate(Audio *adev, int rate);