From c15b3578895ed39259771a943c337be40156b982 Mon Sep 17 00:00:00 2001 From: Sylvain Rochet Date: Sun, 13 Sep 2015 18:28:06 +0200 Subject: [PATCH] PPP, merged ppp_link_set_callbacks() into ppp_new() --- src/include/netif/ppp/ppp_impl.h | 6 ++---- src/netif/ppp/ppp.c | 9 +++------ src/netif/ppp/pppoe.c | 3 +-- src/netif/ppp/pppol2tp.c | 3 +-- src/netif/ppp/pppos.c | 3 +-- 5 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/include/netif/ppp/ppp_impl.h b/src/include/netif/ppp/ppp_impl.h index ffbd2459..47423bcb 100644 --- a/src/include/netif/ppp/ppp_impl.h +++ b/src/include/netif/ppp/ppp_impl.h @@ -387,10 +387,8 @@ int ppp_init(void); */ /* Create a new PPP control block */ -ppp_pcb *ppp_new(struct netif *pppif, ppp_link_status_cb_fn link_status_cb, void *ctx_cb); - -/* Set link callback functions */ -void ppp_link_set_callbacks(ppp_pcb *pcb, const struct link_callbacks *callbacks, void *ctx); +ppp_pcb *ppp_new(struct netif *pppif, const struct link_callbacks *callbacks, void *link_ctx_cb, + ppp_link_status_cb_fn link_status_cb, void *ctx_cb); /* Set a PPP PCB to its initial state */ void ppp_clear(ppp_pcb *pcb); diff --git a/src/netif/ppp/ppp.c b/src/netif/ppp/ppp.c index 56dc49ab..29370dd1 100644 --- a/src/netif/ppp/ppp.c +++ b/src/netif/ppp/ppp.c @@ -567,7 +567,7 @@ int ppp_init(void) { * Return a new PPP connection control block pointer * on success or a null pointer on failure. */ -ppp_pcb *ppp_new(struct netif *pppif, ppp_link_status_cb_fn link_status_cb, void *ctx_cb) { +ppp_pcb *ppp_new(struct netif *pppif, const struct link_callbacks *callbacks, void *link_ctx_cb, ppp_link_status_cb_fn link_status_cb, void *ctx_cb) { ppp_pcb *pcb; /* PPP is single-threaded: without a callback, @@ -637,17 +637,14 @@ ppp_pcb *ppp_new(struct netif *pppif, ppp_link_status_cb_fn link_status_cb, void return NULL; } + pcb->link_cb = callbacks; + pcb->link_ctx_cb = link_ctx_cb; pcb->link_status_cb = link_status_cb; pcb->ctx_cb = ctx_cb; new_phase(pcb, PPP_PHASE_DEAD); return pcb; } -void ppp_link_set_callbacks(ppp_pcb *pcb, const struct link_callbacks *callbacks, void *ctx) { - pcb->link_cb = callbacks; - pcb->link_ctx_cb = ctx; -} - /* Set a PPP PCB to its initial state */ void ppp_clear(ppp_pcb *pcb) { const struct protent *protp; diff --git a/src/netif/ppp/pppoe.c b/src/netif/ppp/pppoe.c index 3accda2d..ede52929 100644 --- a/src/netif/ppp/pppoe.c +++ b/src/netif/ppp/pppoe.c @@ -179,12 +179,11 @@ ppp_pcb *pppoe_create(struct netif *pppif, return NULL; } - ppp = ppp_new(pppif, link_status_cb, ctx_cb); + ppp = ppp_new(pppif, &pppoe_callbacks, sc, link_status_cb, ctx_cb); if (ppp == NULL) { memp_free(MEMP_PPPOE_IF, sc); return NULL; } - ppp_link_set_callbacks(ppp, &pppoe_callbacks, sc); memset(sc, 0, sizeof(struct pppoe_softc)); /* changed to real address later */ diff --git a/src/netif/ppp/pppol2tp.c b/src/netif/ppp/pppol2tp.c index 24a237cb..c9defe11 100644 --- a/src/netif/ppp/pppol2tp.c +++ b/src/netif/ppp/pppol2tp.c @@ -129,11 +129,10 @@ ppp_pcb *pppol2tp_create(struct netif *pppif, goto memp_malloc_l2tp_failed; } - ppp = ppp_new(pppif, link_status_cb, ctx_cb); + ppp = ppp_new(pppif, &pppol2tp_callbacks, l2tp, link_status_cb, ctx_cb); if (ppp == NULL) { goto ppp_new_failed; } - ppp_link_set_callbacks(ppp, &pppol2tp_callbacks, l2tp); #if LWIP_IPV6 if (IP_IS_V6_VAL(*ipaddr)) { diff --git a/src/netif/ppp/pppos.c b/src/netif/ppp/pppos.c index 309500f2..95411229 100644 --- a/src/netif/ppp/pppos.c +++ b/src/netif/ppp/pppos.c @@ -178,12 +178,11 @@ ppp_pcb *pppos_create(struct netif *pppif, pppos_output_cb_fn output_cb, return NULL; } - ppp = ppp_new(pppif, link_status_cb, ctx_cb); + ppp = ppp_new(pppif, &pppos_callbacks, pppos, link_status_cb, ctx_cb); if (ppp == NULL) { memp_free(MEMP_PPPOS_PCB, pppos); return NULL; } - ppp_link_set_callbacks(ppp, &pppos_callbacks, pppos); pppos->ppp = ppp; pppos->output_cb = output_cb;