diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2017-05-22 14:43:40 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2017-05-29 14:56:54 +0200 |
commit | e753911a4e9dad801b0cf0518b1abbe317598dee (patch) | |
tree | 5b6827742b644e3e63e5b81063c7e26a047b1770 /src/mm-modem-helpers.h | |
parent | 7f3b552804d96554a039430d86e8cac6268198b1 (diff) |
helpers: new 'AT+CMER=?' parser
Diffstat (limited to 'src/mm-modem-helpers.h')
-rw-r--r-- | src/mm-modem-helpers.h | 25 |
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, |