NET_PDP_TYPE_UMTS,
} net_pdp_type_t;
+/**
+ * @enum net_pdn_type_e
+ * This enumeration defines the pdn type.
+ */
+typedef enum
+{
+ NET_PDN_TYPE_UNKNOWN = 0x00,
+ NET_PDN_TYPE_IPV4 = 0x02,
+ NET_PDN_TYPE_IPV6 = 0x05,
+ NET_PDN_TYPE_IPV4_IPV6 = 0x06,
+} net_pdn_type_e;
+
/**
* @enum net_state_type_t
* This enumeration defines the service state type.
{
/** Specifies a protocol type */
net_pdp_type_t ProtocolType;
+ /** Specifies a pdn type */
+ net_pdn_type_e PdnType;
+ /** Specifies a roam pdn type */
+ net_pdn_type_e RoamPdnType;
/** Specifies a service type(Internet, MMS, WAP, etc...) */
net_service_type_t ServiceType;
/** Network Access Point Name */
Name: libnet-client
Summary: Network Client library (Shared library)
-Version: 1.1.49
+Version: 1.1.50
Release: 1
Group: System/Network
License: Flora-1.1
char ProfileName[NET_PROFILE_NAME_LEN_MAX+1];
/** Service type of this profile context */
net_service_type_t ServiceType;
+ /** Pdn type of this profile context */
+ net_pdn_type_e PdnType;
+ /** Roam Pdn type of this profile context */
+ net_pdn_type_e RoamPdnType;
/** Network Access Point Name */
char Apn[NET_PDP_APN_LEN_MAX+1];
/** Authentication info of the PDP profile */
return NULL;
if (NULL != ssid) {
- for (i = 0; i < ssid_len; i++)
+ for (i = 0; i < ssid_len; i++)
g_snprintf(ssid_hex + i * 2, 3, "%02x", ssid[i]);
} else {
g_snprintf(ssid_hex, strlen(hidden_str) + 1, "%s", hidden_str);
const char *auth_id = "auth_id";
const char *apn = "apn";
const char *keyword = "profile_name";
+ const char *pdp_protocol = "pdp_protocol";
+ const char *roam_pdp_protocol = "roam_pdp_protocol";
+ char buff_pdn_type[10] = "";
+ char buff_roam_pdn_type[10] = "";
char buff_svc_type[10] = "";
char buff_auth_type[10] = "";
char *temp_ptr = NULL;
g_variant_builder_add(builder, "{ss}", apn, temp_ptr);
}
+ if (prof_info->ProfileInfo.Pdp.PdnType == NET_PDN_TYPE_IPV4 ||
+ prof_info->ProfileInfo.Pdp.PdnType == NET_PDN_TYPE_IPV6 ||
+ prof_info->ProfileInfo.Pdp.PdnType == NET_PDN_TYPE_IPV4_IPV6) {
+ g_snprintf(buff_pdn_type, 10, "%d",
+ prof_info->ProfileInfo.Pdp.PdnType);
+ temp_ptr = buff_pdn_type;
+
+ g_variant_builder_add(builder, "{ss}", pdp_protocol, temp_ptr);
+ }
+
+ if (prof_info->ProfileInfo.Pdp.RoamPdnType == NET_PDN_TYPE_IPV4 ||
+ prof_info->ProfileInfo.Pdp.RoamPdnType == NET_PDN_TYPE_IPV6 ||
+ prof_info->ProfileInfo.Pdp.RoamPdnType == NET_PDN_TYPE_IPV4_IPV6) {
+ g_snprintf(buff_roam_pdn_type, 10, "%d",
+ prof_info->ProfileInfo.Pdp.RoamPdnType);
+ temp_ptr = buff_roam_pdn_type;
+
+ g_variant_builder_add(builder, "{ss}", roam_pdp_protocol, temp_ptr);
+ }
+
if (strlen(prof_info->ProfileInfo.Pdp.Keyword) > 0) {
temp_ptr = prof_info->ProfileInfo.Pdp.Keyword;
const char *default_conn = "default_internet_conn";
const char *hidden = "hidden";
const char *editable = "editable";
+ const char *pdp_protocol = "pdp_protocol";
+ const char *roam_pdp_protocol = "roam_pdp_protocol";
+ char buff_pdn_type[10] = "";
+ char buff_roam_pdn_type[10] = "";
char buff_svc_type[10] = "";
char buff_auth_type[10] = "";
char *temp_ptr = NULL;
g_variant_builder_add(builder, "{ss}", apn, temp_ptr);
}
+ if (prof_info->ProfileInfo.Pdp.PdnType == NET_PDN_TYPE_IPV4 ||
+ prof_info->ProfileInfo.Pdp.PdnType == NET_PDN_TYPE_IPV6 ||
+ prof_info->ProfileInfo.Pdp.PdnType == NET_PDN_TYPE_IPV4_IPV6) {
+ g_snprintf(buff_pdn_type, 10, "%d",
+ prof_info->ProfileInfo.Pdp.PdnType);
+ temp_ptr = buff_pdn_type;
+
+ g_variant_builder_add(builder, "{ss}", pdp_protocol, temp_ptr);
+ }
+
+ if (prof_info->ProfileInfo.Pdp.RoamPdnType == NET_PDN_TYPE_IPV4 ||
+ prof_info->ProfileInfo.Pdp.RoamPdnType == NET_PDN_TYPE_IPV6 ||
+ prof_info->ProfileInfo.Pdp.RoamPdnType == NET_PDN_TYPE_IPV4_IPV6) {
+ g_snprintf(buff_roam_pdn_type, 10, "%d",
+ prof_info->ProfileInfo.Pdp.RoamPdnType);
+ temp_ptr = buff_roam_pdn_type;
+
+ g_variant_builder_add(builder, "{ss}", roam_pdp_protocol, temp_ptr);
+ }
+
if (strlen(prof_info->ProfileInfo.Pdp.Keyword) > 0) {
temp_ptr = prof_info->ProfileInfo.Pdp.Keyword;
ProfInfo->profile_type = NET_DEVICE_CELLULAR;
ProfInfo->ProfileInfo.Pdp.ProtocolType = NET_PDP_TYPE_NONE;
ProfInfo->ProfileInfo.Pdp.ServiceType = NET_SERVICE_UNKNOWN;
+ ProfInfo->ProfileInfo.Pdp.PdnType = NET_PDN_TYPE_UNKNOWN;
+ ProfInfo->ProfileInfo.Pdp.RoamPdnType = NET_PDN_TYPE_UNKNOWN;
ProfInfo->ProfileInfo.Pdp.AuthInfo.AuthType = NET_PDP_AUTH_NONE;
ProfInfo->ProfileInfo.Pdp.IsStatic = FALSE;
ProfInfo->ProfileInfo.Pdp.Roaming = FALSE;
memset(ProfInfo->ProfileName, '\0', NET_PROFILE_NAME_LEN_MAX+1);
ProfInfo->ServiceType = NET_SERVICE_UNKNOWN;
+ ProfInfo->PdnType= NET_PDN_TYPE_UNKNOWN;
+ ProfInfo->RoamPdnType= NET_PDN_TYPE_UNKNOWN;
memset(ProfInfo->Apn, '\0', NET_PDP_APN_LEN_MAX+1);
ProfInfo->AuthInfo.AuthType = NET_PDP_AUTH_NONE;
} else if (g_strcmp0(key, "apn") == 0) {
if (value != NULL)
g_strlcpy(ProfileInfo->Apn, value, NET_PDP_APN_LEN_MAX);
+ } else if (g_strcmp0(key, "pdp_protocol") == 0) {
+ net_pdn_type_e pdnType = NET_PDN_TYPE_UNKNOWN;
+
+ if (value != NULL)
+ pdnType = atoi(value);
+
+ if (pdnType == NET_PDN_TYPE_IPV4)
+ ProfileInfo->PdnType = NET_PDN_TYPE_IPV4;
+ else if (pdnType == NET_PDN_TYPE_IPV6)
+ ProfileInfo->PdnType = NET_PDN_TYPE_IPV6;
+ else if (pdnType == NET_PDN_TYPE_IPV4_IPV6)
+ ProfileInfo->PdnType = NET_PDN_TYPE_IPV4_IPV6;
+ } else if (g_strcmp0(key, "roam_pdp_protocol") == 0) {
+ net_pdn_type_e roamPdnType = NET_PDN_TYPE_UNKNOWN;
+
+ if (value != NULL)
+ roamPdnType = atoi(value);
+
+ if (roamPdnType == NET_PDN_TYPE_IPV4)
+ ProfileInfo->RoamPdnType = NET_PDN_TYPE_IPV4;
+ else if (roamPdnType == NET_PDN_TYPE_IPV6)
+ ProfileInfo->RoamPdnType = NET_PDN_TYPE_IPV6;
+ else if (roamPdnType == NET_PDN_TYPE_IPV4_IPV6)
+ ProfileInfo->RoamPdnType = NET_PDN_TYPE_IPV4_IPV6;
} else if (g_strcmp0(key, "auth_type") == 0) {
net_auth_type_t authType = NET_PDP_AUTH_NONE;
telephony_profinfo.HomeURL, NET_HOME_URL_LEN_MAX);
ProfInfo->ProfileInfo.Pdp.AuthInfo.AuthType = telephony_profinfo.AuthInfo.AuthType;
+ ProfInfo->ProfileInfo.Pdp.PdnType = telephony_profinfo.PdnType;
+ ProfInfo->ProfileInfo.Pdp.RoamPdnType = telephony_profinfo.RoamPdnType;
if (strlen(telephony_profinfo.AuthInfo.UserName) > 0)
g_strlcpy(ProfInfo->ProfileInfo.Pdp.AuthInfo.UserName,