summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gatchat/gathdlc.c9
-rw-r--r--gatchat/gathdlc.h2
2 files changed, 11 insertions, 0 deletions
diff --git a/gatchat/gathdlc.c b/gatchat/gathdlc.c
index e3ab7ec9..6b1f3432 100644
--- a/gatchat/gathdlc.c
+++ b/gatchat/gathdlc.c
@@ -610,3 +610,12 @@ void g_at_hdlc_set_no_carrier_detect(GAtHDLC *hdlc, gboolean detect)
hdlc->no_carrier_detect = detect;
}
+
+void g_at_hdlc_suspend(GAtHDLC *hdlc)
+{
+ if (hdlc == NULL)
+ return;
+
+ g_at_io_set_write_handler(hdlc->io, NULL, NULL);
+ g_at_io_set_read_handler(hdlc->io, NULL, NULL);
+}
diff --git a/gatchat/gathdlc.h b/gatchat/gathdlc.h
index 158f27f2..556e3838 100644
--- a/gatchat/gathdlc.h
+++ b/gatchat/gathdlc.h
@@ -60,6 +60,8 @@ void g_at_hdlc_set_no_carrier_detect(GAtHDLC *hdlc, gboolean detect);
void g_at_hdlc_set_suspend_function(GAtHDLC *hdlc, GAtSuspendFunc func,
gpointer user_data);
+void g_at_hdlc_suspend(GAtHDLC *hdlc);
+
#ifdef __cplusplus
}
#endif