1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_SOUND_FIREWIRE_H_INCLUDED 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_SOUND_FIREWIRE_H_INCLUDED 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/ioctl.h> 10*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 11*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_EVENT_LOCK_STATUS 0x000010cc 12*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_EVENT_DICE_NOTIFICATION 0xd1ce004e 13*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_EVENT_EFW_RESPONSE 0x4e617475 14*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_EVENT_DIGI00X_MESSAGE 0x746e736c 15*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_EVENT_MOTU_NOTIFICATION 0x64776479 16*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_EVENT_TASCAM_CONTROL 0x7473636d 17*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_EVENT_MOTU_REGISTER_DSP_CHANGE 0x4d545244 18*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_EVENT_FF400_MESSAGE 0x4f6c6761 19*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_common { 20*8d67ca89SAndroid Build Coastguard Worker unsigned int type; 21*8d67ca89SAndroid Build Coastguard Worker }; 22*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_lock_status { 23*8d67ca89SAndroid Build Coastguard Worker unsigned int type; 24*8d67ca89SAndroid Build Coastguard Worker unsigned int status; 25*8d67ca89SAndroid Build Coastguard Worker }; 26*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_dice_notification { 27*8d67ca89SAndroid Build Coastguard Worker unsigned int type; 28*8d67ca89SAndroid Build Coastguard Worker unsigned int notification; 29*8d67ca89SAndroid Build Coastguard Worker }; 30*8d67ca89SAndroid Build Coastguard Worker #define SND_EFW_TRANSACTION_USER_SEQNUM_MAX ((__u32) ((__u16) ~0) - 1) 31*8d67ca89SAndroid Build Coastguard Worker struct snd_efw_transaction { 32*8d67ca89SAndroid Build Coastguard Worker __be32 length; 33*8d67ca89SAndroid Build Coastguard Worker __be32 version; 34*8d67ca89SAndroid Build Coastguard Worker __be32 seqnum; 35*8d67ca89SAndroid Build Coastguard Worker __be32 category; 36*8d67ca89SAndroid Build Coastguard Worker __be32 command; 37*8d67ca89SAndroid Build Coastguard Worker __be32 status; 38*8d67ca89SAndroid Build Coastguard Worker __be32 params[]; 39*8d67ca89SAndroid Build Coastguard Worker }; 40*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_efw_response { 41*8d67ca89SAndroid Build Coastguard Worker unsigned int type; 42*8d67ca89SAndroid Build Coastguard Worker __be32 response[]; 43*8d67ca89SAndroid Build Coastguard Worker }; 44*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_digi00x_message { 45*8d67ca89SAndroid Build Coastguard Worker unsigned int type; 46*8d67ca89SAndroid Build Coastguard Worker __u32 message; 47*8d67ca89SAndroid Build Coastguard Worker }; 48*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_motu_notification { 49*8d67ca89SAndroid Build Coastguard Worker unsigned int type; 50*8d67ca89SAndroid Build Coastguard Worker __u32 message; 51*8d67ca89SAndroid Build Coastguard Worker }; 52*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_tascam_change { 53*8d67ca89SAndroid Build Coastguard Worker unsigned int index; 54*8d67ca89SAndroid Build Coastguard Worker __be32 before; 55*8d67ca89SAndroid Build Coastguard Worker __be32 after; 56*8d67ca89SAndroid Build Coastguard Worker }; 57*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_tascam_control { 58*8d67ca89SAndroid Build Coastguard Worker unsigned int type; 59*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_tascam_change changes[]; 60*8d67ca89SAndroid Build Coastguard Worker }; 61*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_motu_register_dsp_change { 62*8d67ca89SAndroid Build Coastguard Worker unsigned int type; 63*8d67ca89SAndroid Build Coastguard Worker __u32 count; 64*8d67ca89SAndroid Build Coastguard Worker __u32 changes[]; 65*8d67ca89SAndroid Build Coastguard Worker }; 66*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_ff400_message { 67*8d67ca89SAndroid Build Coastguard Worker unsigned int type; 68*8d67ca89SAndroid Build Coastguard Worker unsigned int message_count; 69*8d67ca89SAndroid Build Coastguard Worker struct { 70*8d67ca89SAndroid Build Coastguard Worker __u32 message; 71*8d67ca89SAndroid Build Coastguard Worker __u32 tstamp; 72*8d67ca89SAndroid Build Coastguard Worker } messages[]; 73*8d67ca89SAndroid Build Coastguard Worker }; 74*8d67ca89SAndroid Build Coastguard Worker union snd_firewire_event { 75*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_common common; 76*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_lock_status lock_status; 77*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_dice_notification dice_notification; 78*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_efw_response efw_response; 79*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_digi00x_message digi00x_message; 80*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_tascam_control tascam_control; 81*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_motu_notification motu_notification; 82*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_motu_register_dsp_change motu_register_dsp_change; 83*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_event_ff400_message ff400_message; 84*8d67ca89SAndroid Build Coastguard Worker }; 85*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_IOCTL_GET_INFO _IOR('H', 0xf8, struct snd_firewire_get_info) 86*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_IOCTL_LOCK _IO('H', 0xf9) 87*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_IOCTL_UNLOCK _IO('H', 0xfa) 88*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_IOCTL_TASCAM_STATE _IOR('H', 0xfb, struct snd_firewire_tascam_state) 89*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_IOCTL_MOTU_REGISTER_DSP_METER _IOR('H', 0xfc, struct snd_firewire_motu_register_dsp_meter) 90*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_IOCTL_MOTU_COMMAND_DSP_METER _IOR('H', 0xfd, struct snd_firewire_motu_command_dsp_meter) 91*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_IOCTL_MOTU_REGISTER_DSP_PARAMETER _IOR('H', 0xfe, struct snd_firewire_motu_register_dsp_parameter) 92*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_TYPE_DICE 1 93*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_TYPE_FIREWORKS 2 94*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_TYPE_BEBOB 3 95*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_TYPE_OXFW 4 96*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_TYPE_DIGI00X 5 97*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_TYPE_TASCAM 6 98*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_TYPE_MOTU 7 99*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_TYPE_FIREFACE 8 100*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_get_info { 101*8d67ca89SAndroid Build Coastguard Worker unsigned int type; 102*8d67ca89SAndroid Build Coastguard Worker unsigned int card; 103*8d67ca89SAndroid Build Coastguard Worker unsigned char guid[8]; 104*8d67ca89SAndroid Build Coastguard Worker char device_name[16]; 105*8d67ca89SAndroid Build Coastguard Worker }; 106*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_TASCAM_STATE_COUNT 64 107*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_tascam_state { 108*8d67ca89SAndroid Build Coastguard Worker __be32 data[SNDRV_FIREWIRE_TASCAM_STATE_COUNT]; 109*8d67ca89SAndroid Build Coastguard Worker }; 110*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_MOTU_REGISTER_DSP_METER_INPUT_COUNT 24 111*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_MOTU_REGISTER_DSP_METER_OUTPUT_COUNT 24 112*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_MOTU_REGISTER_DSP_METER_COUNT (SNDRV_FIREWIRE_MOTU_REGISTER_DSP_METER_INPUT_COUNT + SNDRV_FIREWIRE_MOTU_REGISTER_DSP_METER_OUTPUT_COUNT) 113*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_motu_register_dsp_meter { 114*8d67ca89SAndroid Build Coastguard Worker __u8 data[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_METER_COUNT]; 115*8d67ca89SAndroid Build Coastguard Worker }; 116*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_COUNT 4 117*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_SRC_COUNT 20 118*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_MOTU_REGISTER_DSP_INPUT_COUNT 10 119*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_MOTU_REGISTER_DSP_ALIGNED_INPUT_COUNT (SNDRV_FIREWIRE_MOTU_REGISTER_DSP_INPUT_COUNT + 2) 120*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_motu_register_dsp_parameter { 121*8d67ca89SAndroid Build Coastguard Worker struct { 122*8d67ca89SAndroid Build Coastguard Worker struct { 123*8d67ca89SAndroid Build Coastguard Worker __u8 gain[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_SRC_COUNT]; 124*8d67ca89SAndroid Build Coastguard Worker __u8 pan[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_SRC_COUNT]; 125*8d67ca89SAndroid Build Coastguard Worker __u8 flag[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_SRC_COUNT]; 126*8d67ca89SAndroid Build Coastguard Worker __u8 paired_balance[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_SRC_COUNT]; 127*8d67ca89SAndroid Build Coastguard Worker __u8 paired_width[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_SRC_COUNT]; 128*8d67ca89SAndroid Build Coastguard Worker } source[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_COUNT]; 129*8d67ca89SAndroid Build Coastguard Worker struct { 130*8d67ca89SAndroid Build Coastguard Worker __u8 paired_volume[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_COUNT]; 131*8d67ca89SAndroid Build Coastguard Worker __u8 paired_flag[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_MIXER_COUNT]; 132*8d67ca89SAndroid Build Coastguard Worker } output; 133*8d67ca89SAndroid Build Coastguard Worker } mixer; 134*8d67ca89SAndroid Build Coastguard Worker struct { 135*8d67ca89SAndroid Build Coastguard Worker __u8 main_paired_volume; 136*8d67ca89SAndroid Build Coastguard Worker __u8 hp_paired_volume; 137*8d67ca89SAndroid Build Coastguard Worker __u8 hp_paired_assignment; 138*8d67ca89SAndroid Build Coastguard Worker __u8 reserved[5]; 139*8d67ca89SAndroid Build Coastguard Worker } output; 140*8d67ca89SAndroid Build Coastguard Worker struct { 141*8d67ca89SAndroid Build Coastguard Worker __u8 boost_flag; 142*8d67ca89SAndroid Build Coastguard Worker __u8 nominal_level_flag; 143*8d67ca89SAndroid Build Coastguard Worker __u8 reserved[6]; 144*8d67ca89SAndroid Build Coastguard Worker } line_input; 145*8d67ca89SAndroid Build Coastguard Worker struct { 146*8d67ca89SAndroid Build Coastguard Worker __u8 gain_and_invert[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_ALIGNED_INPUT_COUNT]; 147*8d67ca89SAndroid Build Coastguard Worker __u8 flag[SNDRV_FIREWIRE_MOTU_REGISTER_DSP_ALIGNED_INPUT_COUNT]; 148*8d67ca89SAndroid Build Coastguard Worker } input; 149*8d67ca89SAndroid Build Coastguard Worker __u8 reserved[64]; 150*8d67ca89SAndroid Build Coastguard Worker }; 151*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_FIREWIRE_MOTU_COMMAND_DSP_METER_COUNT 400 152*8d67ca89SAndroid Build Coastguard Worker struct snd_firewire_motu_command_dsp_meter { 153*8d67ca89SAndroid Build Coastguard Worker float data[SNDRV_FIREWIRE_MOTU_COMMAND_DSP_METER_COUNT]; 154*8d67ca89SAndroid Build Coastguard Worker }; 155*8d67ca89SAndroid Build Coastguard Worker #endif 156