API Guide Home (Online version only) |

# HsPhoneCDMATypes.h

Go to the documentation of this file.

    00001 /******************************************************************************
    00002  * Copyright (c) 2004 palmOne, Inc. or its subsidiaries.
    00003  * All rights reserved.
    00004  *****************************************************************************/
    00005 /** @ingroup Telephony
    00006  *
    00007  */
    00008
    00009
    00010 /**
    00011  *
    00012  * @file    HsPhoneCDMATypes.h
    00013  *
    00014  * @brief  Header File for Phone Library API ---- NETWORK CATEGORY
    00015  *
    00016  * NOTES:
    00017  *  All implementations of the Handspring Phone Library support a common API.
    00018  *  This API is broken up into various categories for easier management.  This file
    00019  *  defines the CDMA category.  These API calls are used to interact with the wireless network.
    00020  */
    00021
    00022
    00023
    00024 #ifndef _HS_PHONE_CDMA_TYPES_H__
    00025 #define _HS_PHONE_CDMA_TYPES_H__
    00026 #include <PalmOS.h>
    00027 #include <PalmTypes.h>
    00028 #ifndef __CORE_COMPATIBILITY_H__
    00029 #include <PalmCompatibility.h>
    00030     /** workaround for differing header files in sdk-3.5 and sdk-internal */
    00031     #ifndef __CORE_COMPATIBILITY_H__
    00032     #define __CORE_COMPATIBILITY_H__
    00033     #endif
    00034 #endif
    00035
    00036
    00037 #define indicatorNoCallerIDChar          '?'  /**< CDMA Only -- Means there is no caller ID */
    00038 #define indicatorBlockedCallerIDChar     '!'  /**< CDMA Only -- Means the caller ID is blocked  */
    00039 #define indicatorRemainingCallerIDChar   '~'  /**< CDMA Only -- Means the caller ID is the remaining caller (3+ calls scenario)  */
    00040
    00041 /******************************************************************************
    00042  * PDP related defines. KEEP THE FOLLOWING DEFINES IN SYNC WITH HIONEX.H !!
    00043  ******************************************************************************/
    00044
    00045 #define phnPDPUidLen                 15   /**< Max PDP UID length   */
    00046 #define phnMaxNAILen                 72   /**< Max length of NAI */
    00047 #define phnMaxMNHASharedSecretLen    48   /**< HI_ONEX_MAX_MN_HA_SHARED_SECRET_LEN  */
    00048 #define phnMaxMNAAASharedSecretLen   48   /**< HI_ONEX_MAX_MN_AAA_SHARED_SECRET_LEN */
    00049 #define phnMaxSvcStrLen              22   /**< HI_ONEX_MAX_SVC_STR_LEN */
    00050 #define phnMaxDialStrLen             15   /**< HI_ONEX_MAX_DIAL_STR_LEN */
    00051 #define phnMaxMslLen                  6   /**< HI_ONEX_MSL_LEN */
    00052 #define phnMaxUrlLen                128   /**< Max URL length */
    00053
    00054
    00055 // Fields that were successfully updated with OTASP
    00056 #define phnOtaspMobdirCommitFlag    0x0001      /**<        */
    00057 #define phnOtaspFTCCommitFlag       0x0002      /**<        */
    00058 #define phnOtaspRoamListCommitFlag  0x0004      /**<        */
    00059 #define phnOtaspSPCCommitFlag       0x0008      /**<        */
    00060 #define phnOtaspIMSICommitFlag      0x0010      /**<        */
    00061 #define phnOtaspNamLockCommitFlag   0x0020      /**<        */
    00062 #define phnOtaspAkeyCommitFlag      0x0040      /**<        */
    00063 #define phnOtasp3GPDCommitFlag      0x0080      /**<        */
    00064 #define phnOtaspMIPStatCommitFlag   0x0100      /**<        */
    00065 #define phnOtaspMIPRetryCommitFlag  0x0200      /**<        */
    00066 #define phnOtaspSPCFail             0x0400      /**<        */
    00067 #define phnOtaspCommitFlag          0x0800          /**<        */
    00068 #define phnOtaspInitProgReqFlag     0x1000      /**<        */
    00069 #define phnOtaspProgInProgressFlag  0x2000      /**<        */
    00070 #define phnOtaspSSDCommitFlag       0x4000      /**<        */
    00071
    00072 #define phnOtaspSuccessful          0x02FF      /**<        */
    00073 #define phnOtaspUnsuccessful        0x03FF      /**<        */
    00074
    00075
    00076 /**
    00077  *
    00078  **/
    00079 typedef enum  {
    00080     phnOneXFailPrev=0,      /**< current used PREV does not support the type of data call attempted */
    00081     phnOneXFailNoSrv=1,     /**< modem did not have service when the data call was attempted */
    00082     phnOneXFailNetworkSORej=2,  /**< The network rejected the service option for the data call */
    00083     phnOneXFailModemSORej=3,    /**< The modem does not support or restricts the service option for the data call */
    00084     phnOneXFailNetworkBusy=4,   /**< The network was busy */
    00085     phnOneXFailUnknown=5    /**<        */
    00086 } PhnOneXDataFailType;
    00087
    00088 #define isValidPhnOneXDataFailType(d) ((d >= phnOneXFailPrev) && (d <= phnOneXFailUnknown)) /**<        */
    00089
    00090
    00091 /**
    00092  *
    00093  **/
    00094 typedef enum{
    00095     PhnPDPAUncert0_5_M = 0x00,      /**< Standard deviation of 0.5 meters */
    00096     PhnPDPAUncert0_75_M,        /**< Standard deviation of 0.75 meters */
    00097     PhnPDPAUncert1_M,           /**< Standard deviation of 1 meter */
    00098     PhnPDPAUncert1_5_M,         /**< Standard deviation of 1.5 meters */
    00099     PhnPDPAUncert2_M,           /**< Standard deviation of 2 meters */
    00100     PhnPDPAUncert3_M,               /**< Standard deviation of 3 meters */
    00101     PhnPDPAUncert4_M,           /**< Standard deviation of 4 meters */
    00102     PhnPDPAUncert6_M,               /**< Standard deviation of 6 meters */
    00103     PhnPDPAUncert8_M,           /**< Standard deviation of 8 meters */
    00104     PhnPDPAUncert12_M,          /**< Standard deviation of 12 meters */
    00105     PhnPDPAUncert16_M,              /**< Standard deviation of 16 meters */
    00106     PhnPDPAUncert24_M,          /**< Standard deviation of 24 meters */
    00107     PhnPDPAUncert32_M,              /**< Standard deviation of 32 meters */
    00108     PhnPDPAUncert48_M,              /**< Standard deviation of 48 meters */
    00109     PhnPDPAUncert64_M,          /**< Standard deviation of 64 meters */
    00110     PhnPDPAUncert96_M,          /**< Standard deviation of 96 meters */
    00111     PhnPDPAUncert128_M,             /**< Standard deviation of 128 meters */
    00112     PhnPDPAUncert192_M,             /**< Standard deviation of 192 meters */
    00113     PhnPDPAUncert256_M,             /**< Standard deviation of 256 meters */
    00114     PhnPDPAUncert384_M,             /**< Standard deviation of 384 meters */
    00115     PhnPDPAUncert512_M,             /**< Standard deviation of 512 meters */
    00116     PhnPDPAUncert768_M,             /**< Standard deviation of 768 meters */
    00117     PhnPDPAUncert1024_M,            /**< Standard deviation of 1,024 meters */
    00118     PhnPDPAUncert1536_M,            /**< Standard deviation of 1,536 meters */
    00119     PhnPDPAUncert2048_M,            /**< Standard deviation of 2,048 meters */
    00120     PhnPDPAUncert3072_M,            /**< Standard deviation of 3,072 meters */
    00121     PhnPDPAUncert4096_M,            /**< Standard deviation of 4,096 meters */
    00122     PhnPDPAUncert6144_M,            /**< Standard deviation of 6,144 meters */
    00123     PhnPDPAUncert8192_M,            /**< Standard deviation of 8,192 meters */
    00124     PhnPDPAUncert12288_M,           /**< Standard deviation of 12,2288 meters */
    00125     PhnPDPAUncertGREATER_12288_M,       /**< Standard deviation that is greater than 12,288 meters */
    00126     PhnPDPAUncertNOT_COMPUTABLE_M,      /**< Standard deviation is not computable */
    00127     PhnPDPAUncertMAX
    00128 } PhnPDPAUncerttype;
    00129
    00130
    00131 /**
    00132  *
    00133  **/
    00134 typedef enum {
    00135
    00136     phnMIPSuccess,              /**<        */
    00137     phnMIPNoSimBindings,            /**<        */
    00138     phnMIPFaReasonUnspecified=64,       /**<        */
    00139     phnMIPFaAdminProhibited=65,         /**<        */
    00140     phnMIPFaInsufficientResources=66,       /**<        */
    00141     phnMIPFaMobileNodeAuth=67,          /**<        */
    00142     phnMIPFaHomeAgentAuth=68,           /**<        */
    00143     phnMIPFaReqLifetimeTooLong=69,      /**<        */
    00144     phnMIPFaPoorlyFormedReq=70,         /**<        */
    00145     phnMIPFaPoorlyFormedReply=71,       /**<        */
    00146     phnMIPFaReqedEncapUnavail=72,       /**<        */
    00147     phnMIPFaReservedNUnavail=73,        /**<        */
    00148     phnMIPFaCantRevTun=74,          /**<        */
    00149     phnMIPFaMustRevTun=75,          /**<        */
    00150     phnMIPFaBadTtl=76,              /**<        */
    00151     phnMIPFaInvalidCareOfAddr=77,       /**<        */
    00152     phnMIPFaRegistration_Timeout=78,        /**<        */
    00153     PhnMIPFADelvStyleUnsupported=79,    /**<        */
    00154     phnMIPFaHome_Network_Unreachable=80,    /**<        */
    00155     phnMIPFaHa_Host_Unreachable=81,     /**<        */
    00156     phnMIPFaHa_Port_Unreachable=82,     /**<        */
    00157     phnMIPFaHa_Unreachable=88,          /**<        */
    00158     PhnMIPFANonzeroHomeAddrReq=96,      /**<        */
    00159     PhnMIPFAMissingNai=97,          /**<        */
    00160     phnMIPFaForeign_Agent=98,           /**<        */
    00161     PhnMIPFAMissingHomeAddr=99,     /**<        */
    00162     PhnMIPFAError1=100,                 /**<        */
    00163     PhnMIPFAError2 =101,            /**<        */
    00164     phnMIPFaUnknown_Challenge=104,      /**<        */
    00165     phnMIPFaMissing_Challenge=105,      /**<        */
    00166     phnMIPFaStale_Challenge=106,        /**<        */
    00167     phnMIPHaReasonUnspecified=128,      /**<        */
    00168     phnMIPHaAdminProhibited=129,        /**<        */
    00169     phnMIPHaInsufficientResources=130,      /**<        */
    00170     phnMIPHaMobileNodeAuth=131,         /**<        */
    00171     phnMIPHaForeignAgentAuth=132,       /**<        */
    00172     phnMIPHaRegIdMismatch=133,          /**<        */
    00173     phnMIPHaPoorlyFormedReq=134,            /**<        */
    00174     phnMIPHaTooManySimMobBindings=135,      /**<        */
    00175     phnMIPHaUnknownHaAddr=136,          /**<        */
    00176     phnMIPHaCantRevTun=137,             /**<        */
    00177     phnMIPHaMustRevTun=138,             /**<        */
    00178     phnMIPHaReqEncapNotAvail=139,       /**<        */
    00179     phnMIPHAError1=140,         /**<        */
    00180     phnMIPHAError2=141          /**<        */
    00181
    00182 } PhnMIPFailType;
    00183
    00184
    00185 /**
    00186  *
    00187  **/
    00188 typedef enum
    00189 {
    00190
    00191   phnPDPWriteOK,            /**<        */
    00192   phnPDPWriteInvalidIndex,      /**<        */
    00193   phnPDPWriteIndexInUse,        /**<        */
    00194   phnPDPWriteNotAllowedAtIndex,     /**<        */
    00195   phnPDPWriteInvalidNAILen,     /**<        */
    00196   phnPDPWriteInvalidNAIName,        /**<        */
    00197   phnPDPWriteDuplicateNAI,      /**<        */
    00198   phnPDPWriteInvalidAAALen,     /**<        */
    00199   phnPDPInvalidHALen,           /**<        */
    00200   phnPDPWriteInvalidSvcStrLen,      /**<        */
    00201   phnPDPWriteInvalidDialStrLen,     /**<        */
    00202   phnPDPWriteIndexNotPrevSet,       /**<        */
    00203   phnPDPWriteInternalModemErr       /**<        */
    00204
    00205 }PhnPDPWriteAck;
    00206
    00207 #define isValidPhnPDPWriteAck(w) ((w >= phnPDPWriteOK) && (w <= phnPDPWriteInternalModemErr))   /**<        */
    00208
    00209 /**
    00210  *
    00211  **/
    00212 typedef enum
    00213 {
    00214   phnPDPReadOK,             /**<        */
    00215   phnPDPReadInvalidIndex,       /**<        */
    00216   phnPDPReadNotAllowedAtIndex,      /**<        */
    00217   phnPDPReadIndexNotSet,        /**<        */
    00218   phnPDPReadInternalModemErr        /**<        */
    00219 }PhnPDPReadAck;
    00220
    00221 #define isValidPDPReadAck(r) ((r >= phnPDPReadOK) && (r <= phnPDPReadInternalModemErr))     /**<        */
    00222
    00223 /**
    00224  *
    00225  **/
    00226 typedef enum
    00227 {
    00228   phnPDPDefaultIndex,       /**<        */
    00229   phnPDPTempIndex,      /**<        */
    00230   phnPDPGenericIndex        /**<        */
    00231
    00232 } _PhnPDPIndexType;
    00233
    00234 typedef UInt8 PhnPDPIndexType;      /**<        */
    00235
    00236 #define isValidPhnPDPIndexType(t) ((t >= phnPDPDefaultIndex) && (t <= phnPDPGenericIndex))  /**<        */
    00237
    00238 /**
    00239  *
    00240  **/
    00241 typedef enum
    00242 {
    00243   phnPDPCopyOK,             /**<        */
    00244   phnPDPCopyInvalidFromIndex,       /**<        */
    00245   phnPDPCopyFromIndexNotActive,     /**<        */
    00246   phnPDPCopyNotAllowedAtFromIndex,  /**<        */
    00247   phnPDPCopyInvalidToIndex,     /**<        */
    00248   phnPDPCopyToIndexInUse,       /**<        */
    00249   phnPDPCopyNotAllowedAtToIndex,    /**<        */
    00250   phnPDPCopyInvalidNAILen,      /**<        */
    00251   phnPDPCopyInvalidNAIName,     /**<        */
    00252   phnPDPCopyDuplicateNAI,       /**<        */
    00253   phnPDPCopyInvalidAAALen,      /**<        */
    00254   phnPDPCopyInvalidSvcStrLen,       /**<        */
    00255   phnPDPCopyInternalModemErr        /**<        */
    00256 } _PhnPDPCopyAck;           /**<        */
    00257
    00258 typedef UInt8 PhnPDPCopyAck;        /**<        */
    00259
    00260 #define isValidPhnPDPCopyAck(c) ((c >= phnPDPCopyOK) && (c <= phnPDPCopyInternalModemErr))  /**<        */
    00261
    00262
    00263 /**
    00264  *
    00265  **/
    00266 typedef enum
    00267 {
    00268   phnPDPDeleteOK,           /**<        */
    00269   phnPDPDeleteInvalidIndex,     /**<        */
    00270   phnPDPDeleteIndexActive,      /**<        */
    00271   phnPDPDeleteIndexNotUsed,     /**<        */
    00272   phnPDPDeleteNotAllowedAtIndex,    /**<        */
    00273   phnPDPDeleteInternalModemErr      /**<        */
    00274 } _PhnPDPDeleteAck;
    00275
    00276 typedef UInt8 PhnPDPDeleteAck;      /**<        */
    00277
    00278 #define isValidPhnPDPDeleteAck(d) ((d >= phnPDPDeleteOK) && (d <= phnPDPDeleteInternalModemErr))    /**<        */
    00279
    00280 /**
    00281  *
    00282  **/
    00283 typedef enum
    00284 {
    00285   phnPDPReplaceOK,          /**<        */
    00286   phnPDPReplaceInvalidIndex,        /**<        */
    00287   phnPDPReplaceInvalidNotUsed,      /**<        */
    00288   phnPDPReplaceNotAllowedAtIndex,   /**<        */
    00289   phnPDPReplaceInvalidLen,          /**<        */
    00290   phnPDPReplaceInternalModemErr     /**<        */
    00291
    00292 } _PhnPDPReplaceAck;
    00293
    00294 typedef UInt8 PhnPDPReplaceAck;     /**<        */
    00295
    00296 #define isValidPhnPDPReplaceAck(r) ((r >= phnPDPReplaceOK) && (r <= phnPDPReplaceInternalModemErr)) /**<        */
    00297
    00298
    00299
    00300 /**
    00301  *  Indicates whether the profile is a mobile IP or simple IP profile.
    00302  **/
    00303
    00304 /**
    00305  * We changed the ordering of enum to match the TIL type and to keep it consistent with Crowdy NV
    00306  * table for the PDP. Previously, this type was only used by NetPref we impact was minimal. The new ordering
    00307  * also allows us to overload the NetMaster "isMobileIPValue" record value with this value. This way
    00308  * any of 'if (isMobileIPValue)' will return true for both MIP and MIP with fallback. Later we can check the
    00309  * specific in Netmaster as needed
    00310  **/
    00311 typedef enum {
    00312   phnPDPConnectionTypeSIP = 0,          /**< PDP contains Simple IP settings  */
    00313   phnPDPConnectionTypeMIPWithSIPFallback, /**< PDP contains MobileIP settings. Also allows Simple IP fallback - for Crowdy  */
    00314   phnPDPConnectionTypeMIP,          /**< PDP contains Mobile IP settings  */
    00315   phnPDPConnectionTypeInvalid
    00316
    00317 } _PhnPDPConnectionType;
    00318
    00319 typedef UInt8 PhnPDPConnectionType;     /**<        */
    00320
    00321 /**
    00322  *  Bit mask that identifies the services a given profile should be used for
    00323  **/
    00324 typedef enum
    00325 {
    00326   phnPDPServiceUnknown = 0x00000000,        /**<        */
    00327   phnPDPServiceInternet = 0x00000001,       /**< Profile to be used for generic internet  */
    00328   phnPDPServiceWAP = 0x00000002,            /**< Profile to be used for WAP  */
    00329   phnPDPServicePrivate = 0x00000004,        /**< Profile to be used for application specfic gateway  */
    00330   phnPDPServiceMMS = 0x00000008,        /**< Profile to be used for MMS  */
    00331   phnPDPServiceBrowser = 0x00000010,        /**< Profile to be used for Browser   */
    00332   phnPDPServiceMail = 0x00000020,       /**< Profile to be used for email  */
    00333   phnPDPServiceIM = 0x00000040,         /**< Profile to be used for IM  */
    00334   phnPDPServiceDownloads = 0x00000080,      /**< Profile to be used for downloads  */
    00335   phnPDPServiceCorporateGateway = 0x00000100,   /**< Profile to be used for corporate network  */
    00336   phnPDPServicePictureMail = 0x00000200     /**< Profile for Picture Mail  */
    00337 } _PhnPDPService;
    00338
    00339 typedef UInt32 PhnPDPService;       /**<        */
    00340
    00341 /**
    00342  * None of the PDP strings (like service string, dial string, passwords etc.)
    00343  * require null terminator and no need to count null terminator for the length.
    00344  *
    00345  * PhnPDPList structure lists status of all the packet data profile slots
    00346  **/
    00347 typedef struct
    00348 {
    00349     Boolean                         idx0_set ;
    00350       /**< Boolean indicating if index contains a valid PDP in the modem.  */
    00351
    00352     Boolean                         idx1_set ;
    00353       /**< Boolean indicating if index contains a valid PDP in the modem.  */
    00354
    00355     Boolean                         idx2_set ;
    00356       /**< Boolean indicating if index contains a valid PDP in the modem.  */
    00357
    00358     Boolean                         idx3_set ;
    00359       /**< Boolean indicating if index contains a valid PDP in the modem.  */
    00360
    00361     Boolean                         idx4_set ;
    00362       /**< Boolean indicating if index contains a valid PDP in the modem.  */
    00363
    00364     Boolean                         idx5_set ;
    00365       /**< Boolean indicating if index contains a valid PDP in the modem.  */
    00366
    00367     Boolean                         idx6_set ;
    00368       /**< Boolean indicating if index contains a valid PDP in the modem.  */
    00369
    00370     Boolean                         idx7_set ;
    00371       /**< Boolean indicating if index contains a valid PDP in the modem.  */
    00372
    00373     Boolean                         idx_RSVD8_set ;
    00374       /**< Reserved field.  */
    00375
    00376     Boolean                         idx_RSVD9_set ;
    00377       /**< Reserved field.  */
    00378
    00379     Boolean                         qnc_set ;
    00380       /**< Boolean indicating if a valid QNC profile is stored in the modem. */
    00381
    00382     Boolean                         active_idx_set ;
    00383       /**< Boolean indicating if there is currently an active index set in the
    00384          modem. */
    00385
    00386     UInt8                            active_idx ;
    00387       /**< Indication of which index is currently the active index in the modem
    00388          if ACTIVE_IDX_SET. */
    00389
    00390     UInt8                            idx0_uid[phnPDPUidLen] ;
    00391       /**< The Unique ID for the PDP stored in index if index is set. */
    00392
    00393     UInt8                            idx1_uid[phnPDPUidLen] ;
    00394       /**< The Unique ID for the PDP stored in index if index is set. */
    00395
    00396     UInt8                            idx2_uid[phnPDPUidLen] ;
    00397       /**< The Unique ID for the PDP stored in index if index is set. */
    00398
    00399     UInt8                            idx3_uid[phnPDPUidLen] ;
    00400       /**< The Unique ID for the PDP stored in index if index is set. */
    00401
    00402     UInt8                            idx4_uid[phnPDPUidLen] ;
    00403       /**< The Unique ID for the PDP stored in index if index is set. */
    00404
    00405     UInt8                            idx5_uid[phnPDPUidLen] ;
    00406       /**< The Unique ID for the PDP stored in index if index is set. */
    00407
    00408     UInt8                            idx6_uid[phnPDPUidLen] ;
    00409       /**< The Unique ID for the PDP stored in index if index is set. */
    00410
    00411     UInt8                            idx7_uid[phnPDPUidLen] ;
    00412       /**< The Unique ID for the PDP stored in index if index is set. */
    00413
    00414     UInt8                          idx_rsvd8_uid[phnPDPUidLen] ;
    00415       /**< Reserved field. */
    00416
    00417     UInt8                          idx_rsvd9_uid[phnPDPUidLen] ;
    00418       /**< Reserved field. */
    00419
    00420     UInt8                            qnc_uid[phnPDPUidLen] ;
    00421       /**< The Unique ID for the QNC profile stored in the modem. */
    00422
    00423     UInt8                            num_stand_pdp_idxs;
    00424       /**< The number of standard PDPs in the modem. */
    00425
    00426     UInt8                            first_stand_pdp_idx;
    00427       /**< IF NUM_STAND_PDP_IDXS is greater than zero, indicates the first
    00428        standard PDP index (assumes set of all standard PDP indexes are
    00429        sequential). */
    00430     UInt8                            num_def_pdp_idxs;
    00431       /**< The number of default PDPs in the modem that cannot be modified by
    00432          an IOTA session. */
    00433
    00434     UInt8                            first_def_pdp_idx;
    00435       /**< IF NUM_DEF_PDP_IDXS is greater than zero, indicates the first default
    00436        PDP index (assumes set of all default PDP indexes are sequential). */
    00437
    00438     UInt8                            num_tmp_pdp_idxs ;
    00439       /**< The Unique ID for the QNC profile stored in the modem. */
    00440
    00441     UInt8                            first_tmp_pdp_idx;
    00442       /**< IF NUM_TMP_PDP_IDXS is greater than zero, indicates the first default
    00443        PDP index (assumes set of all default PDP indexes are sequential). */
    00444
    00445 } PhnPDPList;
    00446
    00447 /**
    00448  *
    00449  **/
    00450 typedef struct{
    00451     UInt8                            idx  ;
    00452       /**< The index of the PDP to write to in the modem.  The set of valid
    00453          indexes that can be written to is dependent on the modem
    00454          platform being used. */
    00455
    00456     Boolean                         use_existing_nai  ;
    00457       /**< Boolean indicating if the NAI currently stored in this PDP should
    00458          be saved.  If set to FALSE, the following two fields are used for
    00459          new NAI value. */
    00460
    00461     UInt8                            nai_length  ;
    00462       /**< The number of characters in the NAI. */
    00463
    00464     UInt8                            nai[phnMaxNAILen]  ;
    00465       /**< The user NAI character string in ASCII representation */
    00466
    00467     Boolean                         use_existing_mn_aaa_ss  ;
    00468       /**< Boolean indicating if the MN-AAA-SS currently stored in this PDP
    00469          should be saved.  If set to FALSE, the following three fields are
    00470          used for new MN-AAA-SS value. */
    00471
    00472
    00473     Boolean                         store_mn_aaa_ss  ;
    00474       /**< Boolean indicating if the MN-AAA shared secret parameter is to be
    00475          stored with this PDP profile.  Setting this field to FALSE requires
    00476          the host to send a temporary MN-AAA shared secret value to the modem
    00477          before using this PDP to connect to a network.*/
    00478
    00479     UInt8                            mn_aaa_ss_length  ;
    00480       /**< Length of the MN-AAA shared secret parameter to store in the modem
    00481          for this PDP if the STORE_MN_AAA_SS field is set to TRUE.  */
    00482
    00483     UInt8  mn_aaa_ss[phnMaxMNAAASharedSecretLen ]  ;
    00484       /**< Text/binary string of the MN-AAA shared secret parameter to store in the
    00485           modem for this PDP if the STORE_MN_AAA_SS field is set to TRUE. */
    00486
    00487     Boolean                         use_existing_mn_ha_ss  ;
    00488       /**< Boolean indicating if the MN-HA-SS currently stored in this PDP should
    00489        be saved.  If set to FALSE, the following three fields are used for
    00490        new MN-HA-SS value. */
    00491
    00492     UInt8                         reserved1 ;
    00493       /**< for future use */
    00494
    00495     UInt8                            mn_ha_ss_length  ;
    00496       /**< Length of the MN-HA shared secret parameter to store in the modem for
    00497          this PDP */
    00498
    00499     UInt8  mn_ha_ss[phnMaxMNHASharedSecretLen]  ;
    00500       /**< Text/binary string of the MN-HA shared secret parameter to store in the modem
    00501          for this PDP */
    00502
    00503     Boolean                         use_existing_mn_aaa_spi  ;
    00504       /**< Boolean indicating if the MN-AAA SPI currently stored in this PDP
    00505          should be saved.  If set to FALSE, the following three fields are
    00506          used for new MN-AAA SPI value. */
    00507
    00508     UInt8                         reserved2  ;
    00509       /**< for future use */
    00510
    00511     Boolean                         set_mn_aaa_spi  ;
    00512       /**< Boolean indicating if the SPI for MN-AAA authentication is to be set
    00513          for this PDP*/
    00514
    00515     DWord                           mn_aaa_spi  ;
    00516       /**< Integer value of the SPI for MN-AAA authentication parameter to store
    00517          in the modem for this PDP if the SET_MN_AAA_SPI field is set to TRUE. */
    00518
    00519     Boolean                         use_existing_mn_ha_spi  ;
    00520       /**< Boolean indicating if the MN-HA SPI currently stored in this PDP
    00521          should be saved.  If set to FALSE, the following three fields are
    00522          used for new MN-HA SPI value. */
    00523
    00524     UInt8                         reserved3  ;
    00525       /**< for future use */
    00526
    00527     Boolean                         set_mn_ha_spi  ;
    00528       /**< Boolean indicating if the SPI for MN-HA authentication is to be set
    00529          for this PDP */
    00530
    00531     DWord                           mn_ha_spi  ;
    00532       /**< Integer value of the SPI for MN-HA authentication parameter to store
    00533          in the modem for this PDP if the SET_MN_HA_SPI field is set to TRUE. */
    00534
    00535     Boolean                         use_existing_rev_tunnel_pref  ;
    00536       /**< Boolean indicating if the Reverse Tunneling Preference currently
    00537          stored in this PDP should be saved.  If set to FALSE, the following
    00538          two fields are used for new Reverse Tunneling Preference values. */
    00539
    00540     UInt8                         reserved4  ;
    00541     /**< for future use */
    00542
    00543     Boolean                         rev_tunnel_pref  ;
    00544       /**< Boolean indicating if reverse tunnel is to be used for this PDP. */
    00545
    00546     Boolean                         use_existing_home_addr  ;
    00547       /**< Boolean indicating if the Home Address currently stored in this PDP
    00548          should be saved.  If set to FALSE, the following two fields are used
    00549          for new Home Address value. */
    00550
    00551     UInt8                        reserved5;
    00552       /**< for future use */
    00553
    00554     DWord                           home_addr  ;
    00555       /**< The home IP address of the modem.  Setting this address to 0.0.0.0
    00556          will allow the IP address to be dynamically assigned by the PDSN for
    00557          Mobile IP and Simple IP. */
    00558
    00559     Boolean                         use_existing_ha_addr  ;
    00560       /**< Boolean indicating if the Home Agent IP Address currently stored in
    00561          this PDP should be saved.  If set to FALSE, the following three
    00562          fields are used for new Home Agent IP Address values. */
    00563
    00564     UInt8                         reserved6;
    00565       /**< for future use */
    00566
    00567     DWord                           prim_ha_addr  ;
    00568       /**< The Primary Home Agent IP address for this PDP */
    00569
    00570     DWord                           sec_ha_addr  ;
    00571       /**< The Secondary Home Agent IP address for this PDP */
    00572
    00573     Boolean                         use_existing_svc_str  ;
    00574       /**< Boolean indicating if the Service String currently stored in this
    00575          PDP should be saved.  If set to FALSE, the following three fields are
    00576          used for new Service String value. */
    00577
    00578     Boolean                         use_default_svc_str  ;
    00579       /**< Boolean indicating if the service string name that the modem would
    00580          create for this profile (the carrier name string + user name portion
    00581          of NAI) should be stored as the service string for this PDP. */
    00582
    00583     UInt8                            svc_str_length  ;
    00584       /**< The length of the service string to be stored for this PDP if
    00585          USE_DEFAULT_SVC_STR is set to FALSE. */
    00586
    00587     UInt8  svc_str[phnMaxSvcStrLen]  ;
    00588       /**< Text string of the service string to be stored for this PDP if
    00589          USE_DEFAULT_SVC_STR is set to FALSE. */
    00590
    00591     Boolean                         use_existing_dial_str  ;
    00592       /**< Boolean indicating if the Dial String currently stored in this PDP
    00593          should be saved.  If set to FALSE, the following three fields are
    00594          used for new Dial String values. */
    00595
    00596     Boolean                         use_default_dial_str  ;
    00597       /**< Boolean indicating if the dial string to associated and stored
    00598          with this PDP should be set to the default Packet Data dial string
    00599          stored in the modem. */
    00600
    00601     UInt8                            dial_str_length  ;
    00602       /**< The length of the dial string to be associated and stored with this
    00603          PDP if USE_DEFAULT_DIAL_STR is FALSE.   */
    00604
    00605     UInt8  dial_str[phnMaxDialStrLen]  ;
    00606       /**< The dial string to be associated and stored with this PDP if
    00607          USE_DEFAULT_DIAL_STR is FALSE. */
    00608
    00609     Boolean                         use_existing_dns_server  ;
    00610       /**< Boolean indicating if the DNS Server currently stored in this PDP
    00611          should be saved.  If set to FALSE, the following three fields are
    00612          used for new DNS Server values. */
    00613
    00614     Boolean                         dns_server_assigned  ;
    00615       /**< Boolean indicating if specific DNS server IP addresses are to be
    00616          associated and stored with this PDP. */
    00617
    00618     DWord                           prim_dns_addr  ;
    00619       /**< The Primary DNS server IP address for this PDP if the
    00620          DNS_SERVER_ASSIGNED field is set to TRUE. */
    00621
    00622     DWord                           sec_dns_addr  ;
    00623       /**< The Secondary DNS server IP address for this PDP if the
    00624          DNS_SERVER_ASSIGNED field is set to TRUE. */
    00625
    00626     PhnPDPConnectionType            connection_type;
    00627       /**< Connection type of the PDP  */
    00628
    00629     PhnPDPService                   pdp_services;
    00630      /**< Services for which this PDP should be used  */
    00631 }PhnPDPWrite;
    00632
    00633 /**
    00634  *  Packet data profile payload
    00635  **/
    00636  typedef struct {
    00637     UInt8                            uid[phnPDPUidLen]   ;
    00638       /**< The binary UID for this PDP.  */
    00639
    00640     Boolean                         restrict_nai   ;
    00641       /**< Boolean indicating if the NAI field is restricted from being read from
    00642          this PDP index.  None of the following NAI fields will contain valid
    00643          data if set to TRUE.  */
    00644
    00645     UInt8                            nai_length   ;
    00646       /**< The number of characters in the NAI.   */
    00647
    00648     UInt8                            nai[phnMaxNAILen]   ;
    00649       /**< The user NAI character string in ASCII representation.   */
    00650
    00651     Boolean                         restrict_mn_aaa_ss   ;
    00652       /**< Boolean indicating if the MN-AAA shared secret field is restricted
    00653          from being read from this PDP index.  None of the following MN-AAA
    00654          shared secret fields will contain valid data if set to TRUE. */
    00655
    00656     Boolean                         stored_mn_aaa_ss   ;
    00657       /**< Boolean indicating if the MN-AAA shared secret parameter is stored
    00658          with this PDP profile. */
    00659
    00660     UInt8                            mn_aaa_ss_length   ;
    00661       /**< Length of the MN-AAA shared secret parameter for this PDP if the
    00662          STORE_MN_AAA_SS field is set to FALSE. Maximum length shall be 16. */
    00663
    00664     UInt8  mn_aaa_ss[phnMaxMNAAASharedSecretLen]   ;
    00665       /**< Text/binary string of the MN-AAA shared secret parameter stored in the modem
    00666          for this PDP. */
    00667
    00668     Boolean                         restrict_mn_ha_ss   ;
    00669       /**< Boolean indicating if the MN-HA shared secret field is restricted from
    00670          being read from this PDP index.  None of the following MN-HA shared
    00671          secret fields will contain valid data if set to TRUE. */
    00672
    00673     UInt8                            mn_ha_ss_length   ;
    00674       /**< Length of the MN-HA shared secret parameter stored in the modem for
    00675          this PDP.  Maximum length shall be 16. */
    00676
    00677     UInt8  mn_ha_ss[phnMaxMNHASharedSecretLen]   ;
    00678       /**< Text/binary string of the MN-HA shared secret parameter stored in the modem
    00679          for this PDP. */
    00680
    00681     Boolean                         restrict_mn_aaa_spi   ;
    00682       /**< Boolean indicating if the SPI for MN-AAA authentication field is
    00683          restricted from being read from this PDP index.  None of the following
    00684          SPI for MN-AAA authentication fields will contain valid data if set to
    00685          TRUE. */
    00686
    00687     Boolean                         set_mn_aaa_spi   ;
    00688       /**< Boolean indicating if the SPI for MN-AAA authentication is set for
    00689          this PDP */
    00690
    00691     DWord                           mn_aaa_spi   ;
    00692       /**< Integer value of the SPI for MN-AAA authentication for this PDP. */
    00693
    00694     Boolean                         restrict_mn_ha_spi   ;
    00695       /**< Boolean indicating if the SPI for MN-HA authentication field is
    00696          restricted from being read from this PDP index.  None of the following
    00697          SPI for MN-AAA authentication fields will contain valid data if set to
    00698          TRUE. */
    00699
    00700     Boolean                         set_mn_ha_spi   ;
    00701       /**< Boolean indicating if the SPI for MN-HA authentication is set for this
    00702          PDP. */
    00703
    00704     DWord                           mn_ha_spi   ;
    00705       /**< Integer value of the SPI for MN-HA authentication parameter for this
    00706          PDP. */
    00707
    00708     Boolean                         restrict_rev_tunnel_pref   ;
    00709       /**< Boolean indicating if the reverse tunnel setting is restricted from
    00710          being read from this PDP index.  The REV_TUNNEL_PREF field will not
    00711          contain valid data if set to TRUE. */
    00712
    00713     Boolean                         rev_tunnel_pref   ;
    00714       /**< Boolean indicating if reverse tunnel is used for this PDP. */
    00715
    00716     Boolean                         restrict_home_addr   ;
    00717       /**< Boolean indicating if the modem's Home Address setting is
    00718          restricted from being read from this PDP index.  The HOME_ADDR field
    00719          will not contain valid data if set to TRUE. */
    00720
    00721     DWord                           home_addr   ;
    00722       /**< The home IP address of the modem for this PDP.  An address of 0.0.0.0
    00723          indicates the IP address will be dynamically assigned by the PDSN for
    00724          Mobile IP and Simple IP. */
    00725
    00726     Boolean                         restrict_ha_addr   ;
    00727       /**< Boolean indicating if the Home Agent IP address fields are restricted
    00728          from being read from this PDP index.  None of the following Home Agent
    00729          IP address fields will contain valid data if set to TRUE. */
    00730
    00731     DWord                           prim_ha_addr   ;
    00732       /**< The Primary Home Agent IP address for this PDP  */
    00733
    00734     DWord                           sec_ha_addr   ;
    00735       /**< The Secondary Home Agent IP address for this PDP  */
    00736
    00737     UInt8                            svc_str_length   ;
    00738       /**< The length of the service string for this PDP. */
    00739
    00740     UInt8  svc_str[phnMaxSvcStrLen]   ;
    00741       /**< Text string of the service string for this PDP. */
    00742
    00743     UInt8                            dial_str_length   ;
    00744       /**< The length of the dial string for this PDP. */
    00745
    00746     UInt8  dial_str[phnMaxDialStrLen]   ;
    00747       /**< The dial string for this PDP. */
    00748
    00749     Boolean                         dns_server_assigned   ;
    00750       /**< Boolean indicating if specific DNS server IP addresses are assigned
    00751          for this PDP.  */
    00752
    00753     DWord                           prim_dns_addr   ;
    00754       /**< The Primary DNS server IP address for this PDP if the
    00755          DNS_SERVER_ASSIGNED field is set to TRUE. */
    00756
    00757     DWord                           sec_dns_addr   ;
    00758       /**< The Secondary DNS server IP address for this PDP if the
    00759          DNS_SERVER_ASSIGNED field is set to TRUE. */
    00760
    00761     PhnPDPConnectionType            connection_type;
    00762       /**< Connection type of the PDP  */
    00763
    00764     PhnPDPService                   pdp_services;
    00765      /**< Services for which this PDP should be used  */
    00766
    00767 } PhnPDPPayload;
    00768
    00769 /**
    00770  *
    00771  **/
    00772 typedef struct
    00773   {
    00774     DWord                       lat;
    00775      /**< Two's complement value of the latitude of the modem, in units of
    00776          360/2^25 degrees. */
    00777
    00778     DWord                       lon;
    00779      /**< Two's complement value of the longitude of the modem, in units of
    00780          360/2^26 degrees. */
    00781
    00782     DWord                       time_stamp;
    00783      /**< CDMA system time, in seconds, at the time the solution was valid. */
    00784
    00785     UInt8                        loc_uncertainty_ang;
    00786      /**< Angle of axis with respect to True North for position uncertainty,
    00787          in units of 5.625 degrees, in the range from 0 to 84.375 degrees,
    00788          where 0 degrees is True North and the angle increases towards the
    00789          East. */
    00790
    00791     PhnPDPAUncerttype         loc_uncertainty_a;
    00792      /**< Standard deviation of axis along angle specified for position
    00793          uncertainty. */
    00794
    00795     PhnPDPAUncerttype         loc_uncertainty_p;
    00796      /**< Standard deviation of axis perpendicular to angle specified for
    00797          position uncertainty. */
    00798
    00799     UInt8                        phn_pd_svc_mask;
    00800      /**< Bit mask indicating which of the following optional fields contain
    00801          valid data. */
    00802
    00803     UInt16                        altitude;
    00804      /**< Height of the modem, in units of 1 meter, in the range from -500 m
    00805          to 15883 m, where the binary value of the field conveys the height
    00806          plus 500 m.  Valid if OPT_FIELD_MASK field has
    00807          PDSM_PD_ALTITUDE_VALID bit set. */
    00808
    00809     UInt16                        heading;
    00810      /**< Direction of the modem, in units of 360/2^10 degrees, in the range
    00811          from 0 to 360x(1-2^10) degrees (where 0 degrees is True North and
    00812          the angle increases towards the East.  Valid if OPT_FIELD_MASK
    00813          field has PDSM_PD_VELOCITY_VALID bit set. */
    00814
    00815     UInt16                        velocity_hor;
    00816      /**< Horizontal component of the velocity of the modem, in units of
    00817          0.25 m/s, in the range from 0 to 127.75 m/s.  Valid if
    00818          OPT_FIELD_MASK field has PDSM_PD_VELOCITY_VALID bit set. */
    00819
    00820     Boolean                     fix_t;
    00821      /**< Boolean indicating fixed type.  0 means 2D fix and 1 means 3D
    00822          fix. */
    00823
    00824     UInt16                        velocity_ver;
    00825      /**< Two's complement value of the vertical component of the velocity of
    00826          the modem, in units of 0.5 m/s, in the range from -64m/s to
    00827          +63.5m/s.  Valid if OPT_FIELD_MASK field has
    00828          PDSM_PD_VELOCITY_VALID bit set and FIX_T is set to TRUE. */
    00829
    00830     PhnPDPAUncerttype         loc_uncertainty_v;
    00831      /**< Standard deviation of vertical error for position uncertainty.
    00832          Valid if OPT_FIELD_MASK field has PDSM_PD_VELOCITY_VALID bit
    00833          set. */
    00834   }
    00835 PhnPDDataType, *PhnPDDataPtr;
    00836
    00837 /**
    00838  *
    00839  **/
    00840 typedef enum
    00841 {
    00842   phnSysPrefHomeOnly,       /**<        */
    00843   phnSysPrefAOnly,      /**<        */
    00844   phnSysPrefBOnly,      /**<        */
    00845   phnSysPrefStandard        /**<        */
    00846
    00847 } _PhnSysPrefSetting;
    00848
    00849 typedef UInt8 PhnSysPrefSetting;        /**<        */
    00850
    00851 /**
    00852  *
    00853  **/
    00854 typedef enum
    00855 {
    00856   phnGenericCDMASMSEncoding,        /**<        */
    00857   phnGenericCDMAVoiceMailNumber,    /**<        */
    00858   phnGenericCDMAVoiceMailOption,
    00859   phnGenericCDMAAllowPDPSlotModification
    00860 } _PhnGenericCDMAPreference;
    00861
    00862 typedef UInt32 PhnGenericCDMAPreference;  /**<      */
    00863
    00864 /**
    00865  *
    00866  **/
    00867 typedef enum
    00868 {
    00869   phnSMSEncodingGSM = 0,        /**<        */
    00870   phnSMSEncodingASCII,          /**<        */
    00871   phnSMSEncodingISO8859_1       /**<        */
    00872 } _PhnGenericCDMASMSEncodingType;
    00873
    00874 typedef UInt32 PhnGenericCDMASMSEncodingType;  /**<     */
    00875
    00876 /**
    00877  *
    00878  **/
    00879 typedef enum
    00880 {
    00881   phnCDMAFirmwareSprint = 0,        /**<        */
    00882   phnCDMAFirmwareVerizon,           /**<        */
    00883   phnCDMAFirmwareBellMobility,      /**<        */
    00884   phnCDMAFirmwareEarthlink,         /**<        */
    00885   phnCDMAFirmwareCrowdy,            /**<CDMA rest of world*/
    00886   phnCDMAFirmwareAlltel             /**<        */
    00887 } _PhnCDMAFirmwareType;
    00888
    00889 typedef UInt32 PhnCDMAFirmwareType; /**<        */
    00890
    00891
    00892 typedef enum
    00893 {
    00894   phnCDMAVoicemailMDN = 0,
    00895   phnCDMAVoicemailMDN1,
    00896   phnCDMAVoicemailDigits
    00897 } _PhnCDMAVoicemailType;
    00898
    00899 typedef UInt32 PhnCDMAVoicemailType;
    00900
    00901
    00902 #define PhnCDMAMediaTVSettingsMajorVersion 0x0001
    00903 #define PhnCDMAMediaTVSettingsMinorVersion 0x0000
    00904 #define PhnCDMAMediaTVSettingsVersion  (((UInt32)PhnCDMAMediaTVSettingsMajorVersion << 16) | PhnCDMAMediaTVSettingsMinorVersion)
    00905 typedef struct _PhnCDMAMediaTVSettings
    00906 {
    00907   UInt32 version;                   /**< (1) should be set to the structure version that you are requesting */
    00908
    00909   char   homePage[phnMaxUrlLen+1];  /**< NULL terminated string */
    00910   UInt32 proxyAddr;                 /**< proxy IP address       */
    00911   UInt16 proxyPort;                 /**< proxy port             */
    00912   UInt32 streamBufferSize;          /**< stream buffer size     */
    00913   UInt32 streamTimeout;             /**< streaming timeout      */
    00914 }
    00915 PhnCDMAMediaTVSettingsType;
    00916
    00917
    00918 #endif // _HS_PHONE_CDMA_TYPES_H__

Top | Palm Developer Network © 2004-2008, Palm, Inc. All rights reserved. Generated on Fri Jun 13 10:06:53 2008 for Palm API Guide