atmodem/atutil: at_util_gprs_proto_to_pdp_type
PATCH 1/2 atmodem/atutil: at_util_gprs_proto_to_pdp_type
This function converts the ofono enum ofono_gprs_auth_method into the value of the 3GPP 27.007 to pass to the AT command
--- drivers/atmodem/atutil.c | 16 ++++++++++++++++ drivers/atmodem/atutil.h | 3 +++ 2 files changed, 19 insertions(+)
drivers/atmodem/atutil.c +16 -0
@@ -3,6 +3,7 @@* oFono - Open Source Telephony * * Copyright (C) 2008-2011 Intel Corporation. All rights reserved. +* Copyright (C) 2018 Gemalto M2M * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as
@@ -27,6 +28,7 @@#include <gatchat.h> #include <string.h> #include <stdlib.h> +#include <stdio.h> #include <errno.h> #define OFONO_API_SUBJECT_TO_CHANGE
@@ -654,3 +656,17 @@ int at_util_get_ipv4_address_and_netmask(const char *addrnetmask,return ret; } + +int at_util_auth_type_from_method (enum ofono_gprs_auth_method auth_method) +{ +switch (auth_method) { +case OFONO_GPRS_AUTH_METHOD_PAP : +return 1 ; +case OFONO_GPRS_AUTH_METHOD_CHAP : +return 2 ; +case OFONO_GPRS_AUTH_METHOD_NONE : +return 0 ; + } + +return 0 ; +}
drivers/atmodem/atutil.h +3 -0
@@ -3,6 +3,7 @@* oFono - Open Source Telephony * * Copyright (C) 2008-2011 Intel Corporation. All rights reserved. +* Copyright (C) 2018 Gemalto M2M * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as
@@ -86,6 +87,8 @@ void at_util_sim_state_query_free(struct at_util_sim_state_query *req);int at_util_get_ipv4_address_and_netmask (const char *addrnetmask,char *address,char *netmask); +int at_util_auth_type_from_method (enum ofono_gprs_auth_method auth_method); +struct cb_data {void *cb;void *data;
Signature · 1 line
2.17.1
PATCH 2/2 atmodem/atutil: at_util_get_cgdcont_command
The function at_util_get_cgdcont_command computes the AT+CGDCONT string, as per 3GPP 27.007.
It uses a second function, at_util_gprs_proto_to_pdp_type, that returns the pdp_type string for the command
--- drivers/atmodem/atutil.c | 27 +++++++++++++++++++++++++++ drivers/atmodem/atutil.h | 13 +++++++++++++ 2 files changed, 40 insertions(+)
drivers/atmodem/atutil.c +27 -0
@@ -670,3 +670,30 @@ int at_util_auth_type_from_method(enum ofono_gprs_auth_method auth_method)return 0 ; } + +const char *at_util_gprs_proto_to_pdp_type (enum ofono_gprs_proto proto) +{ +switch (proto) { +case OFONO_GPRS_PROTO_IPV6 : +return "IPV6" ; +case OFONO_GPRS_PROTO_IPV4V6 : +return "IPV4V6" ; +break ; +case OFONO_GPRS_PROTO_IP : +return "IP" ; + } + +return NULL ; +} + +char *at_util_get_cgdcont_command (guint cid,enum ofono_gprs_proto proto, +const char *apn) +{ +const char *pdp_type =at_util_gprs_proto_to_pdp_type (proto); + +if (!apn) +return g_strdup_printf ("AT+CGDCONT=%u" , cid); + +return g_strdup_printf ("AT+CGDCONT=%u,\"%s\",\"%s\"" , cid, pdp_type, + apn); +}
drivers/atmodem/atutil.h +13 -0
@@ -89,6 +89,19 @@ int at_util_get_ipv4_address_and_netmask(const char *addrnetmask,int at_util_auth_type_from_method (enum ofono_gprs_auth_method auth_method); +const char *at_util_gprs_proto_to_pdp_type (enum ofono_gprs_proto proto); + +/* +* at_util_get_cgdcont_command +* if the apn pointer is NULL, the context will be removed: the resulting +* string will be like: AT+CGDCONT=7 +* but if apn pointer is not NULL and the string is empty, then +* this function will create a normal context with empty apn, like: +* AT+CGDCONT=4,"IPV6","" +*/ +char *at_util_get_cgdcont_command (guint cid,enum ofono_gprs_proto proto, +const char *apn); +struct cb_data {void *cb;void *data;
Signature · 1 line
2.17.1
Denis Kenzior
AppliedRe: [PATCH 2/2] atmodem/atutil: at_util_get_cgdcont_command
Hi Giacinto,
Quoted 9 lines · Giacinto Cifelli
The function
at_util_get_cgdcont_commandcomputes the AT+CGDCONT string, as per 3GPP 27.007.
It uses a second function,at_util_gprs_proto_to_pdp_type, that returns thepdp_typestring for the command--- drivers/atmodem/atutil.c | 27 +++++++++++++++++++++++++++ drivers/atmodem/atutil.h | 13 +++++++++++++ 2 files changed, 40 insertions(+)
Applied, thanks.
Regards,
-Denis
Denis Kenzior
AppliedHi Giacinto,
Quoted 7 lines · Giacinto Cifelli
This function converts the ofono enum
ofono_gprs_auth_methodinto the value of the 3GPP 27.007 to pass to the AT command--- drivers/atmodem/atutil.c | 16 ++++++++++++++++ drivers/atmodem/atutil.h | 3 +++ 2 files changed, 19 insertions(+)
Your commit header does not match the patch contents or description. You might want to slow down a bit.
Anyway, I renamed this to at_util_gprs_auth_method_to_auth_proto to match 3GPP naming & the naming of the pdp_type conversion function in the next patch. And fixed up the commit description / header.
Applied, thanks.
Regards,
-Denis
Hi Denis,
Quoted 12 lines · Denis Kenzior
Hi Giacinto,
Quoted 7 lines · Giacinto Cifelli
This function converts the ofono enum
ofono_gprs_auth_methodinto the value of the 3GPP 27.007 to pass to the AT command--- drivers/atmodem/atutil.c | 16 ++++++++++++++++ drivers/atmodem/atutil.h | 3 +++ 2 files changed, 19 insertions(+)
Quoted 2 lines
Your commit header does not match the patch contents or description. You might want to slow down a bit.
yes, I noticed that too late. Thank you for taking it anyway.
Quoted 9 lines
Anyway, I renamed this to
at_util_gprs_auth_method_to_auth_prototo match 3GPP naming & the naming of thepdp_typeconversion function in the next patch. And fixed up the commit description / header.Applied, thanks.
Regards,
-Denis
Regards,
Giacinto