1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- enum {
- master_chan = 0x00,
- Speed_control = 0x00,
- /* Items below are defined by USB standard: */
- Mute_control = 0x01,
- Volume_control = 0x02,
- Bass_control = 0x03,
- Mid_control = 0x04,
- Treble_control = 0x05,
- Equalizer_control = 0x06,
- Agc_control = 0x07,
- Delay_control = 0x08,
- Bassboost_control = 0x09,
- Loudness_control = 0x0a,
- /* Items below are defined by implementation: */
- Channel_control = 0x0b,
- Resolution_control = 0x0c,
- Ncontrol,
- Selector_control = 0x0d,
- sampling_freq_control = 0x01,
- };
- #define AS_GENERAL 1
- #define FORMAT_TYPE 2
- #define FORMAT_SPECIFIC 3
- #define PCM 1
- #define PCM8 2
- #define IEEE_FLOAT 3
- #define ALAW 4
- #define MULAW 5
- #define SAMPLING_FREQ_CONTROL 0x01
- typedef struct Audioalt Audioalt;
- struct Audioalt {
- int nchan;
- int res;
- int subframesize;
- int minfreq, maxfreq; /* continuous freqs */
- int freqs[8]; /* discrete freqs */
- int caps; /* see below for meanings */
- };
- enum {
- /* Audioalt->caps bits */
- has_setspeed = 0x1, /* has a speed_set command */
- has_pitchset = 0x2, /* has a pitch_set command */
- has_contfreq = 0x4, /* frequency continuously variable */
- has_discfreq = 0x8, /* discrete set of frequencies */
- onefreq = 0x10, /* only one frequency */
- maxpkt_only = 0x80, /* packets must be padded to max size */
- };
- extern int defaultspeed[2];
- extern Device *ad;
- extern Channel *controlchan;
- void audio_interface(Device *d, int n, ulong csp, void *bb, int nb);
- void setalt(Device *d, int endpt, int value);
- int getalt(Device *d, int endpt);
- int setspeed(int rec, int speed);
- int setcontrol(int rec, char *name, long *value);
- int getspecialcontrol(int rec, int ctl, int req, long *value);
- int getcontrol(int rec, char *name, long *value);
- int findalt(int rec, int nchan, int res, int speed);
- void getcontrols(void);
- void serve(void *);
- int nbchanprint(Channel *c, char *fmt, ...);
- int Aconv(Fmt *fp);
|