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