diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2020-11-29 22:41:08 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2020-12-21 12:05:57 +0000 |
commit | 5613215db8e5b3d4bbd7d3e6ad937b342ccd4c76 (patch) | |
tree | 13876493ba10a2354db6352f12761c6724d8bf03 /src/mm-modem-helpers-qmi.c | |
parent | 527b4e3232a611bde1cab6e6302924fb65f453a7 (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.c | 51 |
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; + } +} + /*****************************************************************************/ /** |