| /**************************************************************************** |
| **************************************************************************** |
| *** |
| *** This header was automatically generated from a Linux kernel header |
| *** of the same name, to make information necessary for userspace to |
| *** call into the kernel available to libc. It contains only constants, |
| *** structures, and macros generated from the original header, and thus, |
| *** contains no copyrightable information. |
| *** |
| *** To edit the content of this header, modify the corresponding |
| *** source file (e.g. under external/kernel-headers/original/) then |
| *** run bionic/libc/kernel/tools/update_all.py |
| *** |
| *** Any manual change here will be lost the next time this script will |
| *** be run. You've been warned! |
| *** |
| **************************************************************************** |
| ****************************************************************************/ |
| #ifndef __LINUX_IXJUSER_H |
| #define __LINUX_IXJUSER_H |
| #include <linux/telephony.h> |
| #define IXJCTL_DSP_RESET _IO('q', 0xC0) |
| #define IXJCTL_RING PHONE_RING |
| #define IXJCTL_HOOKSTATE PHONE_HOOKSTATE |
| #define IXJCTL_MAXRINGS PHONE_MAXRINGS |
| #define IXJCTL_RING_CADENCE PHONE_RING_CADENCE |
| #define IXJCTL_RING_START PHONE_RING_START |
| #define IXJCTL_RING_STOP PHONE_RING_STOP |
| #define IXJCTL_CARDTYPE _IOR('q', 0xC1, int) |
| #define IXJCTL_SERIAL _IOR('q', 0xC2, int) |
| #define IXJCTL_DSP_TYPE _IOR('q', 0xC3, int) |
| #define IXJCTL_DSP_VERSION _IOR('q', 0xC4, int) |
| #define IXJCTL_VERSION _IOR('q', 0xDA, char *) |
| #define IXJCTL_DSP_IDLE _IO('q', 0xC5) |
| #define IXJCTL_TESTRAM _IO('q', 0xC6) |
| #define IXJCTL_REC_CODEC PHONE_REC_CODEC |
| #define IXJCTL_REC_START PHONE_REC_START |
| #define IXJCTL_REC_STOP PHONE_REC_STOP |
| #define IXJCTL_REC_DEPTH PHONE_REC_DEPTH |
| #define IXJCTL_FRAME PHONE_FRAME |
| #define IXJCTL_REC_VOLUME PHONE_REC_VOLUME |
| #define IXJCTL_REC_LEVEL PHONE_REC_LEVEL |
| typedef enum { |
| f300_640 = 4, |
| f300_500, |
| f1100, |
| f350, |
| f400, |
| f480, |
| f440, |
| f620, |
| f20_50, |
| f133_200, |
| f300, |
| f300_420, |
| f330, |
| f300_425, |
| f330_440, |
| f340, |
| f350_400, |
| f350_440, |
| f350_450, |
| f360, |
| f380_420, |
| f392, |
| f400_425, |
| f400_440, |
| f400_450, |
| f420, |
| f425, |
| f425_450, |
| f425_475, |
| f435, |
| f440_450, |
| f440_480, |
| f445, |
| f450, |
| f452, |
| f475, |
| f480_620, |
| f494, |
| f500, |
| f520, |
| f523, |
| f525, |
| f540_660, |
| f587, |
| f590, |
| f600, |
| f660, |
| f700, |
| f740, |
| f750, |
| f750_1450, |
| f770, |
| f800, |
| f816, |
| f850, |
| f857_1645, |
| f900, |
| f900_1300, |
| f935_1215, |
| f941_1477, |
| f942, |
| f950, |
| f950_1400, |
| f975, |
| f1000, |
| f1020, |
| f1050, |
| f1100_1750, |
| f1140, |
| f1200, |
| f1209, |
| f1330, |
| f1336, |
| lf1366, |
| f1380, |
| f1400, |
| f1477, |
| f1600, |
| f1633_1638, |
| f1800, |
| f1860 |
| } IXJ_FILTER_FREQ; |
| typedef struct { |
| unsigned int filter; |
| IXJ_FILTER_FREQ freq; |
| char enable; |
| } IXJ_FILTER; |
| typedef struct { |
| char enable; |
| char en_filter; |
| unsigned int filter; |
| unsigned int on1; |
| unsigned int off1; |
| unsigned int on2; |
| unsigned int off2; |
| unsigned int on3; |
| unsigned int off3; |
| } IXJ_FILTER_CADENCE; |
| #define IXJCTL_SET_FILTER _IOW('q', 0xC7, IXJ_FILTER *) |
| #define IXJCTL_SET_FILTER_RAW _IOW('q', 0xDD, IXJ_FILTER_RAW *) |
| #define IXJCTL_GET_FILTER_HIST _IOW('q', 0xC8, int) |
| #define IXJCTL_FILTER_CADENCE _IOW('q', 0xD6, IXJ_FILTER_CADENCE *) |
| #define IXJCTL_PLAY_CID _IO('q', 0xD7) |
| typedef enum { |
| hz20 = 0x7ffa, |
| hz50 = 0x7fe5, |
| hz133 = 0x7f4c, |
| hz200 = 0x7e6b, |
| hz261 = 0x7d50, |
| hz277 = 0x7cfa, |
| hz293 = 0x7c9f, |
| hz300 = 0x7c75, |
| hz311 = 0x7c32, |
| hz329 = 0x7bbf, |
| hz330 = 0x7bb8, |
| hz340 = 0x7b75, |
| hz349 = 0x7b37, |
| hz350 = 0x7b30, |
| hz360 = 0x7ae9, |
| hz369 = 0x7aa8, |
| hz380 = 0x7a56, |
| hz392 = 0x79fa, |
| hz400 = 0x79bb, |
| hz415 = 0x7941, |
| hz420 = 0x7918, |
| hz425 = 0x78ee, |
| hz435 = 0x7899, |
| hz440 = 0x786d, |
| hz445 = 0x7842, |
| hz450 = 0x7815, |
| hz452 = 0x7803, |
| hz466 = 0x7784, |
| hz475 = 0x7731, |
| hz480 = 0x7701, |
| hz493 = 0x7685, |
| hz494 = 0x767b, |
| hz500 = 0x7640, |
| hz520 = 0x7578, |
| hz523 = 0x7559, |
| hz525 = 0x7544, |
| hz540 = 0x74a7, |
| hz554 = 0x7411, |
| hz587 = 0x72a1, |
| hz590 = 0x727f, |
| hz600 = 0x720b, |
| hz620 = 0x711e, |
| hz622 = 0x7106, |
| hz659 = 0x6f3b, |
| hz660 = 0x6f2e, |
| hz698 = 0x6d3d, |
| hz700 = 0x6d22, |
| hz739 = 0x6b09, |
| hz740 = 0x6afa, |
| hz750 = 0x6a6c, |
| hz770 = 0x694b, |
| hz783 = 0x688b, |
| hz800 = 0x678d, |
| hz816 = 0x6698, |
| hz830 = 0x65bf, |
| hz850 = 0x6484, |
| hz857 = 0x6414, |
| hz880 = 0x629f, |
| hz900 = 0x6154, |
| hz932 = 0x5f35, |
| hz935 = 0x5f01, |
| hz941 = 0x5e9a, |
| hz942 = 0x5e88, |
| hz950 = 0x5dfd, |
| hz975 = 0x5c44, |
| hz1000 = 0x5a81, |
| hz1020 = 0x5912, |
| hz1050 = 0x56e2, |
| hz1100 = 0x5320, |
| hz1140 = 0x5007, |
| hz1200 = 0x4b3b, |
| hz1209 = 0x4a80, |
| hz1215 = 0x4a02, |
| hz1250 = 0x471c, |
| hz1300 = 0x42e0, |
| hz1330 = 0x4049, |
| hz1336 = 0x3fc4, |
| hz1366 = 0x3d22, |
| hz1380 = 0x3be4, |
| hz1400 = 0x3a1b, |
| hz1450 = 0x3596, |
| hz1477 = 0x331c, |
| hz1500 = 0x30fb, |
| hz1600 = 0x278d, |
| hz1633 = 0x2462, |
| hz1638 = 0x23e7, |
| hz1645 = 0x233a, |
| hz1750 = 0x18f8, |
| hz1800 = 0x1405, |
| hz1860 = 0xe0b, |
| hz2100 = 0xf5f6, |
| hz2130 = 0xf2f5, |
| hz2450 = 0xd3b3, |
| hz2750 = 0xb8e4 |
| } IXJ_FREQ; |
| typedef enum { |
| C1 = hz261, |
| CS1 = hz277, |
| D1 = hz293, |
| DS1 = hz311, |
| E1 = hz329, |
| F1 = hz349, |
| FS1 = hz369, |
| G1 = hz392, |
| GS1 = hz415, |
| A1 = hz440, |
| AS1 = hz466, |
| B1 = hz493, |
| C2 = hz523, |
| CS2 = hz554, |
| D2 = hz587, |
| DS2 = hz622, |
| E2 = hz659, |
| F2 = hz698, |
| FS2 = hz739, |
| G2 = hz783, |
| GS2 = hz830, |
| A2 = hz880, |
| AS2 = hz932, |
| } IXJ_NOTE; |
| typedef struct { |
| int tone_index; |
| int freq0; |
| int gain0; |
| int freq1; |
| int gain1; |
| } IXJ_TONE; |
| #define IXJCTL_INIT_TONE _IOW('q', 0xC9, IXJ_TONE *) |
| typedef struct { |
| int index; |
| int tone_on_time; |
| int tone_off_time; |
| int freq0; |
| int gain0; |
| int freq1; |
| int gain1; |
| } IXJ_CADENCE_ELEMENT; |
| typedef enum { |
| PLAY_ONCE, |
| REPEAT_LAST_ELEMENT, |
| REPEAT_ALL |
| } IXJ_CADENCE_TERM; |
| typedef struct { |
| int elements_used; |
| IXJ_CADENCE_TERM termination; |
| IXJ_CADENCE_ELEMENT __user * ce; |
| } IXJ_CADENCE; |
| #define IXJCTL_TONE_CADENCE _IOW('q', 0xCA, IXJ_CADENCE *) |
| #define IXJCTL_PLAY_CODEC PHONE_PLAY_CODEC |
| #define IXJCTL_PLAY_START PHONE_PLAY_START |
| #define IXJCTL_PLAY_STOP PHONE_PLAY_STOP |
| #define IXJCTL_PLAY_DEPTH PHONE_PLAY_DEPTH |
| #define IXJCTL_PLAY_VOLUME PHONE_PLAY_VOLUME |
| #define IXJCTL_PLAY_LEVEL PHONE_PLAY_LEVEL |
| #define IXJCTL_AEC_START _IOW('q', 0xCB, int) |
| #define IXJCTL_AEC_STOP _IO('q', 0xCC) |
| #define IXJCTL_AEC_GET_LEVEL _IO('q', 0xCD) |
| #define AEC_OFF 0 |
| #define AEC_LOW 1 |
| #define AEC_MED 2 |
| #define AEC_HIGH 3 |
| #define AEC_AUTO 4 |
| #define AEC_AGC 5 |
| #define IXJCTL_DTMF_READY PHONE_DTMF_READY |
| #define IXJCTL_GET_DTMF PHONE_GET_DTMF |
| #define IXJCTL_GET_DTMF_ASCII PHONE_GET_DTMF_ASCII |
| #define IXJCTL_DTMF_OOB PHONE_DTMF_OOB |
| #define IXJCTL_EXCEPTION PHONE_EXCEPTION |
| #define IXJCTL_PLAY_TONE PHONE_PLAY_TONE |
| #define IXJCTL_SET_TONE_ON_TIME PHONE_SET_TONE_ON_TIME |
| #define IXJCTL_SET_TONE_OFF_TIME PHONE_SET_TONE_OFF_TIME |
| #define IXJCTL_GET_TONE_ON_TIME PHONE_GET_TONE_ON_TIME |
| #define IXJCTL_GET_TONE_OFF_TIME PHONE_GET_TONE_OFF_TIME |
| #define IXJCTL_GET_TONE_STATE PHONE_GET_TONE_STATE |
| #define IXJCTL_BUSY PHONE_BUSY |
| #define IXJCTL_RINGBACK PHONE_RINGBACK |
| #define IXJCTL_DIALTONE PHONE_DIALTONE |
| #define IXJCTL_CPT_STOP PHONE_CPT_STOP |
| #define IXJCTL_SET_LED _IOW('q', 0xCE, int) |
| #define IXJCTL_MIXER _IOW('q', 0xCF, int) |
| #define MIXER_MASTER_L 0x0000 |
| #define MIXER_MASTER_R 0x0100 |
| #define ATT00DB 0x00 |
| #define ATT02DB 0x01 |
| #define ATT04DB 0x02 |
| #define ATT06DB 0x03 |
| #define ATT08DB 0x04 |
| #define ATT10DB 0x05 |
| #define ATT12DB 0x06 |
| #define ATT14DB 0x07 |
| #define ATT16DB 0x08 |
| #define ATT18DB 0x09 |
| #define ATT20DB 0x0A |
| #define ATT22DB 0x0B |
| #define ATT24DB 0x0C |
| #define ATT26DB 0x0D |
| #define ATT28DB 0x0E |
| #define ATT30DB 0x0F |
| #define ATT32DB 0x10 |
| #define ATT34DB 0x11 |
| #define ATT36DB 0x12 |
| #define ATT38DB 0x13 |
| #define ATT40DB 0x14 |
| #define ATT42DB 0x15 |
| #define ATT44DB 0x16 |
| #define ATT46DB 0x17 |
| #define ATT48DB 0x18 |
| #define ATT50DB 0x19 |
| #define ATT52DB 0x1A |
| #define ATT54DB 0x1B |
| #define ATT56DB 0x1C |
| #define ATT58DB 0x1D |
| #define ATT60DB 0x1E |
| #define ATT62DB 0x1F |
| #define MASTER_MUTE 0x80 |
| #define MIXER_PORT_CD_L 0x0600 |
| #define MIXER_PORT_CD_R 0x0700 |
| #define MIXER_PORT_LINE_IN_L 0x0800 |
| #define MIXER_PORT_LINE_IN_R 0x0900 |
| #define MIXER_PORT_POTS_REC 0x0C00 |
| #define MIXER_PORT_MIC 0x0E00 |
| #define GAIN12DB 0x00 |
| #define GAIN10DB 0x01 |
| #define GAIN08DB 0x02 |
| #define GAIN06DB 0x03 |
| #define GAIN04DB 0x04 |
| #define GAIN02DB 0x05 |
| #define GAIN00DB 0x06 |
| #define GAIN_02DB 0x07 |
| #define GAIN_04DB 0x08 |
| #define GAIN_06DB 0x09 |
| #define GAIN_08DB 0x0A |
| #define GAIN_10DB 0x0B |
| #define GAIN_12DB 0x0C |
| #define GAIN_14DB 0x0D |
| #define GAIN_16DB 0x0E |
| #define GAIN_18DB 0x0F |
| #define GAIN_20DB 0x10 |
| #define GAIN_22DB 0x11 |
| #define GAIN_24DB 0x12 |
| #define GAIN_26DB 0x13 |
| #define GAIN_28DB 0x14 |
| #define GAIN_30DB 0x15 |
| #define GAIN_32DB 0x16 |
| #define GAIN_34DB 0x17 |
| #define GAIN_36DB 0x18 |
| #define GAIN_38DB 0x19 |
| #define GAIN_40DB 0x1A |
| #define GAIN_42DB 0x1B |
| #define GAIN_44DB 0x1C |
| #define GAIN_46DB 0x1D |
| #define GAIN_48DB 0x1E |
| #define GAIN_50DB 0x1F |
| #define INPUT_MUTE 0x80 |
| #define MIXER_PORT_POTS_PLAY 0x0F00 |
| #define POTS_ATT_00DB 0x00 |
| #define POTS_ATT_04DB 0x01 |
| #define POTS_ATT_08DB 0x02 |
| #define POTS_ATT_12DB 0x03 |
| #define POTS_ATT_16DB 0x04 |
| #define POTS_ATT_20DB 0x05 |
| #define POTS_ATT_24DB 0x06 |
| #define POTS_ATT_28DB 0x07 |
| #define POTS_MUTE 0x80 |
| #define IXJCTL_DAA_COEFF_SET _IOW('q', 0xD0, int) |
| #define DAA_US 1 |
| #define DAA_UK 2 |
| #define DAA_FRANCE 3 |
| #define DAA_GERMANY 4 |
| #define DAA_AUSTRALIA 5 |
| #define DAA_JAPAN 6 |
| #define IXJCTL_PORT _IOW('q', 0xD1, int) |
| #define PORT_QUERY 0 |
| #define PORT_POTS 1 |
| #define PORT_PSTN 2 |
| #define PORT_SPEAKER 3 |
| #define PORT_HANDSET 4 |
| #define IXJCTL_PSTN_SET_STATE PHONE_PSTN_SET_STATE |
| #define IXJCTL_PSTN_GET_STATE PHONE_PSTN_GET_STATE |
| #define PSTN_ON_HOOK 0 |
| #define PSTN_RINGING 1 |
| #define PSTN_OFF_HOOK 2 |
| #define PSTN_PULSE_DIAL 3 |
| #define IXJCTL_DAA_AGAIN _IOW('q', 0xD2, int) |
| #define AGRR00DB 0x00 |
| #define AGRR3_5DB 0x10 |
| #define AGRR06DB 0x30 |
| #define AGX00DB 0x00 |
| #define AGX_6DB 0x04 |
| #define AGX3_5DB 0x08 |
| #define AGX_2_5B 0x0C |
| #define IXJCTL_PSTN_LINETEST _IO('q', 0xD3) |
| #define IXJCTL_CID _IOR('q', 0xD4, PHONE_CID *) |
| #define IXJCTL_VMWI _IOR('q', 0xD8, int) |
| #define IXJCTL_CIDCW _IOW('q', 0xD9, PHONE_CID *) |
| #define IXJCTL_WINK_DURATION PHONE_WINK_DURATION |
| #define IXJCTL_POTS_PSTN _IOW('q', 0xD5, int) |
| #define IXJCTL_HZ _IOW('q', 0xE0, int) |
| #define IXJCTL_RATE _IOW('q', 0xE1, int) |
| #define IXJCTL_FRAMES_READ _IOR('q', 0xE2, unsigned long) |
| #define IXJCTL_FRAMES_WRITTEN _IOR('q', 0xE3, unsigned long) |
| #define IXJCTL_READ_WAIT _IOR('q', 0xE4, unsigned long) |
| #define IXJCTL_WRITE_WAIT _IOR('q', 0xE5, unsigned long) |
| #define IXJCTL_DRYBUFFER_READ _IOR('q', 0xE6, unsigned long) |
| #define IXJCTL_DRYBUFFER_CLEAR _IO('q', 0xE7) |
| #define IXJCTL_DTMF_PRESCALE _IOW('q', 0xE8, int) |
| typedef enum { |
| SIG_DTMF_READY, |
| SIG_HOOKSTATE, |
| SIG_FLASH, |
| SIG_PSTN_RING, |
| SIG_CALLER_ID, |
| SIG_PSTN_WINK, |
| SIG_F0, |
| SIG_F1, |
| SIG_F2, |
| SIG_F3, |
| SIG_FC0, |
| SIG_FC1, |
| SIG_FC2, |
| SIG_FC3, |
| SIG_READ_READY = 33, |
| SIG_WRITE_READY = 34 |
| } IXJ_SIGEVENT; |
| typedef struct { |
| unsigned int event; |
| int signal; |
| } IXJ_SIGDEF; |
| #define IXJCTL_SIGCTL _IOW('q', 0xE9, IXJ_SIGDEF *) |
| #define IXJCTL_SC_RXG _IOW('q', 0xEA, int) |
| #define IXJCTL_SC_TXG _IOW('q', 0xEB, int) |
| #define IXJCTL_INTERCOM_START _IOW('q', 0xFD, int) |
| #define IXJCTL_INTERCOM_STOP _IOW('q', 0xFE, int) |
| typedef struct { |
| unsigned int filter; |
| char enable; |
| unsigned int coeff[19]; |
| } IXJ_FILTER_RAW; |
| #endif |