aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2023-12-05 20:05:15 +0100
committerAleksander Morgado <aleksander@aleksander.es>2024-12-01 21:41:10 +0000
commit8cb68e87d85c32458a391353e1119af86c8a9fde (patch)
tree7540e740ab822e944417ef8efc1bd447fd981e36
parent1fb74f266f0eed315f4666a3e686b807b9507398 (diff)
modem-helpers: Add regex to parse CBM out of the serial stream
This will allow us to fetch cell broadcast messages. Signed-off-by: Guido Günther <agx@sigxcpu.org>
-rw-r--r--src/mm-modem-helpers.c10
-rw-r--r--src/mm-modem-helpers.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c
index 2058fe5c..1b07ab41 100644
--- a/src/mm-modem-helpers.c
+++ b/src/mm-modem-helpers.c
@@ -968,6 +968,16 @@ mm_3gpp_cds_regex_get (void)
NULL);
}
+GRegex *
+mm_3gpp_cbm_regex_get (void)
+{
+ /* +CBM: <length><CR><LF><PDU> */
+ return g_regex_new ("\\r\\n\\+CBM:\\s*(\\d+)\\r\\n(.*)\\r\\n",
+ G_REGEX_RAW | G_REGEX_OPTIMIZE,
+ 0,
+ NULL);
+}
+
/*************************************************************************/
/* AT+WS46=? response parser
*
diff --git a/src/mm-modem-helpers.h b/src/mm-modem-helpers.h
index 874a87bd..6c41596e 100644
--- a/src/mm-modem-helpers.h
+++ b/src/mm-modem-helpers.h
@@ -142,6 +142,7 @@ GRegex *mm_3gpp_cgev_regex_get (void);
GRegex *mm_3gpp_cusd_regex_get (void);
GRegex *mm_3gpp_cmti_regex_get (void);
GRegex *mm_3gpp_cds_regex_get (void);
+GRegex *mm_3gpp_cbm_regex_get (void);
/* AT+WS46=? response parser: returns array of MMModemMode values */
GArray *mm_3gpp_parse_ws46_test_response (const gchar *response,