Developer

API Reference

AEECLSID_PDPSettings

Brew Release
Brew MP 1.0.2
See Also
none
Description
An implementation of ISettings that provides string-based packet data profile store.
PDPSettings provides components with a URI-based packet data profile store. Packet data profile settings are stored in separate profiles identified by string based URIs.
Packet Data Profile (PDP) Settings:
   ------------------------------------------------------------------------------------------
   profile_name - Profile name.
                  Possible values: string up to max_name_length
                  (max_name_length can be obtained by a call to the ISettings_Get method)
   ------------------------------------------------------------------------------------------
   context      - Context definition.

   |->   valid_flg - Signifies whether the parameters are set & valid.
   |                 Possible values: TRUE, FALSE
   |                 Can not be set to FALSE, except via ISettings_Reset() + invalidate group.
   |->   pdp_type  - PDP type (IP/PPP)
   |                 Possible values:  IP,
   |                                   PPP,
   |                                   IPV6,
   |                                   IP_ANY
   |->   h_comp    - PDP Header Compression support
   |                 Possible values:  UMTS_PDP_HEADER_COMP_OFF, (PDP header compression is OFF),
   |                                   UMTS_PDP_HEADER_COMP_ON (Manufacturer preferred compression),
   |                                   UMTS_PDP_HEADER_COMP_RFC1144 (PDP header compression based on rfc 1144),
   |                                   UMTS_PDP_HEADER_COMP_RFC2507 (PDP header compression based on rfc 2507),
   |                                   UMTS_PDP_HEADER_COMP_RFC3095 (PDP header compression based on rfc 3095)
   |->   d_comp    - Data Compression support - v.42
   |                 Possible values:  UMTS_PDP_DATA_COMP_OFF (PDP Data compression is OFF),
   |                                   UMTS_PDP_DATA_COMP_ON (Manufacturer preferred compression),
   |                                   UMTS_PDP_DATA_COMP_V42_BIS (V.42BIS data compression),
   |                                   UMTS_PDP_DATA_COMP_V44  (V.44 data compression)
   |->   pdp_addr  - PDP Address.
   |              Possible values:
   |                 if the primary dns address is IPV4 address then the
   |                 key format is:
   |                 /umts/profile//context/pdp_addr/ipv4 and
   |                 the value format is: a.b.c.d where a,b,c and d are
   |                 between 0 and 255 (decimal).
   |                 if the primary dns address is IPV6 address then the
   |                 key format is:
   |                 /umts/profile//context/pdp_addr/ipv6 and
   |                 the value format is a:b:c:d:e:f:g:h
   |                 where a to h are 4 digit hexadecimal numbers.
   |->   apn - APN string.
   |           Possible values: string up to 100 characters.
   |->   secondary_flag - secondary profile
   |           Possible values: TRUE, FALSE
   |->   primary_id - link to the primary profile
   |           Possible values: number in the range of uint8.
   |->   pdp_context_number - the same as profile number
   |           Possible values: number in the range of uint8.
   ------------------------------------------------------------------------------------------
   auth         - Authentication info.

   |->   auth_type - Authentication Type for a PDP context
   |                 Possible values: AUTH_NONE No authentication
   |                                  AUTH_PAP  PAP authentication
   |                                  AUTH_CHAP CHAP authentication
   |
   |->   password  - Password/secret string
   |                 Possible values: string up to 127 characters.
   |->   username  - Username string
   |                 Possible values: string up to 127 characters.
   -----------------------------------------------------------------------------------------
   qos_request_umts - UMTS required QOS params

   |->   valid_flg - Signifies whether the parameters are set & valid.
   |                 Possible values: TRUE, FALSE
   |                 Can not be set to FALSE, except via ISettings_Reset() + invalidate group.
   |->   traffic_class - Traffic Class
   |                 Possible values: QOS_TCLASS_SUBSCRIBE (Subscribed)
   |                                  QOS_TCLASS_CONV      (Conversational)
   |                                  QOS_TCLASS_STRM      (Streaming)
   |                                  QOS_TCLASS_INTR      (Interactive)
   |                                  QOS_TCLASS_BACK      (Background)
   |->   max_ul_bitrate - Maximum UL bitrate
   |                 Possible values: number in the range of uint32.
   |->   max_dl_bitrate - Maximum DL bitrate
   |                 Possible values: number in the range of uint32.
   |->   gtd_ul_bitrate - Guaranteed UL bitrate
   |                 Possible values: number in the range of uint32.
   |->   gtd_dl_bitrate - Guaranteed DL bitrate
   |                 Possible values: number in the range of uint32.
   |->   dlvry_order    - SDU delivery order
   |                 Possible values: QOS_DORDER_SUBSCRIBE  (Subscribed)
   |                                  QOS_DORDER_YES        (With delivery order)
   |                                  QOS_DORDER_NO         (Without delivery order)
   |->   max_sdu_size   - Maximum SDU size
   |                 Possible values: number in the range of uint32.
   |->   sdu_err        - SDU error ratio list index
   |                 Possible values: QOS SDU Error Codes(per 3GPP TS24.008 10.5.6.5):
   |                                  QOS_SDU_ERR_SUBSCRIBE (Subscribed)
   |                                  QOS_SDU_ERR_1E2       (1E-2)
   |                                  QOS_SDU_ERR_7E3       (7E-3)
   |                                  QOS_SDU_ERR_1E3       (1E-3)
   |                                  QOS_SDU_ERR_1E4       (1E-4)
   |                                  QOS_SDU_ERR_1E5       (1E-5)
   |                                  QOS_SDU_ERR_1E6       (1E-4)
   |                                  QOS_SDU_ERR_1E1       (1E-1)
   |->   res_biterr      - Residual biterr list index
   |                 Possible values:  QOS RES BER Codes  (per 3GPP TS24.008 10.5.6.5)
   |                    QOS RES BER Codes  (per 3GPP TS24.008 10.5.6.5)
   |                                QOS_RES_BER_SUBSCRIBE   (Subscribed)
   |                                QOS_RES_BER_5E2         (5E-2)
   |                                QOS_RES_BER_1E2         (1E-2)
   |                                QOS_RES_BER_5E3         (5E-3)
   |                                QOS_RES_BER_4E3         (4E-3)
   |                                QOS_RES_BER_1E3         (1E-3)
   |                                QOS_RES_BER_1E4         (1E-4)
   |                                QOS_RES_BER_1E5         (1E-5)
   |                                QOS_RES_BER_1E6         (1E-6)
   |                                QOS_RES_BER_6E8         (6E-8)
   |->   dlvr_err_sdu    - Delivery of erroneous SDU
   |                 Possible values: QOS Erroneous SDU Delivery Options(per 3GPP TS2.008 10.5.6.5)
   |                                  QOS_SDU_DLVR_SUBSCRIBE      (Subscribed)
   |                                  QOS_SDU_DLVR_NODETECT       (No detection)
   |                                  QOS_SDU_DLVR_YES            (Erroneous SDU is delivered)
   |                                  QOS_SDU_DLVR_NO             (Erroneous SDU not delivered)
   |
   |->   trans_delay    - Transfer Delay
   |                 Possible values: number in the range of uint32.
   |->   thandle_prio   - Traffic handling priority
   |                 Possible values: number in the range of uint32.
  -----------------------------------------------------------------------------------------
  qos_minimum_umts - UMTS minimum QOS params.
      This structure has the same params as qos_request_umts.
  -----------------------------------------------------------------------------------------
  gprs_qos  - GPRS Quality of service definitions.

   |->    valid_flg  - signifies whether the parameters are set & valid.
   |                  Possible values: TRUE, FALSE
   |                  Can not be set to FALSE, except via ISettings_Reset() + invalidate group.
   |->    precedence - possible values:
   |                     QOS_PRECED_CLASS_SUB  (Subscribed)
   |                     QOS_PRECED_CLASS_1
   |                     QOS_PRECED_CLASS_2
   |                     QOS_PRECED_CLASS_3
   |
   |->    delay      - possible values:
   |                     QOS_DELAY_CLASS_SUB (Subscribed)
   |                     QOS_DELAY_CLASS_1
   |                     QOS_DELAY_CLASS_2
   |                     QOS_DELAY_CLASS_3
   |                     QOS_DELAY_CLASS_4
   |
   |->    reliability- possible values:
   |                     QOS_REL_CLASS_SUB  (Subscribed)
   |                     QOS_REL_CLASS_1
   |                     QOS_REL_CLASS_2
   |                     QOS_REL_CLASS_3
   |
   |->    peak       -  Peak throughput.
   |                     possible values - Uint32 range.
   |->    mean       -  Mean throughput.
   |                     possible values - Uint32 range.
  ------------------------------------------------------------------------------------------
  qos_minimum_gprs  - same as gprs_qos.
  ------------------------------------------------------------------------------------------
  dns_addr        - Primary and secondary DNS address.

   |->               primary_dns_addr
   |                    possible values:
   |                       if the primary dns address is IPV4 address then the
   |                       key format is:
   |                       /umts/profile//dns_addr/primary_dns_addr/ipv4 and
   |                       the value format is: a.b.c.d where a,b,c and d are
   |                       between 0 and 255 (decimal).
   |                       if the primary dns address is IPV6 address then the
   |                       key format is:
   |                       /umts/profile//dns_addr/primary_dns_addr/ipv6 and
   |                       the value format is a:b:c:d:e:f:g:h
   |                       where a to h are 4 digit hexadecimal numbers.
   |
   |->               secondary_dns_addr
   |                    possible values: same as primary_dns_addr.
  ------------------------------------------------------------------------------------------
  req_pcscf_addr  - possible values - TRUE, FALSE.
  ------------------------------------------------------------------------------------------
  dhcp_pcscf_addr - PCSCF Addr using DHCP
                     possible values - TRUE, FALSE.
  ------------------------------------------------------------------------------------------
  im_cn_flag      - IMCN (IP Multimedia Core Network)Flag
                     possible values - TRUE, FALSE.
-------------------------------------------------------------------------------------------------------------------------


Usage of ISettings_Get() for getting profile data:
Following is a brief description of ISettings_Get(): int ISettings_Get(ISettings *po, const char *cpszKey, char *pszValue, int nValueLen, int *pnValueLenReq); cpszKey: specifies the requested setting. pszValue: points to a string that is nValueLen bytes long. nValueLen: specifies the length of the string the the user provides in pszValue. pnValueLenReq: specifies the length of the value that matches the requested settings. If the requested setting value is longer then the string that was provided in pszValue, the user may call ISettings_Get once again with a longer string.
Following are different ways to use ISettings_Get() for getting profile data: 1. In order to get a setting from a profile the user should provide a key that specifies that setting: cpszKey: the key specifies the profile number in the PDP database followed by the requested setting. In order to get a UMTS profile setting, the key format should be "/umts/profile//". Example: In order to get the qos_request_umts traffic_class in profile number 1 setting, the key should be "/umts/profile/1/qos_request_umts/traffic_class".
2. In order to get the number of profiles: cpszKey should be "/umts/profile/num_profiles".
3. In order to get the default profile number. cpszKey should be "/umts/profile/default_profile".
4. In order to get the max profile name: cpszKey should be "/umts/profile/max_name_length".
5. In order to get multiple fields of a settings group from a specific profile: Only the following groups are permitted to be used for multiple set/get: auth qos_request_umts qos_minimum_umts gprs_qos qos_minimum_gprs dns_addr
The answer string is a string containing all the values in this group. Example: In order to get all the auth parameters, key format is: "/umts/profile/1/auth". Answer string to this query is values of the auth seprated by ";": ";;"

Usage of ISettings_Set() for setting profile data:
Following is a brief description of ISettings_Set(): int ISettings_Set(ISettings *po, const char *cpszKey, const char *cpszValue); cpszKey: specifies the requested setting. cpszValue: points to a string that is specifies the new value for the setting in cpszKey.
Following are different ways to use ISettings_Set() for setting profile data: 1. In order to set value in a specific profile: cpszKey: the key specifies the profile number in the PDP database followed by the requested setting. In order to set a UMTS profile setting, the key format should be "/umts/profile//". cpszValue: should specify the new value for the setting that is specified in cpszKey. Example: In order to set the qos_request_umts traffic_class in profile number 1 setting to the new value QOS_TCLASS_STRM: cpszKey should be "/umts/profile/1/qos_request_umts/traffic_class". cpszValue should be: "QOS_TCLASS_STRM"
2. In order to set the default profile number. cpszKey should be "/umts/profile/default_profile". cpszValue: should specify the new default profile number. Example: In order to set profile number 2 to be the default profile: cpszKey should be "/umts/profile/default_profile". cpszValue should be: "2"
3. In order to set multiple fields of a settings group from a specific profile: cpszKey: the key specifies the profile number in the PDP database followed by the requested setting. In order to set a UMTS profile setting, the key format should be "/umts/profile//". The only permitted group names for this option are:
auth qos_request_umts qos_minimum_umts gprs_qos qos_minimum_gprs dns_addr
cpszValue: should specify the new values for each field of the setting that is specified in cpszKey, seperated by ";". Example: In order to set the auth group in profile number 1 setting to auth_type - AUTH_PAP, password - "secret", username="any" cpszKey should be "/umts/profile/1/auth". cpszValue should be: "AUTH_PAP;secret;any"
Usage of ISettings_Reset() for resetting profile data:
Following is a brief description of ISettings_Reset(): int ISettings_Reset(ISettings *po, const char *cpszKey); cpszKey: specifies the requested setting.
Following are different ways to use ISettings_Reset() for resetting profile data:
1. In order to set to default a group of values in a specific profile cpszKey should be: "/umts/profile//". The predefined groups of values for set to default operation are: set_to_default_all_data_ipv4 set_to_default_all_data_ipv6 set_to_default_auth set_to_default_dns set_to_default_context_ipv4 set_to_default_context_ipv6 Example: In order to set to default the group of values set_to_default_auth in profile number 2, cpszKey should be "/umts/profile/2/set_to_default_auth". 2. In order to invalidate a group of values in a specific profile cpszKey should be: "/umts/profile//". The predefined groups of values for Reset operation are: invalidate_all_data invalidate_umts_req_qos invalidate_umts_min_qos invalidate_gprs_req_qos invalidate_gprs_min_qos invalidate_context Example: In order to invalidate the group of values invalidate_gprs_req_qos in profile number 3, cpszKey should be "/umts/profile/3/invalidate_gprs_req_qos".

ISettings_Delete, ISettings_OnChange, ISettings_GetNumChildren, ISettings_GetChildName and ISettings_GetSubTree are not supported by AEECLSID_PDPSettings and return AEE_EUNSUPPORTED.
Default Interface Name
  • Follow