summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);