39 lines
1.0 KiB
C
39 lines
1.0 KiB
C
/*
|
|
* This file is part of the UCB release of Plan 9. It is subject to the license
|
|
* terms in the LICENSE file found in the top-level directory of this
|
|
* distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
|
|
* part of the UCB release of Plan 9, including this file, may be copied,
|
|
* modified, propagated, or distributed except according to the terms contained
|
|
* in the LICENSE file.
|
|
*/
|
|
|
|
enum{
|
|
Undef = 0x80000000,
|
|
Play = 0,
|
|
Record = 1,
|
|
};
|
|
|
|
typedef struct Audiocontrol Audiocontrol;
|
|
|
|
struct Audiocontrol {
|
|
char *name;
|
|
uint8_t readable;
|
|
uint8_t settable;
|
|
uint8_t chans; /* 0 is master, non-zero is bitmap */
|
|
int32_t value[8]; /* 0 is master; value[0] == Undef -> all values Undef */
|
|
int32_t min, max, step;
|
|
};
|
|
|
|
extern Audiocontrol controls[2][Ncontrol];
|
|
extern int endpt[2];
|
|
extern int interface[2];
|
|
extern int featureid[2];
|
|
extern int selectorid[2];
|
|
extern int mixerid[2];
|
|
extern int buttonendpt;
|
|
|
|
int ctlparse(char *s, Audiocontrol *c, int32_t *v);
|
|
void ctlevent(void);
|
|
|
|
#pragma varargck type "A" Audiocontrol*
|