summaryrefslogtreecommitdiff
path: root/plugins/huawei/mm-modem-helpers-huawei.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/huawei/mm-modem-helpers-huawei.h')
-rw-r--r--plugins/huawei/mm-modem-helpers-huawei.h71
1 files changed, 66 insertions, 5 deletions
diff --git a/plugins/huawei/mm-modem-helpers-huawei.h b/plugins/huawei/mm-modem-helpers-huawei.h
index e225e908..3d1a4b22 100644
--- a/plugins/huawei/mm-modem-helpers-huawei.h
+++ b/plugins/huawei/mm-modem-helpers-huawei.h
@@ -17,7 +17,9 @@
#ifndef MM_MODEM_HELPERS_HUAWEI_H
#define MM_MODEM_HELPERS_HUAWEI_H
-#include "glib.h"
+#include <ModemManager.h>
+#define _LIBMM_INSIDE_MM
+#include <libmm-glib.h>
/*****************************************************************************/
/* ^NDISSTAT / ^NDISSTATQRY response parser */
@@ -29,6 +31,16 @@ gboolean mm_huawei_parse_ndisstatqry_response (const gchar *response,
GError **error);
/*****************************************************************************/
+/* ^DHCP response parser */
+gboolean mm_huawei_parse_dhcp_response (const char *reply,
+ guint *out_address,
+ guint *out_prefix,
+ guint *out_gateway,
+ guint *out_dns1,
+ guint *out_dns2,
+ GError **error);
+
+/*****************************************************************************/
/* ^SYSINFO response parser */
gboolean mm_huawei_parse_sysinfo_response (const char *reply,
guint *out_srv_status,
@@ -60,8 +72,9 @@ typedef struct {
MMModemMode preferred;
} MMHuaweiPrefmodeCombination;
-GArray *mm_huawei_parse_prefmode_test (const gchar *response,
- GError **error);
+GArray *mm_huawei_parse_prefmode_test (const gchar *response,
+ gpointer log_object,
+ GError **error);
/*****************************************************************************/
/* ^PREFMODE response parser */
@@ -84,8 +97,9 @@ typedef struct {
MMModemMode preferred;
} MMHuaweiSyscfgCombination;
-GArray *mm_huawei_parse_syscfg_test (const gchar *response,
- GError **error);
+GArray *mm_huawei_parse_syscfg_test (const gchar *response,
+ gpointer log_object,
+ GError **error);
/*****************************************************************************/
/* ^SYSCFG response parser */
@@ -129,4 +143,51 @@ gboolean mm_huawei_parse_time_response (const gchar *response,
MMNetworkTimezone **tzp,
GError **error);
+/*****************************************************************************/
+/* ^HCSQ response parser */
+
+gboolean mm_huawei_parse_hcsq_response (const gchar *response,
+ MMModemAccessTechnology *out_act,
+ guint *out_value1,
+ guint *out_value2,
+ guint *out_value3,
+ guint *out_value4,
+ guint *out_value5,
+ GError **error);
+
+/*****************************************************************************/
+/* ^CVOICE response parser */
+
+gboolean mm_huawei_parse_cvoice_response (const gchar *response,
+ guint *hz,
+ guint *bits,
+ GError **error);
+
+/*****************************************************************************/
+/* ^GETPORTMODE response parser */
+
+typedef enum { /*< underscore_name=mm_huawei_port_mode >*/
+ MM_HUAWEI_PORT_MODE_NONE,
+ MM_HUAWEI_PORT_MODE_PCUI,
+ MM_HUAWEI_PORT_MODE_MODEM,
+ MM_HUAWEI_PORT_MODE_DIAG,
+ MM_HUAWEI_PORT_MODE_GPS,
+ MM_HUAWEI_PORT_MODE_NET,
+ MM_HUAWEI_PORT_MODE_CDROM,
+ MM_HUAWEI_PORT_MODE_SD,
+ MM_HUAWEI_PORT_MODE_BT,
+ MM_HUAWEI_PORT_MODE_SHELL,
+} MMHuaweiPortMode;
+
+#define MM_HUAWEI_PORT_MODE_IS_SERIAL(mode) \
+ (mode == MM_HUAWEI_PORT_MODE_PCUI || \
+ mode == MM_HUAWEI_PORT_MODE_MODEM || \
+ mode == MM_HUAWEI_PORT_MODE_DIAG || \
+ mode == MM_HUAWEI_PORT_MODE_GPS || \
+ mode == MM_HUAWEI_PORT_MODE_SHELL)
+
+GArray *mm_huawei_parse_getportmode_response (const gchar *response,
+ gpointer log_object,
+ GError **error);
+
#endif /* MM_MODEM_HELPERS_HUAWEI_H */