patch-2.3.14 linux/drivers/isdn/eicon/eicon.h

Next file: linux/drivers/isdn/eicon/eicon_dsp.h
Previous file: linux/drivers/isdn/divert/isdn_divert.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.13/linux/drivers/isdn/eicon/eicon.h linux/drivers/isdn/eicon/eicon.h
@@ -1,4 +1,4 @@
-/* $Id: eicon.h,v 1.5 1999/03/29 11:19:41 armin Exp $
+/* $Id: eicon.h,v 1.8 1999/07/25 15:12:01 armin Exp $
  *
  * ISDN low-level module for Eicon.Diehl active ISDN-Cards.
  *
@@ -21,6 +21,19 @@
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 
  *
  * $Log: eicon.h,v $
+ * Revision 1.8  1999/07/25 15:12:01  armin
+ * fix of some debug logs.
+ * enabled ISA-cards option.
+ *
+ * Revision 1.7  1999/07/11 17:16:23  armin
+ * Bugfixes in queue handling.
+ * Added DSP-DTMF decoder functions.
+ * Reorganized ack_handler.
+ *
+ * Revision 1.6  1999/06/09 19:31:24  armin
+ * Wrong PLX size for request_region() corrected.
+ * Added first MCA code from Erik Weber.
+ *
  * Revision 1.5  1999/03/29 11:19:41  armin
  * I/O stuff now in seperate file (eicon_io.c)
  * Old ISA type cards (S,SX,SCOM,Quadro,S2M) implemented.
@@ -100,6 +113,7 @@
 #define EICON_ISA_BOOT_NORMAL 2
 
 /* Struct for downloading protocol via ioctl for ISA cards */
+/* same struct for downloading protocol via ioctl for MCA cards */
 typedef struct {
 	/* start-up parameters */
 	unsigned char tei;
@@ -156,6 +170,7 @@
 /* Data for downloading protocol via ioctl */
 typedef union {
 	eicon_isa_codebuf isa;
+	eicon_isa_codebuf mca;
 	eicon_pci_codebuf pci;
 } eicon_codebuf;
 
@@ -171,6 +186,7 @@
 #ifdef __KERNEL__
 
 /* Kernel includes */
+#include <linux/config.h>
 #include <linux/sched.h>
 #include <linux/string.h>
 #include <linux/tqueue.h>
@@ -333,19 +349,39 @@
   __u16                 ref;            /* saved reference          */
 } entity;
 
+#define FAX_MAX_SCANLINE 256
+
+typedef struct {
+	__u8		PrevObject;
+	__u8		NextObject;
+	__u8		abLine[FAX_MAX_SCANLINE];
+	__u8		abFrame[FAX_MAX_SCANLINE];
+	unsigned int	LineLen;
+	unsigned int	LineDataLen;
+	__u32		LineData;
+	unsigned int	NullBytesPos;
+	__u8		NullByteExist;
+	int		PageCount;
+	__u8		Dle;
+	__u8		Eop;
+} eicon_ch_fax_buf;
 
 typedef struct {
 	int	       No;		 /* Channel Number	        */
 	unsigned short callref;          /* Call Reference              */
 	unsigned short fsm_state;        /* Current D-Channel state     */
 	unsigned short eazmask;          /* EAZ-Mask for this Channel   */
-	unsigned int   queued;           /* User-Data Bytes in TX queue */
-	unsigned int   waitq;            /* User-Data Bytes in wait queue */
-	unsigned int   waitpq;           /* User-Data Bytes in packet queue */
+	int		queued;          /* User-Data Bytes in TX queue */
+	int		waitq;           /* User-Data Bytes in wait queue */
+	int		waitpq;          /* User-Data Bytes in packet queue */
 	unsigned short plci;
 	unsigned short ncci;
 	unsigned char  l2prot;           /* Layer 2 protocol            */
 	unsigned char  l3prot;           /* Layer 3 protocol            */
+#ifdef CONFIG_ISDN_TTY_FAX
+	T30_s		*fax;		 /* pointer to fax data in LL	*/
+	eicon_ch_fax_buf fax2;		 /* fax related struct		*/
+#endif
 	entity		e;		 /* Entity  			*/
 	char		cpn[32];	 /* remember cpn		*/
 	char		oad[32];	 /* remember oad		*/
@@ -392,14 +428,10 @@
 #define EICON_LOCK_TX 0
 #define EICON_LOCK_RX 1
 
-typedef struct {
-	int dummy;
-} eicon_mca_card;
-
 typedef union {
 	eicon_isa_card isa;
 	eicon_pci_card pci;
-	eicon_mca_card mca;
+	eicon_isa_card mca;
 } eicon_hwif;
 
 typedef struct {
@@ -465,6 +497,9 @@
 	char   *status_buf_end;
         isdn_if interface;               /* Interface to upper layer         */
         char regname[35];                /* Name used for request_region     */
+#ifdef CONFIG_MCA
+        int  mca_slot;                   /* # of cards MCA slot              */
+#endif
 } eicon_card;
 
 /* -----------------------------------------------------------**
@@ -521,6 +556,12 @@
 extern void eicon_irq(int irq, void *dev_id, struct pt_regs *regs);
 extern void eicon_io_rcv_dispatch(eicon_card *ccard);
 extern void eicon_io_ack_dispatch(eicon_card *ccard);
+#ifdef CONFIG_MCA
+extern int eicon_mca_find_card(int, int, int, char *);
+extern int eicon_mca_probe(int, int, int, int, char *);
+extern int eicon_info(char *, int , void *);
+#endif /* CONFIG_MCA */
+
 extern ulong DebugVar;
 
 #endif  /* __KERNEL__ */

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