diff options
| author | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2002-10-16 01:12:48 -0500 |
|---|---|---|
| committer | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2002-10-16 01:12:48 -0500 |
| commit | 43db5879a4247bbbaff555dab2ea2e0a4f44da80 (patch) | |
| tree | f001ac6060a8430f7c22e61550609d9f968d32ec /include | |
| parent | b449f5b2346efaa7f033dfd3ef8e66909a655794 (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.h | 30 | ||||
| -rw-r--r-- | include/linux/isdn_ppp.h | 6 |
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__ */ |
