summaryrefslogtreecommitdiffstats
path: root/drivers/isdn/eicon/eicon.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-01-29 01:41:54 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-01-29 01:41:54 +0000
commitf969d69ba9f952e5bdd38278e25e26a3e4a61a70 (patch)
treeb3530d803df59d726afaabebc6626987dee1ca05 /drivers/isdn/eicon/eicon.h
parenta10ce7ef2066b455d69187643ddf2073bfc4db24 (diff)
Merge with 2.3.27.
Diffstat (limited to 'drivers/isdn/eicon/eicon.h')
-rw-r--r--drivers/isdn/eicon/eicon.h44
1 files changed, 36 insertions, 8 deletions
diff --git a/drivers/isdn/eicon/eicon.h b/drivers/isdn/eicon/eicon.h
index beee023dc..88af10416 100644
--- a/drivers/isdn/eicon/eicon.h
+++ b/drivers/isdn/eicon/eicon.h
@@ -1,8 +1,8 @@
-/* $Id: eicon.h,v 1.11 1999/08/29 17:23:44 armin Exp $
+/* $Id: eicon.h,v 1.17 1999/10/26 21:15:33 armin Exp $
*
* ISDN low-level module for Eicon.Diehl active ISDN-Cards.
*
- * Copyright 1998 by Fritz Elfert (fritz@wuemaus.franken.de)
+ * Copyright 1998 by Fritz Elfert (fritz@isdn4linux.de)
* Copyright 1998,99 by Armin Schindler (mac@melware.de)
* Copyright 1999 Cytronics & Melware (info@melware.de)
*
@@ -21,6 +21,26 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log: eicon.h,v $
+ * Revision 1.17 1999/10/26 21:15:33 armin
+ * using define for checking phone number len to avoid buffer overflow.
+ *
+ * Revision 1.16 1999/10/08 22:09:33 armin
+ * Some fixes of cards interface handling.
+ * Bugfix of NULL pointer occurence.
+ * Changed a few log outputs.
+ *
+ * Revision 1.15 1999/09/26 14:17:53 armin
+ * Improved debug and log via readstat()
+ *
+ * Revision 1.14 1999/09/08 20:17:31 armin
+ * Added microchannel patch from Erik Weber.
+ *
+ * Revision 1.13 1999/09/06 07:29:35 fritz
+ * Changed my mail-address.
+ *
+ * Revision 1.12 1999/09/04 06:20:05 keil
+ * Changes from kernel set_current_state()
+ *
* Revision 1.11 1999/08/29 17:23:44 armin
* New setup compat.
* Bugfix if compile as not module.
@@ -117,6 +137,7 @@
#define MAX_HEADER_LEN 10
+#define MAX_STATUS_BUFFER 150
/* Struct for adding new cards */
typedef struct eicon_cdef {
@@ -224,9 +245,9 @@ typedef struct {
#include <linux/delay.h>
#include <linux/ctype.h>
+#include <linux/isdn.h>
#include <linux/isdnif.h>
-#include <linux/isdn_compat.h>
typedef struct {
__u16 length __attribute__ ((packed)); /* length of data/parameter field */
@@ -237,7 +258,7 @@ typedef struct {
/* Macro for delay via schedule() */
#define SLEEP(j) { \
- current->state = TASK_INTERRUPTIBLE; \
+ set_current_state(TASK_INTERRUPTIBLE); \
schedule_timeout(j); \
}
@@ -472,7 +493,6 @@ typedef struct {
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 */
int queued; /* User-Data Bytes in TX queue */
@@ -489,9 +509,13 @@ typedef struct {
entity e; /* Entity */
char cpn[32]; /* remember cpn */
char oad[32]; /* remember oad */
+ char dsa[32]; /* remember dsa */
+ char osa[32]; /* remember osa */
unsigned char cause[2]; /* Last Cause */
unsigned char si1;
unsigned char si2;
+ unsigned char plan;
+ unsigned char screen;
} eicon_chan;
typedef struct {
@@ -527,7 +551,7 @@ typedef struct {
#define EICON_STATE_LISTEN 15
#define EICON_STATE_WMCONN 16
-#define EICON_MAX_QUEUED 8000 /* 2 * maxbuff */
+#define EICON_MAX_QUEUE 2138
#define EICON_LOCK_TX 0
#define EICON_LOCK_RX 1
@@ -581,6 +605,8 @@ typedef struct eicon_card {
struct sk_buff_head sndq; /* Send-Message queue */
struct sk_buff_head rackq; /* Req-Ack-Message queue */
struct sk_buff_head sackq; /* Data-Ack-Message queue */
+ struct sk_buff_head statq; /* Status-Message queue */
+ int statq_entries;
u_char *ack_msg; /* Ptr to User Data in User skb */
__u16 need_b3ack; /* Flag: Need ACK for current skb */
struct sk_buff *sbuf; /* skb which is currently sent */
@@ -602,8 +628,9 @@ typedef struct eicon_card {
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
+ int mca_slot; /* # of cards MCA slot */
+ int mca_io; /* MCA cards IO port */
+#endif /* CONFIG_MCA */
} eicon_card;
/* -----------------------------------------------------------**
@@ -668,6 +695,7 @@ extern int eicon_info(char *, int , void *);
#endif /* CONFIG_MCA */
extern ulong DebugVar;
+extern void eicon_log(eicon_card * card, int level, const char *fmt, ...);
#endif /* __KERNEL__ */