summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>2002-10-16 01:48:30 -0500
committerKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>2002-10-16 01:48:30 -0500
commitbf5939d1679010f00637864d93abc96caafcd264 (patch)
tree629718638bfe53566e2f38f1aca7b9bf7d6d6942 /include
parent9beb225e0f1616a6cea6b0086a9ff94a09965c6c (diff)
parentcb35e72a1b0cb37f26579f0531aa4643f2cff40f (diff)
Merge tp1.ruhr-uni-bochum.de:/home/kai/src/kernel/v2.5/linux-2.5
into tp1.ruhr-uni-bochum.de:/home/kai/src/kernel/v2.5/linux-2.5.isdn
Diffstat (limited to 'include')
-rw-r--r--include/linux/isdn.h39
-rw-r--r--include/linux/isdn_ppp.h46
2 files changed, 34 insertions, 51 deletions
diff --git a/include/linux/isdn.h b/include/linux/isdn.h
index 8203314e2cb7..0d0ce25b333e 100644
--- a/include/linux/isdn.h
+++ b/include/linux/isdn.h
@@ -338,16 +338,35 @@ typedef struct isdn_net_local_s {
/* phone[0] = Incoming Numbers */
/* phone[1] = Outgoing Numbers */
- struct list_head slaves; /* list of all bundled channels */
- struct list_head online; /* list of all bundled channels,
- which are currently online */
- spinlock_t online_lock; /* lock to protect online list */
+ struct list_head slaves; /* list of all bundled channels
+ protected by serializing config
+ ioctls / no change allowed when
+ interface is running */
+ struct list_head online; /* list of all bundled channels
+ which can be used for actual
+ data (IP) transfer
+ protected by xmit_lock */
+
+ spinlock_t xmit_lock; /* used to protect the xmit path of
+ a net_device, including all
+ associated channels's frame_cnt */
struct list_head running_devs; /* member of global running_devs */
atomic_t refcnt; /* references held by ISDN code */
#ifdef CONFIG_ISDN_X25
struct concap_device_ops *dops; /* callbacks used by encapsulator */
#endif
+#ifdef CONFIG_ISDN_PPP
+ unsigned int mpppcfg;
+ long mp_seqno;
+ struct ippp_ccp *ccp;
+ unsigned long debug;
+#ifdef CONFIG_ISDN_PPP_VJ
+ unsigned char *cbuf;
+ struct slcompress *slcomp;
+#endif
+#endif
+
/* use an own struct for that in later versions */
ulong cisco_myseq; /* Local keepalive seq. for Cisco */
ulong cisco_mineseen; /* returned keepalive seq. from remote */
@@ -391,14 +410,11 @@ typedef struct isdn_net_dev_s {
int chargeint; /* Interval between charge-infos */
int pppbind; /* ippp device for bindings */
- int ppp_slot; /* PPPD device slot number */
+ struct ipppd *ipppd; /* /dev/ipppX which controls us */
- spinlock_t xmit_lock; /* used to protect the xmit path of */
- /* a particular channel (including */
- /* the frame_cnt */
struct sk_buff_head super_tx_queue; /* List of supervisory frames to */
/* be transmitted asap */
- atomic_t frame_cnt; /* number of frames currently */
+ int frame_cnt; /* number of frames currently */
/* queued in HL driver */
struct tasklet_struct tlet;
@@ -410,6 +426,11 @@ typedef struct isdn_net_dev_s {
char name[10]; /* Name of device */
struct list_head global_list; /* global list of all isdn_net_devs */
#ifdef CONFIG_ISDN_PPP
+ unsigned int pppcfg;
+ unsigned int pppseq; /* last seq no seen */
+ struct ippp_ccp *ccp;
+ unsigned long debug;
+
ippp_bundle * pb; /* pointer to the common bundle structure
* with the per-bundle data */
#endif
diff --git a/include/linux/isdn_ppp.h b/include/linux/isdn_ppp.h
index 68353a39b98c..ec6016c37421 100644
--- a/include/linux/isdn_ppp.h
+++ b/include/linux/isdn_ppp.h
@@ -8,7 +8,6 @@
#ifndef _LINUX_ISDN_PPP_H
#define _LINUX_ISDN_PPP_H
-
#define CALLTYPE_INCOMING 0x1
#define CALLTYPE_OUTGOING 0x2
#define CALLTYPE_CALLBACK 0x4
@@ -39,15 +38,6 @@ struct pppcallinfo
#define SC_OUT_SHORT_SEQ 0x00000800
#define SC_IN_SHORT_SEQ 0x00004000
-#define SC_DECOMP_ON 0x01
-#define SC_COMP_ON 0x02
-#define SC_DECOMP_DISCARD 0x04
-#define SC_COMP_DISCARD 0x08
-#define SC_LINK_DECOMP_ON 0x10
-#define SC_LINK_COMP_ON 0x20
-#define SC_LINK_DECOMP_DISCARD 0x40
-#define SC_LINK_COMP_DISCARD 0x80
-
#define ISDN_PPP_COMP_MAX_OPTIONS 16
#define IPPP_COMP_FLAG_XMIT 0x1
@@ -64,7 +54,8 @@ struct isdn_ppp_comp_data {
#include <linux/config.h>
-
+#include <linux/skbuff.h>
+#include <linux/ppp_defs.h>
#define DECOMP_ERR_NOMEM (-10)
@@ -172,8 +163,8 @@ enum ippp_ccp_reset_states {
struct ippp_ccp_reset_state {
enum ippp_ccp_reset_states state; /* State of this transaction */
- struct ippp_struct *is; /* Backlink to device stuff */
- unsigned char id; /* Backlink id index */
+ struct ippp_ccp *ccp; /* Backlink */
+ unsigned char id; /* id index */
unsigned char ta:1; /* The timer is active (flag) */
unsigned char expra:1; /* We expect a ResetAck at all */
int dlen; /* Databytes stored in data */
@@ -191,34 +182,5 @@ struct ippp_ccp_reset {
unsigned char lastid; /* Last id allocated by the engine */
};
-struct ippp_struct {
- struct ippp_struct *next_link;
- int state;
- struct sk_buff_head rq;
- wait_queue_head_t wq;
- struct task_struct *tk;
- unsigned int mpppcfg;
- unsigned int pppcfg;
- unsigned int mru;
- unsigned int mpmru;
- unsigned int mpmtu;
- unsigned int maxcid;
- struct isdn_net_dev_s *idev;
- int unit;
- int minor;
- unsigned int last_link_seqno;
- long mp_seqno;
-#ifdef CONFIG_ISDN_PPP_VJ
- unsigned char *cbuf;
- struct slcompress *slcomp;
-#endif
- unsigned long debug;
- struct isdn_ppp_compressor *compressor,*decompressor;
- struct isdn_ppp_compressor *link_compressor,*link_decompressor;
- void *decomp_stat,*comp_stat,*link_decomp_stat,*link_comp_stat;
- struct ippp_ccp_reset *reset; /* Allocated on demand, may never be needed */
- unsigned long compflags;
-};
-
#endif /* __KERNEL__ */
#endif /* _LINUX_ISDN_PPP_H */