diff options
author | Alfonso Sánchez-Beato <alfonso.sanchez-beato@canonical.com> | 2018-09-03 09:01:47 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2018-09-10 10:39:40 +0200 |
commit | bd4a11d6b7e8bd18af1f1a672b820fbb55cc0bd1 (patch) | |
tree | 185b9e5936a2d48a56a5a55bda5079d4e5511e08 | |
parent | 47ed19d5be68f139d4fbb00c997cd2805488ace7 (diff) | |
download | ModemManager-bd4a11d6b7e8bd18af1f1a672b820fbb55cc0bd1.tar.gz |
modem-helpers: add flow control udev tag parser
Add function for parsing the content of the udev tag
ID_MM_TTY_FLOW_CONTROL.
-rw-r--r-- | src/mm-modem-helpers.c | 19 | ||||
-rw-r--r-- | src/mm-modem-helpers.h | 2 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c index c25867120..e7d4ee766 100644 --- a/src/mm-modem-helpers.c +++ b/src/mm-modem-helpers.c @@ -646,6 +646,25 @@ out: return mask; } +MMFlowControl +mm_parse_flow_control_tag (const gchar *flow_control_tag) +{ + MMFlowControl flow_control; + + if (g_strcmp0 ("xonxoff", flow_control_tag) == 0) + flow_control = MM_FLOW_CONTROL_XON_XOFF; + else if (g_strcmp0 ("rtscts", flow_control_tag) == 0) + flow_control = MM_FLOW_CONTROL_RTS_CTS; + else if (g_strcmp0 ("none", flow_control_tag) == 0) + flow_control = MM_FLOW_CONTROL_NONE; + else { + mm_warn ("Cannot parse flow control tag: '%s', setting as unknown", flow_control_tag); + flow_control = MM_FLOW_CONTROL_UNKNOWN; + } + + return flow_control; +} + /*************************************************************************/ /* +CREG: <stat> (GSM 07.07 CREG=1 unsolicited) */ diff --git a/src/mm-modem-helpers.h b/src/mm-modem-helpers.h index 54dcce731..ed6057753 100644 --- a/src/mm-modem-helpers.h +++ b/src/mm-modem-helpers.h @@ -112,6 +112,8 @@ typedef enum { /*< underscore_name=mm_flow_control >*/ MMFlowControl mm_parse_ifc_test_response (const gchar *response, GError **error); +MMFlowControl mm_parse_flow_control_tag (const gchar *flow_control); + /*****************************************************************************/ /* 3GPP specific helpers and utilities */ /*****************************************************************************/ |