1*906943f9SDavid du Colombier enum{ 2*906943f9SDavid du Colombier Undef = 0x80000000, 3*906943f9SDavid du Colombier Play = 0, 4*906943f9SDavid du Colombier Record = 1, 5*906943f9SDavid du Colombier }; 6*906943f9SDavid du Colombier 7*906943f9SDavid du Colombier typedef struct Audiocontrol Audiocontrol; 8*906943f9SDavid du Colombier 9*906943f9SDavid du Colombier struct Audiocontrol { 10*906943f9SDavid du Colombier char *name; 11*906943f9SDavid du Colombier uchar readable; 12*906943f9SDavid du Colombier uchar settable; 13*906943f9SDavid du Colombier uchar chans; /* 0 is master, non-zero is bitmap */ 14*906943f9SDavid du Colombier long value[8]; /* 0 is master; value[0] == Undef -> all values Undef */ 15*906943f9SDavid du Colombier long min, max, step; 16*906943f9SDavid du Colombier }; 17*906943f9SDavid du Colombier 18*906943f9SDavid du Colombier extern Audiocontrol controls[2][Ncontrol]; 19*906943f9SDavid du Colombier extern int endpt[2]; 20*906943f9SDavid du Colombier extern int interface[2]; 21*906943f9SDavid du Colombier extern int featureid[2]; 22*906943f9SDavid du Colombier extern int selectorid[2]; 23*906943f9SDavid du Colombier extern int mixerid[2]; 24*906943f9SDavid du Colombier extern int buttonendpt; 25*906943f9SDavid du Colombier 26*906943f9SDavid du Colombier int ctlparse(char *s, Audiocontrol *c, long *v); 27*906943f9SDavid du Colombier void ctlevent(void); 28*906943f9SDavid du Colombier 29*906943f9SDavid du Colombier #pragma varargck type "A" Audiocontrol* 30