aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem-helpers-qmi.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2020-11-29 22:41:08 +0100
committerAleksander Morgado <aleksander@aleksander.es>2020-12-21 12:05:57 +0000
commit5613215db8e5b3d4bbd7d3e6ad937b342ccd4c76 (patch)
tree13876493ba10a2354db6352f12761c6724d8bf03 /src/mm-modem-helpers-qmi.c
parent527b4e3232a611bde1cab6e6302924fb65f453a7 (diff)
broadband-modem-qmi: implement initial EPS bearer settings loading and setting
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;
+ }
+}
+
/*****************************************************************************/
/**