aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem-helpers.h
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2017-05-22 14:43:40 +0200
committerAleksander Morgado <aleksander@aleksander.es>2017-05-29 14:56:54 +0200
commite753911a4e9dad801b0cf0518b1abbe317598dee (patch)
tree5b6827742b644e3e63e5b81063c7e26a047b1770 /src/mm-modem-helpers.h
parent7f3b552804d96554a039430d86e8cac6268198b1 (diff)
helpers: new 'AT+CMER=?' parser
Diffstat (limited to 'src/mm-modem-helpers.h')
-rw-r--r--src/mm-modem-helpers.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mm-modem-helpers.h b/src/mm-modem-helpers.h
index 297e15df..ab566539 100644
--- a/src/mm-modem-helpers.h
+++ b/src/mm-modem-helpers.h
@@ -57,6 +57,7 @@ GArray *mm_parse_uint_list (const gchar *str,
GError **error);
guint mm_count_bits_set (gulong number);
+guint mm_find_bit_set (gulong number);
gchar *mm_create_device_identifier (guint vid,
guint pid,
@@ -228,6 +229,30 @@ gboolean mm_3gpp_parse_clck_write_response (const gchar *reply,
GStrv mm_3gpp_parse_cnum_exec_response (const gchar *reply,
GError **error);
+/* AT+CMER=? (Mobile Equipment Event Reporting) response parser */
+typedef enum { /*< underscore_name=mm_3gpp_cmer_mode >*/
+ MM_3GPP_CMER_MODE_NONE = 0,
+ MM_3GPP_CMER_MODE_DISCARD_URCS = 1 << 0,
+ MM_3GPP_CMER_MODE_DISCARD_URCS_IF_LINK_RESERVED = 1 << 1,
+ MM_3GPP_CMER_MODE_BUFFER_URCS_IF_LINK_RESERVED = 1 << 2,
+ MM_3GPP_CMER_MODE_FORWARD_URCS = 1 << 3,
+} MM3gppCmerMode;
+typedef enum { /*< underscore_name=mm_3gpp_cmer_ind >*/
+ MM_3GPP_CMER_IND_NONE = 0,
+ /* no indicator event reporting */
+ MM_3GPP_CMER_IND_DISABLE = 1 << 0,
+ /* Only indicator events that are not caused by +CIND */
+ MM_3GPP_CMER_IND_ENABLE_NOT_CAUSED_BY_CIND = 1 << 1,
+ /* All indicator events */
+ MM_3GPP_CMER_IND_ENABLE_ALL = 1 << 2,
+} MM3gppCmerInd;
+gchar *mm_3gpp_build_cmer_set_request (MM3gppCmerMode mode,
+ MM3gppCmerInd ind);
+gboolean mm_3gpp_parse_cmer_test_response (const gchar *reply,
+ MM3gppCmerMode *supported_modes,
+ MM3gppCmerInd *supported_inds,
+ GError **error);
+
/* AT+CIND=? (Supported indicators) response parser */
typedef struct MM3gppCindResponse MM3gppCindResponse;
GHashTable *mm_3gpp_parse_cind_test_response (const gchar *reply,