diff options
author | Kozlov Dmitry <dima@server> | 2010-08-11 17:06:20 +0400 |
---|---|---|
committer | Kozlov Dmitry <dima@server> | 2010-08-11 17:06:20 +0400 |
commit | ab418b16bf2c9a57dbb7c18141af2eb283c44447 (patch) | |
tree | 360039811b0fa2fea82e285a00626c4d649f429c /accel-pptpd/ppp_lcp.c | |
parent | 5286c9d19031c93a785a4d8729abf9e6a1710f98 (diff) | |
download | accel-ppp-ab418b16bf2c9a57dbb7c18141af2eb283c44447.tar.gz accel-ppp-ab418b16bf2c9a57dbb7c18141af2eb283c44447.zip |
nothing interesting, just writing code ...
Diffstat (limited to 'accel-pptpd/ppp_lcp.c')
-rw-r--r-- | accel-pptpd/ppp_lcp.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/accel-pptpd/ppp_lcp.c b/accel-pptpd/ppp_lcp.c index 50ad444f..2d1dee0f 100644 --- a/accel-pptpd/ppp_lcp.c +++ b/accel-pptpd/ppp_lcp.c @@ -20,13 +20,15 @@ char* auth="pap,eap,mschap-v2"; char* mppe="allow,disabled"; char* pwdb="radius"; +static void lcp_layer_up(struct ppp_layer_t*); +static void lcp_layer_down(struct ppp_layer_t*); static void send_conf_req(struct ppp_layer_t*); static void send_conf_ack(struct ppp_layer_t*); static void send_conf_nak(struct ppp_layer_t*); static void send_conf_rej(struct ppp_layer_t*); static void lcp_recv(struct ppp_layer_t*); -struct ppp_layer_t* ppp_lcp_init(struct ppp_t *ppp) +void lcp_start(struct ppp_t *ppp) { struct ppp_layer_t *layer=malloc(sizeof(*layer)); memset(layer,0,sizeof(*layer)); @@ -37,16 +39,26 @@ struct ppp_layer_t* ppp_lcp_init(struct ppp_t *ppp) layer->ppp=ppp; ppp_fsm_init(layer); + layer->layer_started=lcp_layer_started; layer->send_conf_req=send_conf_req; layer->send_conf_ack=send_conf_ack; layer->send_conf_nak=send_conf_nak; layer->send_conf_rej=send_conf_rej; ppp_fsm_init(layer); + ppp_fsm_lower_up(layer); + ppp_fsm_open(layer); ppp_register_handler(&layer->h); +} - return layer; +static void lcp_layer_up(struct ppp_layer_t *l) +{ + ppp_layer_started(l->ppp); +} +static void lcp_layer_down(struct ppp_layer_t *l) +{ + ppp_terminate(l->ppp); } static void send_conf_req(struct ppp_layer_t*l) |