diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-01-29 01:41:54 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-01-29 01:41:54 +0000 |
commit | f969d69ba9f952e5bdd38278e25e26a3e4a61a70 (patch) | |
tree | b3530d803df59d726afaabebc6626987dee1ca05 /drivers/isdn/eicon/eicon.h | |
parent | a10ce7ef2066b455d69187643ddf2073bfc4db24 (diff) |
Merge with 2.3.27.
Diffstat (limited to 'drivers/isdn/eicon/eicon.h')
-rw-r--r-- | drivers/isdn/eicon/eicon.h | 44 |
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__ */ |