diff options
Diffstat (limited to 'gatchat/gatppp.c')
-rw-r--r-- | gatchat/gatppp.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/gatchat/gatppp.c b/gatchat/gatppp.c index b7c4cd38..c49223ff 100644 --- a/gatchat/gatppp.c +++ b/gatchat/gatppp.c @@ -85,16 +85,6 @@ void ppp_debug(GAtPPP *ppp, const char *str) ppp->debugf(str, ppp->debug_data); } -void ppp_connect_cb(GAtPPP *ppp, GAtPPPConnectStatus success, - const char *ip, const char *dns1, const char *dns2) -{ - if (ppp->connect_cb == NULL) - return; - - ppp->connect_cb(success, ppp_net_get_interface(ppp->net), - ip, dns1, dns2, ppp->connect_data); -} - #define PPPINITFCS16 0xffff /* Initial FCS value */ #define PPPGOODFCS16 0xf0b8 /* Good final FCS value */ @@ -373,8 +363,6 @@ void ppp_enter_phase(GAtPPP *ppp, enum ppp_phase phase) /* Send UP & OPEN events to the IPCP layer */ pppcp_signal_open(ppp->ipcp); pppcp_signal_up(ppp->ipcp); - /* bring network phase up */ - ppp_net_open(ppp->net); break; case PPP_PHASE_TERMINATION: pppcp_signal_close(ppp->lcp); @@ -416,6 +404,20 @@ void ppp_auth_notify(GAtPPP *ppp, gboolean success) ppp_enter_phase(ppp, PPP_PHASE_TERMINATION); } +void ppp_net_up_notify(GAtPPP *ppp, const char *ip, + const char *dns1, const char *dns2) +{ + /* bring network phase up */ + ppp_net_open(ppp->net); + + if (ppp->connect_cb == NULL) + return; + + ppp->connect_cb(G_AT_PPP_CONNECT_SUCCESS, + ppp_net_get_interface(ppp->net), + ip, dns1, dns2, ppp->connect_data); +} + void ppp_set_recv_accm(GAtPPP *ppp, guint32 accm) { ppp->recv_accm = accm; |