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);
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);