|
API Guide Home (Online version only) |
![]() |
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 |