1951a39d68df598db08dfced8b4707755864a0492Ying Wang/**************************************************************************** 2951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 3951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 4951a39d68df598db08dfced8b4707755864a0492Ying Wang *** This header was automatically generated from a Linux kernel header 5951a39d68df598db08dfced8b4707755864a0492Ying Wang *** of the same name, to make information necessary for userspace to 6951a39d68df598db08dfced8b4707755864a0492Ying Wang *** call into the kernel available to libc. It contains only constants, 7951a39d68df598db08dfced8b4707755864a0492Ying Wang *** structures, and macros generated from the original header, and thus, 8951a39d68df598db08dfced8b4707755864a0492Ying Wang *** contains no copyrightable information. 9951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 10951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/ 12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef TELEPHONY_H 13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TELEPHONY_H 14951a39d68df598db08dfced8b4707755864a0492Ying Wang 15951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TELEPHONY_VERSION 3013 16951a39d68df598db08dfced8b4707755864a0492Ying Wang 17951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_VENDOR_IXJ 1 18951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_VENDOR_QUICKNET PHONE_VENDOR_IXJ 19951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_VENDOR_VOICETRONIX 2 20951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_VENDOR_ACULAB 3 21951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_VENDOR_DIGI 4 22951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_VENDOR_FRANKLIN 5 23951a39d68df598db08dfced8b4707755864a0492Ying Wang 24951a39d68df598db08dfced8b4707755864a0492Ying Wang#define QTI_PHONEJACK 100 25951a39d68df598db08dfced8b4707755864a0492Ying Wang#define QTI_LINEJACK 300 26951a39d68df598db08dfced8b4707755864a0492Ying Wang#define QTI_PHONEJACK_LITE 400 27951a39d68df598db08dfced8b4707755864a0492Ying Wang#define QTI_PHONEJACK_PCI 500 28951a39d68df598db08dfced8b4707755864a0492Ying Wang#define QTI_PHONECARD 600 29951a39d68df598db08dfced8b4707755864a0492Ying Wang 30951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef enum { 31951a39d68df598db08dfced8b4707755864a0492Ying Wang vendor = 0, 32951a39d68df598db08dfced8b4707755864a0492Ying Wang device, 33951a39d68df598db08dfced8b4707755864a0492Ying Wang port, 34951a39d68df598db08dfced8b4707755864a0492Ying Wang codec, 35951a39d68df598db08dfced8b4707755864a0492Ying Wang dsp 36951a39d68df598db08dfced8b4707755864a0492Ying Wang} phone_cap; 37951a39d68df598db08dfced8b4707755864a0492Ying Wang 38951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct phone_capability { 39951a39d68df598db08dfced8b4707755864a0492Ying Wang char desc[80]; 40951a39d68df598db08dfced8b4707755864a0492Ying Wang phone_cap captype; 41951a39d68df598db08dfced8b4707755864a0492Ying Wang int cap; 42951a39d68df598db08dfced8b4707755864a0492Ying Wang int handle; 43951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 44951a39d68df598db08dfced8b4707755864a0492Ying Wang 45951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef enum { 46951a39d68df598db08dfced8b4707755864a0492Ying Wang pots = 0, 47951a39d68df598db08dfced8b4707755864a0492Ying Wang pstn, 48951a39d68df598db08dfced8b4707755864a0492Ying Wang handset, 49951a39d68df598db08dfced8b4707755864a0492Ying Wang speaker 50951a39d68df598db08dfced8b4707755864a0492Ying Wang} phone_ports; 51951a39d68df598db08dfced8b4707755864a0492Ying Wang 52951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_CAPABILITIES _IO ('q', 0x80) 53951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_CAPABILITIES_LIST _IOR ('q', 0x81, struct phone_capability *) 54951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_CAPABILITIES_CHECK _IOW ('q', 0x82, struct phone_capability *) 55951a39d68df598db08dfced8b4707755864a0492Ying Wang 56951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef struct { 57951a39d68df598db08dfced8b4707755864a0492Ying Wang char month[3]; 58951a39d68df598db08dfced8b4707755864a0492Ying Wang char day[3]; 59951a39d68df598db08dfced8b4707755864a0492Ying Wang char hour[3]; 60951a39d68df598db08dfced8b4707755864a0492Ying Wang char min[3]; 61951a39d68df598db08dfced8b4707755864a0492Ying Wang int numlen; 62951a39d68df598db08dfced8b4707755864a0492Ying Wang char number[11]; 63951a39d68df598db08dfced8b4707755864a0492Ying Wang int namelen; 64951a39d68df598db08dfced8b4707755864a0492Ying Wang char name[80]; 65951a39d68df598db08dfced8b4707755864a0492Ying Wang} PHONE_CID; 66951a39d68df598db08dfced8b4707755864a0492Ying Wang 67951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_RING _IO ('q', 0x83) 68951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_HOOKSTATE _IO ('q', 0x84) 69951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_MAXRINGS _IOW ('q', 0x85, char) 70951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_RING_CADENCE _IOW ('q', 0x86, short) 71951a39d68df598db08dfced8b4707755864a0492Ying Wang#define OLD_PHONE_RING_START _IO ('q', 0x87) 72951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_RING_START _IOW ('q', 0x87, PHONE_CID *) 73951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_RING_STOP _IO ('q', 0x88) 74951a39d68df598db08dfced8b4707755864a0492Ying Wang 75951a39d68df598db08dfced8b4707755864a0492Ying Wang#define USA_RING_CADENCE 0xC0C0 76951a39d68df598db08dfced8b4707755864a0492Ying Wang 77951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_REC_CODEC _IOW ('q', 0x89, int) 78951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_REC_START _IO ('q', 0x8A) 79951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_REC_STOP _IO ('q', 0x8B) 80951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_REC_DEPTH _IOW ('q', 0x8C, int) 81951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_FRAME _IOW ('q', 0x8D, int) 82951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_REC_VOLUME _IOW ('q', 0x8E, int) 83951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_REC_VOLUME_LINEAR _IOW ('q', 0xDB, int) 84951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_REC_LEVEL _IO ('q', 0x8F) 85951a39d68df598db08dfced8b4707755864a0492Ying Wang 86951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_PLAY_CODEC _IOW ('q', 0x90, int) 87951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_PLAY_START _IO ('q', 0x91) 88951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_PLAY_STOP _IO ('q', 0x92) 89951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_PLAY_DEPTH _IOW ('q', 0x93, int) 90951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_PLAY_VOLUME _IOW ('q', 0x94, int) 91951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_PLAY_VOLUME_LINEAR _IOW ('q', 0xDC, int) 92951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_PLAY_LEVEL _IO ('q', 0x95) 93951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_DTMF_READY _IOR ('q', 0x96, int) 94951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_GET_DTMF _IOR ('q', 0x97, int) 95951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_GET_DTMF_ASCII _IOR ('q', 0x98, int) 96951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_DTMF_OOB _IOW ('q', 0x99, int) 97951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_EXCEPTION _IOR ('q', 0x9A, int) 98951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_PLAY_TONE _IOW ('q', 0x9B, char) 99951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_SET_TONE_ON_TIME _IOW ('q', 0x9C, int) 100951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_SET_TONE_OFF_TIME _IOW ('q', 0x9D, int) 101951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_GET_TONE_ON_TIME _IO ('q', 0x9E) 102951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_GET_TONE_OFF_TIME _IO ('q', 0x9F) 103951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_GET_TONE_STATE _IO ('q', 0xA0) 104951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_BUSY _IO ('q', 0xA1) 105951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_RINGBACK _IO ('q', 0xA2) 106951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_DIALTONE _IO ('q', 0xA3) 107951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_CPT_STOP _IO ('q', 0xA4) 108951a39d68df598db08dfced8b4707755864a0492Ying Wang 109951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_PSTN_SET_STATE _IOW ('q', 0xA4, int) 110951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_PSTN_GET_STATE _IO ('q', 0xA5) 111951a39d68df598db08dfced8b4707755864a0492Ying Wang 112951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PSTN_ON_HOOK 0 113951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PSTN_RINGING 1 114951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PSTN_OFF_HOOK 2 115951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PSTN_PULSE_DIAL 3 116951a39d68df598db08dfced8b4707755864a0492Ying Wang 117951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_WINK_DURATION _IOW ('q', 0xA6, int) 118951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_WINK _IOW ('q', 0xAA, int) 119951a39d68df598db08dfced8b4707755864a0492Ying Wang 120951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef enum { 121951a39d68df598db08dfced8b4707755864a0492Ying Wang G723_63 = 1, 122951a39d68df598db08dfced8b4707755864a0492Ying Wang G723_53 = 2, 123951a39d68df598db08dfced8b4707755864a0492Ying Wang TS85 = 3, 124951a39d68df598db08dfced8b4707755864a0492Ying Wang TS48 = 4, 125951a39d68df598db08dfced8b4707755864a0492Ying Wang TS41 = 5, 126951a39d68df598db08dfced8b4707755864a0492Ying Wang G728 = 6, 127951a39d68df598db08dfced8b4707755864a0492Ying Wang G729 = 7, 128951a39d68df598db08dfced8b4707755864a0492Ying Wang ULAW = 8, 129951a39d68df598db08dfced8b4707755864a0492Ying Wang ALAW = 9, 130951a39d68df598db08dfced8b4707755864a0492Ying Wang LINEAR16 = 10, 131951a39d68df598db08dfced8b4707755864a0492Ying Wang LINEAR8 = 11, 132951a39d68df598db08dfced8b4707755864a0492Ying Wang WSS = 12, 133951a39d68df598db08dfced8b4707755864a0492Ying Wang G729B = 13 134951a39d68df598db08dfced8b4707755864a0492Ying Wang} phone_codec; 135951a39d68df598db08dfced8b4707755864a0492Ying Wang 136951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct phone_codec_data 137951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 138951a39d68df598db08dfced8b4707755864a0492Ying Wang phone_codec type; 139951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned short buf_min, buf_opt, buf_max; 140951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 141951a39d68df598db08dfced8b4707755864a0492Ying Wang 142951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_QUERY_CODEC _IOWR ('q', 0xA7, struct phone_codec_data *) 143951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_PSTN_LINETEST _IO ('q', 0xA8) 144951a39d68df598db08dfced8b4707755864a0492Ying Wang 145951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PHONE_VAD _IOW ('q', 0xA9, int) 146951a39d68df598db08dfced8b4707755864a0492Ying Wang 147951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct phone_except 148951a39d68df598db08dfced8b4707755864a0492Ying Wang{ 149951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int dtmf_ready:1; 150951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int hookstate:1; 151951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int pstn_ring:1; 152951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int caller_id:1; 153951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int pstn_wink:1; 154951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int f0:1; 155951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int f1:1; 156951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int f2:1; 157951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int f3:1; 158951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int flash:1; 159951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int fc0:1; 160951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int fc1:1; 161951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int fc2:1; 162951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int fc3:1; 163951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int reserved:18; 164951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 165951a39d68df598db08dfced8b4707755864a0492Ying Wang 166951a39d68df598db08dfced8b4707755864a0492Ying Wangunion telephony_exception { 167951a39d68df598db08dfced8b4707755864a0492Ying Wang struct phone_except bits; 168951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned int bytes; 169951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 170951a39d68df598db08dfced8b4707755864a0492Ying Wang 171951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif 172951a39d68df598db08dfced8b4707755864a0492Ying Wang 173