diff options
author | Kozlov Dmitry <dima@server> | 2010-08-17 17:29:46 +0400 |
---|---|---|
committer | Kozlov Dmitry <dima@server> | 2010-08-17 17:29:46 +0400 |
commit | 760d8427f133df486a145e6e7ac7610caf2356fc (patch) | |
tree | ebd109efc8882e56165e05f050dd30c9313bb9c7 /accel-pptpd/ppp.h | |
parent | ab418b16bf2c9a57dbb7c18141af2eb283c44447 (diff) | |
download | accel-ppp-760d8427f133df486a145e6e7ac7610caf2356fc.tar.gz accel-ppp-760d8427f133df486a145e6e7ac7610caf2356fc.zip |
reworked/rewrited lcp handling code to become more abstract
Diffstat (limited to 'accel-pptpd/ppp.h')
-rw-r--r-- | accel-pptpd/ppp.h | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/accel-pptpd/ppp.h b/accel-pptpd/ppp.h index 4a4c70e9..83ad8edb 100644 --- a/accel-pptpd/ppp.h +++ b/accel-pptpd/ppp.h @@ -2,7 +2,7 @@ #define PPP_H #include <sys/types.h> -#include "ppp_fsm.h" +#include "list.h" /* * Packet header = Code, id, length. @@ -46,6 +46,10 @@ #define PPP_LAYER_CCP 3 #define PPP_LAYER_IPCP 4 +#define AUTH_MAX 3 + +struct ppp_lcp_t; + struct ppp_t { struct triton_md_handler_t *h; @@ -77,8 +81,7 @@ struct ppp_t struct list_head handlers; int cur_layer; - struct ppp_layer_t *lcp_layer; - void *auth_pd; + struct ppp_lcp_t *lcp; }; struct ppp_handler_t @@ -94,17 +97,30 @@ int ppp_send(struct ppp_t *ppp, void *data, int size); void ppp_init(void); -struct ppp_layer_t* ppp_lcp_init(struct ppp_t *ppp); +struct ppp_fsm_t* ppp_lcp_init(struct ppp_t *ppp); void ppp_layer_started(struct ppp_t *ppp); void ppp_terminate(struct ppp_t *ppp); +void ppp_register_handler(struct ppp_t*,struct ppp_handler_t*); +void ppp_unregister_handler(struct ppp_t*,struct ppp_handler_t*); + +void lcp_start(struct ppp_t*); +void lcp_finish(struct ppp_t*); +int auth_start(struct ppp_t*); +void auth_finish(struct ppp_t*); +int ccp_start(struct ppp_t*); +void ccp_finish(struct ppp_t*); +int ipcp_start(struct ppp_t*); +void ipcp_finish(struct ppp_t*); + +#define __init __attribute__((constructor)) + #undef offsetof #ifdef __compiler_offsetof #define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER) #else #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) #endif -#endif /* __KERNEL__ */ #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ |