summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gatchat/ppp.h1
-rw-r--r--gatchat/ppp_net.c10
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);
+}