patch-2.4.10 linux/include/linux/ixjuser.h

Next file: linux/include/linux/jffs2.h
Previous file: linux/include/linux/ite_gpio.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.9/linux/include/linux/ixjuser.h linux/include/linux/ixjuser.h
@@ -1,11 +1,16 @@
+#ifndef __LINUX_IXJUSER_H
+#define __LINUX_IXJUSER_H
+
 /******************************************************************************
  *
  *    ixjuser.h
  *
- *    Device Driver for the Internet PhoneJACK and
- *    Internet LineJACK Telephony Cards.
+ * Device Driver for Quicknet Technologies, Inc.'s Telephony cards
+ * including the Internet PhoneJACK, Internet PhoneJACK Lite,
+ * Internet PhoneJACK PCI, Internet LineJACK, Internet PhoneCARD and
+ * SmartCABLE
  *
- *    (c) Copyright 1999 Quicknet Technologies, Inc.
+ *    (c) Copyright 1999-2001  Quicknet Technologies, Inc.
  *
  *    This program is free software; you can redistribute it and/or
  *    modify it under the terms of the GNU General Public License
@@ -37,14 +42,14 @@
  *
  *****************************************************************************/
 
-static char ixjuser_h_rcsid[] = "$Id: ixjuser.h,v 3.11 2000/03/30 22:06:48 eokerson Exp $";
+static char ixjuser_h_rcsid[] = "$Id: ixjuser.h,v 4.1 2001/08/05 00:17:37 craigs Exp $";
 
-#include "telephony.h"
+#include <linux/telephony.h>
 
 
 /******************************************************************************
 *
-* IOCTL's used for the Quicknet Cards
+* IOCTL's used for the Quicknet Telephony Cards
 *
 * If you use the IXJCTL_TESTRAM command, the card must be power cycled to
 * reset the SRAM values before futher use.
@@ -135,6 +140,7 @@
 } 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)
@@ -366,7 +372,7 @@
 * This group of IOCTLs deal with the Acoustic Echo Cancellation settings
 * of the DSP
 *
-* Issueing the IXJCTL_AEC_START command with a value of AEC_OFF has the
+* Issuing the IXJCTL_AEC_START command with a value of AEC_OFF has the
 * same effect as IXJCTL_AEC_STOP.  This is to simplify slider bar
 * controls.  IXJCTL_AEC_GET_LEVEL returns the current setting of the AEC.
 ******************************************************************************/
@@ -379,11 +385,12 @@
 #define AEC_MED   2
 #define AEC_HIGH  3
 #define AEC_AUTO  4
+#define AEC_AGC   5
 /******************************************************************************
 *
 * Call Progress Tones, DTMF, etc.
-* IXJCTL_DTMF_OOB determines if dtmf signaling is sent as Out-Of-Band
-* only.  If you pass a 1, dtmf is suppressed from the audio stream.
+* IXJCTL_DTMF_OOB determines if DTMF signaling is sent as Out-Of-Band
+* only.  If you pass a 1, DTMF is suppressed from the audio stream.
 * Tone on and off times are in 250 microsecond intervals so
 * ioctl(ixj1, IXJCTL_SET_TONE_ON_TIME, 360);
 * will set the tone on time of board ixj1 to 360 * 250us = 90ms
@@ -407,10 +414,10 @@
 #define IXJCTL_CPT_STOP			PHONE_CPT_STOP
 
 /******************************************************************************
-* LineJack specific IOCTLs
+* LineJACK specific IOCTLs
 *
 * The lsb 4 bits of the LED argument represent the state of each of the 4
-* LED's on the LineJack
+* LED's on the LineJACK
 ******************************************************************************/
 
 #define IXJCTL_SET_LED			_IOW ('q', 0xCE, int)
@@ -423,8 +430,8 @@
 * as the parameter to the mixer command to change the mixer settings.
 * 
 ******************************************************************************/
-#define MIXER_MASTER_L		0x0100
-#define MIXER_MASTER_R		0x0200
+#define MIXER_MASTER_L		0x0000
+#define MIXER_MASTER_R		0x0100
 #define ATT00DB			0x00
 #define ATT02DB			0x01
 #define ATT04DB			0x02
@@ -535,9 +542,9 @@
 ******************************************************************************/
 #define IXJCTL_DAA_COEFF_SET		_IOW ('q', 0xD0, int)
 
-#define DAA_US 		1	//PITA 8kHz
-#define DAA_UK 		2	//ISAR34 8kHz
-#define DAA_FRANCE 	3	//
+#define DAA_US 		1	/*PITA 8kHz */
+#define DAA_UK 		2	/*ISAR34 8kHz */
+#define DAA_FRANCE 	3	/* */
 #define DAA_GERMANY	4
 #define DAA_AUSTRALIA	5
 #define DAA_JAPAN	6
@@ -575,14 +582,14 @@
 ******************************************************************************/
 #define IXJCTL_DAA_AGAIN		_IOW ('q', 0xD2, int)
 
-#define AGRR00DB	0x00	// Analog gain in receive direction 0dB
-#define AGRR3_5DB	0x10	// Analog gain in receive direction 3.5dB
-#define AGRR06DB	0x30	// Analog gain in receive direction 6dB
-
-#define AGX00DB		0x00	// Analog gain in transmit direction 0dB
-#define AGX_6DB		0x04	// Analog gain in transmit direction -6dB
-#define AGX3_5DB	0x08	// Analog gain in transmit direction 3.5dB
-#define AGX_2_5B	0x0C	// Analog gain in transmit direction -2.5dB
+#define AGRR00DB	0x00	/* Analog gain in receive direction 0dB */
+#define AGRR3_5DB	0x10	/* Analog gain in receive direction 3.5dB */
+#define AGRR06DB	0x30	/* Analog gain in receive direction 6dB */
+
+#define AGX00DB		0x00	/* Analog gain in transmit direction 0dB */
+#define AGX_6DB		0x04	/* Analog gain in transmit direction -6dB */
+#define AGX3_5DB	0x08	/* Analog gain in transmit direction 3.5dB */
+#define AGX_2_5B	0x0C	/* Analog gain in transmit direction -2.5dB */
 
 #define IXJCTL_PSTN_LINETEST		_IO  ('q', 0xD3)
 
@@ -639,6 +646,52 @@
 #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)
+
+/******************************************************************************
+*
+* This ioctl allows the user application to control what events the driver
+* will send signals for, and what signals it will send for which event.
+* By default, if signaling is enabled, all events will send SIGIO when
+* they occur.  To disable signals for an event set the signal to 0.
+*
+******************************************************************************/
+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 *)
+
+/******************************************************************************
+*
+* These ioctls allow the user application to change the gain in the 
+* Smart Cable of the Internet Phone Card.  Sending -1 as a value will cause
+* return value to be the current setting.  Valid values to set are 0x00 - 0x1F
+*
+* 11111 = +12 dB
+* 10111 =   0 dB
+* 00000 = -34.5 dB
+*
+* IXJCTL_SC_RXG sets the Receive gain
+* IXJCTL_SC_TXG sets the Transmit gain
+*
+******************************************************************************/
+#define IXJCTL_SC_RXG			_IOW ('q', 0xEA, int)
+#define IXJCTL_SC_TXG			_IOW ('q', 0xEB, int)
 
 /******************************************************************************
 *
@@ -653,3 +706,17 @@
 
 #define IXJCTL_INTERCOM_START 		_IOW ('q', 0xFD, int)
 #define IXJCTL_INTERCOM_STOP  		_IOW ('q', 0xFE, int)
+
+/******************************************************************************
+ *
+ * new structure for accessing raw filter information
+ *
+ ******************************************************************************/
+
+typedef struct {
+	unsigned int filter;
+	char enable;
+	unsigned int coeff[19];
+} IXJ_FILTER_RAW;
+
+#endif

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)