|
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 * @file HsPhoneNetwork.h 00012 * 00013 * @brief Header File for Phone Library API ---- NETWORK CATEGORY 00014 * 00015 * Notes: 00016 * All implementations of the Handspring Phone Library support a common API. 00017 * This API is broken up into various categories for easier management. This file 00018 * defines the Network category. These API calls are used to interact with the wireless network. 00019 */ 00020 00021 00022 #ifndef HS_PHONENETWORK_H 00023 #define HS_PHONENETWORK_H 00024 #include <PalmOS.h> 00025 #include <PalmTypes.h> 00026 #ifndef __CORE_COMPATIBILITY_H__ 00027 #include <PalmCompatibility.h> 00028 /** workaround for differing header files in sdk-3.5 and sdk-internal */ 00029 #ifndef __CORE_COMPATIBILITY_H__ 00030 #define __CORE_COMPATIBILITY_H__ 00031 #endif 00032 #endif 00033 #include <HsPhoneTraps.h> /**< trap table definition for phone library calls */ 00034 #include <HsPhoneErrors.h> /**< error codes returned by phone library functions */ 00035 #include <HsPhoneTypes.h> 00036 00037 /** Phone Library functions */ 00038 00039 00040 /** 00041 * @brief Gets information on a specific voicemail box as specified in the data argument. 00042 * 00043 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00044 * @param data: IN: See “PhnMsgBoxDataType” for details 00045 * @retval 0 for success; otherwise failed. 00046 **/ 00047 00048 extern Err PhnLibBoxInformation(UInt16 refNum, PhnMsgBoxDataType* data) 00049 PHN_LIB_TRAP(PhnLibTrapBoxInformation); 00050 00051 /** 00052 * @brief Gets or Set information on a specific voicemail box as specified in the data argument. 00053 * 00054 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00055 * @param data: IN: See “PhnMsgBoxDataType” for details 00056 * @param bGetInfo: IN: Indicates whether the operation is a get (True) or set (False). 00057 * @retval 0 for success; otherwise failed. 00058 **/ 00059 extern Err PhnLibBoxInformationEx (UInt16 refNum, PhnMsgBoxDataType *data, Boolean bGetInfo) 00060 PHN_LIB_TRAP (PhnLibTrapBoxInformationEx); 00061 00062 /** 00063 * @brief Return the number of the voice box of the given type for the given line as 00064 * it is stored on the SIM. 00065 * 00066 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00067 * @param type: IN: See “PhnMsgBoxType” for details. On Treo™ 600 smartphone by palmOne, 00068 * only the kBoxVoice type is supported 00069 * @param line: IN: On a GSM/GPRS device, line can be either “1” or “2”. This is dependant on if 00070 * the subscriber account supports 1 or 2 line(s) (on GSM, this is called 00071 * Alternative Line Service). 00072 * On the CDMA device, it is currently not used. 00073 * @param number: IN: Returns the number as a string. 00074 * @retval PhnLibGetBoxNumber returns 0 if the number could be determined without 00075 * encountering an error. 00076 **/ 00077 extern Err PhnLibGetBoxNumber(UInt16 refNum, PhnMsgBoxType type, UInt16 line, CharPtr * number) 00078 PHN_LIB_TRAP(PhnLibTrapGetBoxNumber); 00079 00080 /** 00081 * @brief Get value for home network’s operator ID (MCC+MNC) string 00082 * 00083 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00084 * @param *buffer: IN: Buffer to hold returned string 00085 * @param bufferSizeP: IN: 00086 * @retval 0 for success; otherwise failed 00087 **/ 00088 extern Err PhnLibHomeOperatorID (UInt16 refNum, char *buffer, Int16* bufferSizeP) 00089 PHN_LIB_TRAP(PhnLibTrapHomeOperatorID); 00090 00091 /** 00092 * @brief Get value for current network’s operator ID (MCC+MNC) string 00093 * 00094 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00095 * @param *buffer: IN: buffer to hold returned string 00096 * @param bufferSizeP: IN: 00097 * @retval 0 for success; otherwise failed 00098 **/ 00099 extern Err PhnLibCurrentOperatorID (UInt16 refNum, char *buffer, Int16* bufferSizeP) 00100 PHN_LIB_TRAP(PhnLibTrapCurrentOperatorID); 00101 00102 // Used only by the phone app, so change CDMA function to match this prototype -- ignore mode parameter 00103 /** 00104 * @brief Get value for current network’s operator string 00105 * 00106 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00107 * @param id: IN: returned operator ID value 00108 * @param name: IN: returned operator name string 00109 * @param mode: IN: returned registration mode for current operator 00110 * @retval 0 for success; otherwise failed 00111 **/ 00112 extern Err PhnLibCurrentOperator (UInt16 refNum, PhnOperatorID* id, CharPtr* name, GSMRegistrationMode* mode) 00113 PHN_LIB_TRAP(PhnLibTrapCurrentOperator); 00114 00115 00116 // Use this as base -- CDMA function just returns phnErrNotSupported 00117 /** 00118 * @brief Set value of operator for radio to register to 00119 * 00120 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00121 * @param op: IN: operator to register to 00122 * @param regMode: IN: type of registration to make 00123 * @retval 0 for success; otherwise failed 00124 **/ 00125 extern Err PhnLibSetOperator (UInt16 refNum, PhnOperatorType* op, GSMRegistrationMode regMode) 00126 PHN_LIB_TRAP(PhnLibTrapSetOperator); 00127 00128 // Change to return err, and add PhnRoamStatus parameter 00129 /** 00130 * @brief Return the roaming status 00131 * 00132 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00133 * @param roamStatus: IN: PhnLibRoaming returns the roaming status. 00134 * @retval 0 if no error; error code otherwise 00135 **/ 00136 extern Err PhnLibRoaming(UInt16 refNum, PhnRoamStatus * roamStatus) 00137 PHN_LIB_TRAP(PhnLibTrapRoaming); 00138 00139 /** 00140 * @brief Checks if the phone found any network cellular service. 00141 * 00142 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00143 * @retval true if service is found. 00144 * false if no service 00145 **/ 00146 extern Boolean PhnLibRegistered (UInt16 refNum) 00147 PHN_LIB_TRAP(PhnLibTrapRegistered); 00148 00149 /** 00150 * @brief Return the signal strength 00151 * 00152 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00153 * @param quality: IN: Phone signal strength in dBm 00154 * @retval 0 if no error 00155 **/ 00156 extern Err PhnLibSignalQuality (UInt16 refNum, UInt16 * quality) 00157 PHN_LIB_TRAP(PhnLibTrapSignalQuality); 00158 00159 /** 00160 * @brief Get the signal quality and ecio level information. 00161 * 00162 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00163 * @param quality: IN: Phone signal strength in dBm 00164 * @param *bEcio: IN: 00165 * @param *ecioLvl: IN: 00166 * @retval 0 for success; otherwise failed 00167 **/ 00168 extern Err PhnLibSignalQualityEx (UInt16 refNum, UInt16 * quality, Boolean *bEcio, UInt16 *ecioLvl) 00169 PHN_LIB_TRAP (PhnLibTrapSignalQualityEx); 00170 00171 /** 00172 * @brief Get value for current network’s provider 00173 * 00174 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00175 * @param name: IN: returned provider name string 00176 * @retval 0 for success; otherwise failed 00177 **/ 00178 extern Err PhnLibCurrentProvider(UInt16 refNum, char** name) 00179 PHN_LIB_TRAP(PhnLibTrapCurrentProvider); 00180 00181 /** 00182 * @brief Get list of operators available to radio 00183 * 00184 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00185 * @param list: IN: container for returned list of operator values 00186 * @retval 0 for success; otherwise failed 00187 **/ 00188 extern Err PhnLibGetOperatorList (UInt16 refNum, PhnOperatorListPtr * list) 00189 PHN_LIB_TRAP(PhnLibTrapGetOperatorList); 00190 00191 /** 00192 * @brief Return a list of phone numbers from the device. These numbers could be 00193 * voicemail box, data line or fax line (if supported). 00194 * 00195 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00196 * @param ownNumbers: IN: Pointer to the list of phone box number of the device. 00197 * @retval 0 for success; otherwise failed 00198 **/ 00199 extern Err PhnLibGetOwnNumbers (UInt16 refNum, PhnAddressList* ownNumbers) 00200 PHN_LIB_TRAP(PhnLibTrapGetOwnNumbers); 00201 00202 /** 00203 * @brief <description to be provided> 00204 * 00205 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00206 * @param ownNumbers: IN: 00207 * @retval 0 for success; otherwise failed 00208 **/ 00209 extern Err PhnLibSetOwnNumbers (UInt16 refnum, PhnAddressList ownNumbers) 00210 PHN_LIB_TRAP(PhnLibTrapSetOwnNumbers); 00211 00212 /** 00213 * @brief Enable/disable call waiting for phone calls on radio 00214 * 00215 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00216 * @param enabled: IN: flag to enable/disable call waiting 00217 * @retval 0 for success; otherwise failed 00218 **/ 00219 extern Err PhnLibSetCallWaiting (UInt16 refNum, Boolean enabled) 00220 PHN_LIB_TRAP(PhnLibTrapSetCallWaiting); 00221 00222 /** 00223 * @brief Get call waiting setting for phone calls on radio 00224 * 00225 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00226 * @param enabled: IN: return value of call waiting service on radio. 00227 * true if call waiting is enabled 00228 * false if call waiting is disabled 00229 * value is undefined if return value of function is not 0 (ERROR) 00230 * @retval 0 for success; otherwise failed 00231 **/ 00232 extern Err PhnLibGetCallWaiting (UInt16 refNum, BooleanPtr enabled) 00233 PHN_LIB_TRAP(PhnLibTrapGetCallWaiting); 00234 00235 /** 00236 * @brief 00237 * 00238 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00239 * @param enable: IN: True to enable CLIP. 00240 * False to disable it. 00241 * @retval Err Error code. 00242 **/ 00243 extern Err PhnLibSetCLIP (UInt16 refNum, Boolean enable) 00244 PHN_LIB_TRAP(PhnLibTrapSetCLIP); 00245 00246 /** 00247 * @brief (TBC) 00248 * 00249 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00250 * @param enabled: IN: 00251 * @retval Err Error code. 00252 **/ 00253 extern Err PhnLibGetCLIP(UInt16 refNum, Boolean* enabled) 00254 PHN_LIB_TRAP(PhnLibTrapGetCLIP); 00255 00256 // Used only by the phone app, so change CDMA function to match this prototype 00257 /** 00258 * @brief Returns the forwarded number stored in smartphone radio. 00259 * 00260 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00261 * @param condition: IN: forwarding condition to get values for. Currently CDMA only supports 00262 * “phnForwardUnconditional” as defined in “PhnForwardType”. 00263 * @param destination: IN: returned forwarding address for given forwarding condition 00264 * @retval Err 0 for success; otherwise failed 00265 **/ 00266 extern Err PhnLibGetForwarding (UInt16 refNum, PhnForwardType condition, PhnAddressHandle * destination) 00267 PHN_LIB_TRAP(PhnLibTrapGetForwarding); 00268 00269 /** 00270 * @brief 00271 * 00272 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00273 * @param mode: IN: (TBC) 00274 * @retval 0 for success; otherwise failed. 00275 **/ 00276 extern Err PhnLibSetCLIR (UInt16 refNum, GSMDialCLIRMode mode) 00277 PHN_LIB_TRAP(PhnLibTrapSetCLIR); 00278 00279 /** 00280 * @brief (TBC) 00281 * 00282 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00283 * @param mode: IN: 00284 * @param status: IN: 00285 * @retval Err Error code. 00286 **/ 00287 extern Err PhnLibGetCLIR (UInt16 refNum, GSMDialCLIRMode* mode, PhnCLIRStatus* status) 00288 PHN_LIB_TRAP(PhnLibTrapGetCLIR); 00289 00290 /** 00291 * @brief Used to Activate a Barring Service 00292 * 00293 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00294 * @param facility: IN: Barring condition to be set 00295 * @param password: IN: Password to set Barring. This will be used when changing barring option. 00296 * @retval 0 for success; otherwise failed 00297 **/ 00298 extern Err PhnLibSetBarring (UInt16 refNum, PhnBarFacilityType facility, CharPtr password) 00299 PHN_LIB_TRAP(PhnLibTrapSetBarring); 00300 00301 /** 00302 * @brief Get Barring Service state for given facility 00303 * 00304 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00305 * @param facility: IN: barring condition to get state for 00306 * @param enabled: IN: returned state of given barring service; true = activated. 00307 * @retval 0 for success; otherwise failed 00308 **/ 00309 extern Err PhnLibGetBarring (UInt16 refNum, PhnBarFacilityType facility, Boolean* enabled) 00310 PHN_LIB_TRAP(PhnLibTrapGetBarring); 00311 00312 /** 00313 * @brief Used to Deactivate a Barring Service 00314 * 00315 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00316 * @param facility: IN: barring condition to be deactivated 00317 * @param password: IN: 00318 * @retval 0 for success; otherwise failed 00319 **/ 00320 extern Err PhnLibDeactivateBarring (UInt16 refNum, PhnBarFacilityType facility, CharPtr password) 00321 PHN_LIB_TRAP(PhnLibTrapDeactivateBarring); 00322 00323 /** 00324 * @brief Retrieves the roaming indicator text that needs to be displayed if the 00325 * phone is in enhanced roaming mode. 00326 * 00327 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00328 * @param roamTxt: IN: Pointer to a char of “PhnEnhancedRoamIndMaxLength” maximum length. 00329 * @param *iconState: IN: 00330 * @retval phnErrNotAllowed if called when the phone is not in enhanced roaming. 00331 **/ 00332 extern Err PhnLibGetEnhancedRoamIndicator (UInt16 refNum, char * roamTxt, PhnRoamIconState *iconState) 00333 PHN_LIB_TRAP(PhnLibTrapEnhancedRoamIndicator); 00334 00335 /** 00336 * @brief (TBD) 00337 * 00338 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00339 * @param Mode: IN: see PhnRoamPrefSelectionType 00340 * @retval Err Error code. 00341 **/ 00342 extern Err PhnLibGetRoamPrefMode (UInt16 refNum, PhnRoamPrefSelectionType *roamPrefP) 00343 PHN_LIB_TRAP (PhnLibTrapGetRoamPrefMode); 00344 00345 /** 00346 * @brief Set the roaming mode. This API is the same as used when the user 00347 * checks or unchecks the “Enable Digital roaming” in the Phone 00348 * Preference on Treo 600. If set, then digital roaming will be allowed. 00349 * 00350 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00351 * @param Mode: IN: see PhnRoamPrefSelectionType 00352 * @retval Error status 00353 **/ 00354 extern Err PhnLibSetRoamPrefMode (UInt16 refNum, PhnRoamPrefSelectionType roamPref) 00355 PHN_LIB_TRAP (PhnLibTrapSetRoamPrefMode); 00356 00357 /** 00358 * @brief 00359 * 00360 * @param refNum: IN: 00361 * @param pInfo: IN: 00362 * @retval Err Error code. 00363 **/ 00364 extern Err PhnLibSetRoamPrefInfo (UInt16 refNum, PhnRoamPrefInfoPtr pInfo) 00365 PHN_LIB_TRAP (PhnLibTrapSetRoamPrefInfo); 00366 00367 /** 00368 * @brief This function indicate if the Operator has locked the phone to its 00369 * network (i.e. it can’t be used on other network) 00370 * 00371 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00372 * @param facilityType: IN: optional facility type, or 0 (TBC) 00373 * @param enabled: IN: pointer to output value 00374 * @retval True if a network was found even if we are unable to register to it. 00375 * False if no network can be found. 00376 **/ 00377 extern Err PhnLibGetOperatorLock(UInt16 refNum, UInt16 facilityType, Boolean* enabled) 00378 PHN_LIB_TRAP(PhnLibTrapGetOperatorLock); 00379 00380 /** 00381 * @brief (TBD) 00382 * 00383 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00384 * @retval Err Error code. 00385 **/ 00386 extern Boolean PhnLibNetworkAvailable (UInt16 refNum) 00387 PHN_LIB_TRAP(PhnLibTrapNetworkAvailable); 00388 00389 // GSM and CDMA differ 00390 // Used only by the phone app, so change CDMA function to match this prototype 00391 /** 00392 * @brief Set call forwarding settings 00393 * 00394 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00395 * @param condition: IN: forwarding condition to be set 00396 * @param mode: IN: forwarding condition value to be set 00397 * @param destination: IN: forwarding address value 00398 * @retval Err 0 for success; otherwise failed 00399 **/ 00400 extern Err PhnLibSetForwarding (UInt16 refNum, PhnForwardType condition, PhnForwardModeType mode, PhnAddressHandle destination) 00401 PHN_LIB_TRAP(PhnLibTrapSetForwarding); 00402 00403 /** 00404 * @brief This function gives the threshold level of signal quality at which 00405 * the radio is capable of sending data. 00406 * 00407 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00408 * @param threshold: IN: (TBC) 00409 * @retval 0 for success; otherwise failed 00410 **/ 00411 extern Err PhnLibUsableSignalStrengthThreshold (UInt16 refNum, WordPtr threshold) 00412 PHN_LIB_TRAP(PhnLibTrapUsableSignalStrengthThreshold); 00413 00414 /** 00415 * @brief Returns the current state of the data session as well as the available 00416 * data session type currently available on the network. 00417 * 00418 * @param refNum: IN: Library reference number returned by HsGetPhoneLibrary(). 00419 * @param dataSessionStateP: OUT: data structure to be filled out. version field must be set 00420 * @retval 0 for success; otherwise failed 00421 **/ 00422 extern Err PhnLibGetDataSessionInfo(UInt16 refNum, PhnDataSessionStateType *dataSessionStateP) 00423 PHN_LIB_TRAP(PhnLibTrapGetDataSessionInfo); 00424 00425 #endif
| Top | Palm Developer Network © 2004-2008, Palm, Inc. All rights reserved. Generated on Fri Jun 13 10:06:53 2008 for Palm API Guide |