|  | /**************************************************************************** | 
|  | **************************************************************************** | 
|  | *** | 
|  | ***   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 |