diff options
-rw-r--r-- | gatchat/ppp.h | 1 | ||||
-rw-r--r-- | gatchat/ppp_net.c | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gatchat/ppp.h b/gatchat/ppp.h index f8669446..023d779a 100644 --- a/gatchat/ppp.h +++ b/gatchat/ppp.h @@ -108,6 +108,7 @@ void ppp_net_process_packet(struct ppp_net *net, const guint8 *packet); void ppp_net_free(struct ppp_net *net); gboolean ppp_net_set_mtu(struct ppp_net *net, guint16 mtu); void ppp_net_suspend_interface(struct ppp_net *net); +void ppp_net_resume_interface(struct ppp_net *net); /* PPP functions related to main GAtPPP object */ void ppp_debug(GAtPPP *ppp, const char *str); diff --git a/gatchat/ppp_net.c b/gatchat/ppp_net.c index 805ab59f..1c81de07 100644 --- a/gatchat/ppp_net.c +++ b/gatchat/ppp_net.c @@ -222,3 +222,13 @@ void ppp_net_suspend_interface(struct ppp_net *net) g_source_remove(net->watch); net->watch = 0; } + +void ppp_net_resume_interface(struct ppp_net *net) +{ + if (net == NULL || net->channel == NULL) + return; + + net->watch = g_io_add_watch(net->channel, + G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, + ppp_net_callback, net); +} |