From 43db5879a4247bbbaff555dab2ea2e0a4f44da80 Mon Sep 17 00:00:00 2001 From: Kai Germaschewski Date: Wed, 16 Oct 2002 01:12:48 -0500 Subject: 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. --- include/linux/isdn.h | 30 ++++++++++++++++++++++++++++++ include/linux/isdn_ppp.h | 6 +++++- 2 files changed, 35 insertions(+), 1 deletion(-) (limited to 'include') 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__ */ -- cgit v1.2.3