summaryrefslogtreecommitdiff
path: root/accel-pptpd/ppp.h
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2010-08-17 17:29:46 +0400
committerKozlov Dmitry <dima@server>2010-08-17 17:29:46 +0400
commit760d8427f133df486a145e6e7ac7610caf2356fc (patch)
treeebd109efc8882e56165e05f050dd30c9313bb9c7 /accel-pptpd/ppp.h
parentab418b16bf2c9a57dbb7c18141af2eb283c44447 (diff)
downloadaccel-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.h26
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); \