summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>2002-10-16 01:12:48 -0500
committerKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>2002-10-16 01:12:48 -0500
commit43db5879a4247bbbaff555dab2ea2e0a4f44da80 (patch)
treef001ac6060a8430f7c22e61550609d9f968d32ec /include
parentb449f5b2346efaa7f033dfd3ef8e66909a655794 (diff)
ISDN/PPP: Move state from ipppd to isdn_net_dev/isdn_net_local
A lot of the state in struct ipppd actually belongs to isdn_net_dev or isdn_net_local, making it more easily accessible at a most places, and also removing the ambiguity whether it's link- or bundle-specific.
Diffstat (limited to 'include')
-rw-r--r--include/linux/isdn.h30
-rw-r--r--include/linux/isdn_ppp.h6
2 files changed, 35 insertions, 1 deletions
diff --git a/include/linux/isdn.h b/include/linux/isdn.h
index 95352ab33f37..fcabee098ab1 100644
--- a/include/linux/isdn.h
+++ b/include/linux/isdn.h
@@ -356,6 +356,24 @@ typedef struct isdn_net_local_s {
#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 isdn_ppp_compressor *compressor;
+ struct isdn_ppp_compressor *decompressor;
+ void *comp_stat;
+ void *decomp_stat;
+ unsigned long compflags;
+ struct ippp_ccp_reset *reset;
+
+ 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 */
@@ -415,6 +433,18 @@ 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 pppmru;
+ unsigned int pppseq; /* last seq no seen */
+
+ struct isdn_ppp_compressor *compressor;
+ struct isdn_ppp_compressor *decompressor;
+ void *comp_stat;
+ void *decomp_stat;
+ unsigned long compflags;
+ struct ippp_ccp_reset *reset;
+ 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 faf2b2c630b7..42418a8aaf08 100644
--- a/include/linux/isdn_ppp.h
+++ b/include/linux/isdn_ppp.h
@@ -172,7 +172,7 @@ enum ippp_ccp_reset_states {
struct ippp_ccp_reset_state {
enum ippp_ccp_reset_states state; /* State of this transaction */
- struct ipppd *is; /* Backlink to device stuff */
+ struct ippp_ccp_reset *icr; /* Backlink */
unsigned char id; /* Backlink id index */
unsigned char ta:1; /* The timer is active (flag) */
unsigned char expra:1; /* We expect a ResetAck at all */
@@ -189,6 +189,10 @@ struct ippp_ccp_reset_state {
struct ippp_ccp_reset {
struct ippp_ccp_reset_state *rs[256]; /* One per possible id */
unsigned char lastid; /* Last id allocated by the engine */
+ void (*xmit_reset)(void *priv, int proto, unsigned char code,
+ unsigned char id, unsigned char *data, int len);
+ void (*kick_up)(void *priv);
+ void *priv;
};
#endif /* __KERNEL__ */