git: 9front

ref: a503d729e08c8a11eaaae72146ba6bf8a9b0d708
dir: /sys/src/9/port/audio.h/

View raw version

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