aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem-helpers-qmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-modem-helpers-qmi.c')
-rw-r--r--src/mm-modem-helpers-qmi.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/mm-modem-helpers-qmi.c b/src/mm-modem-helpers-qmi.c
index e7f93914..8d0e4b88 100644
--- a/src/mm-modem-helpers-qmi.c
+++ b/src/mm-modem-helpers-qmi.c
@@ -1472,6 +1472,19 @@ mm_bearer_allowed_auth_to_qmi_authentication (MMBearerAllowedAuth auth)
return out;
}
+MMBearerAllowedAuth
+mm_bearer_allowed_auth_from_qmi_authentication (QmiWdsAuthentication auth)
+{
+ MMBearerAllowedAuth out = 0;
+
+ if (auth & QMI_WDS_AUTHENTICATION_PAP)
+ out |= MM_BEARER_ALLOWED_AUTH_PAP;
+ if (auth & QMI_WDS_AUTHENTICATION_CHAP)
+ out |= MM_BEARER_ALLOWED_AUTH_CHAP;
+
+ return out;
+}
+
MMBearerIpFamily
mm_bearer_ip_family_from_qmi_ip_support_type (QmiWdsIpSupportType ip_support_type)
{
@@ -1487,6 +1500,44 @@ mm_bearer_ip_family_from_qmi_ip_support_type (QmiWdsIpSupportType ip_support_typ
}
}
+MMBearerIpFamily
+mm_bearer_ip_family_from_qmi_pdp_type (QmiWdsPdpType pdp_type)
+{
+ switch (pdp_type) {
+ case QMI_WDS_PDP_TYPE_IPV4:
+ return MM_BEARER_IP_FAMILY_IPV4;
+ case QMI_WDS_PDP_TYPE_IPV6:
+ return MM_BEARER_IP_FAMILY_IPV6;
+ case QMI_WDS_PDP_TYPE_IPV4_OR_IPV6:
+ return MM_BEARER_IP_FAMILY_IPV4V6;
+ case QMI_WDS_PDP_TYPE_PPP:
+ default:
+ return MM_BEARER_IP_FAMILY_NONE;
+ }
+}
+
+gboolean
+mm_bearer_ip_family_to_qmi_pdp_type (MMBearerIpFamily ip_family,
+ QmiWdsPdpType *out_pdp_type)
+{
+ switch (ip_family) {
+ case MM_BEARER_IP_FAMILY_IPV4:
+ *out_pdp_type = QMI_WDS_PDP_TYPE_IPV4;
+ return TRUE;
+ case MM_BEARER_IP_FAMILY_IPV6:
+ *out_pdp_type = QMI_WDS_PDP_TYPE_IPV6;
+ return TRUE;
+ case MM_BEARER_IP_FAMILY_IPV4V6:
+ *out_pdp_type = QMI_WDS_PDP_TYPE_IPV4_OR_IPV6;
+ return TRUE;
+ case MM_BEARER_IP_FAMILY_NONE:
+ case MM_BEARER_IP_FAMILY_ANY:
+ default:
+ /* there is no valid conversion, so just return FALSE to indicate it */
+ return FALSE;
+ }
+}
+
/*****************************************************************************/
/**