|
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 HsPhoneTypes.h 00013 * 00014 * @brief Telephony data types that are common between ARM and 68K 00015 * 00016 */ 00017 00018 00019 #ifndef __HS_PHONE_TYPES_H__ 00020 00021 #define __HS_PHONE_TYPES_H__ 00022 00023 #include <PalmTypes.h> 00024 #include <PalmCompatibility.h> /** For VoidHand */ 00025 00026 /****************************************************************************** 00027 * Defines 00028 *****************************************************************************/ 00029 /** 00030 * @name Type and creator of CDMA and GSM phone libraries. 00031 * 00032 **/ 00033 /*@{*/ 00034 #define phnLibDbType 'libr' /**< Phone Library type */ 00035 00036 #define phnLibCDMADbCreator 'PIL!' /**< CDMA Library creator */ 00037 #define phnLibCDMAName "Phone Library" /**< CDMA Library name */ 00038 00039 #define phnLibOldCDMADbCreator hsFileCCDMAPhoneLib /**< Old CDMA Library creator */ 00040 #define phnLibOldCDMAName "PhoneLib.prc" /**< Old CDMA Library name */ 00041 00042 00043 #define phnLibGSMDbCreator hsFileCGSMPhoneLib /**< GSM Library creator */ 00044 #define phnLibGSMDbName "Phone Library" /**< GSM Library database name */ 00045 #define phnLibGSMName "GSMLibrary.lib" /**< GSM Library name */ 00046 00047 00048 #define phnVoiceCall1Active 0x0001 /**< There is a voice call active on line1 */ 00049 #define phnVoiceCall2Active 0x0002 /**< There is a voice call active on line2 */ 00050 #define phnCSDCallActive 0x0004 /**< There is a data call currently active */ 00051 // Note: Actually the virtual modem has 00052 // control but does not neccessarily 00053 // have an active data call 00054 #define phnGPRSCallActive 0x0008 /**< There is a GPRS (GSM) session active */ 00055 #define phnPacketDataCallActive 0x0008 /**< There is an active 1X (CDMA) call */ 00056 #define phnPacketDataCallDormant 0x0010 /**< There is a dormany 1X (CDMA) call */ 00057 00058 #define phnCall1StatusActive 0x0020 /**< The first call's status is phnConnectionActive */ 00059 #define phnCall2StatusActive 0x0040 /**< The second call's status is phnConnectionActive */ 00060 #define phnCall1StatusDialing 0x0080 /**< The first call's status is phnConnectionDialing */ 00061 #define phnCall2StatusDialing 0x0100 /**< The second call's status is phnConnectionDialing */ 00062 #define phnCall1StatusIncoming 0x0200 /**< The first call's status is phnConnectionIncoming */ 00063 #define phnCall2StatusIncoming 0x0400 /**< The second call's status is phnConnectionIncoming */ 00064 #define phnCall1StatusAlerting 0x0800 /**< The first call's status is phnConnectionIncoming */ 00065 #define phnCall2StatusAlerting 0x1000 /**< The second call's status is phnConnectionIncoming */ 00066 /*@}*/ 00067 00068 /** 00069 * @name CDMA Threshold level for signal bar (based on Generic Handset requirement) 00070 * 00071 **/ 00072 /*@{*/ 00073 #define maxDBm4signalLevel0 105 /**< will display no bar, mid percent = 10 */ 00074 #define maxDBm4signalLevel1 95 /**< will display 1 bar, mid percent = 30 */ 00075 #define maxDBm4signalLevel2 85 /**< will display 2 bars, mid percent = 50 */ 00076 #define maxDBm4signalLevel3 75 /**< will display 3 bars, mid percent = 70 */ 00077 /*@}*/ 00078 00079 00080 /** 00081 * if below maxDBm4signalLevel3 then display 4 bars, mid percent = 90 00082 * Threshold ecio level for signal bar (based on Generic Handset requirement) 00083 **/ 00084 /*@{*/ 00085 #define maxDB4ecioLevel0 15 /**< will display no bar */ 00086 #define maxDB4ecioLevel1 13 /**< will display 1 bar */ 00087 #define maxDB4ecioLevel2 11 /**< will display 2 bars */ 00088 #define maxDB4ecioLevel3 9 /**< will display 3 bars */ 00089 /*@}*/ 00090 00091 /** 00092 * @name Volume 00093 * 00094 **/ 00095 /*@{*/ 00096 #define phnVolumeMin 0 /**< Minimum volume level */ 00097 #define phnVolumeMax 7 /**< Maximum volume level */ 00098 /*@}*/ 00099 00100 00101 /** 00102 * @name Enumerations and Typedefs 00103 * 00104 **/ 00105 /*@{*/ 00106 #define phnLibUnknownID 0xff000000 /**< */ 00107 #define phnLibNoLookupNeededID 0xff000001 /**< */ 00108 #define phnLibFtrNumResetFlag 10 /**< */ 00109 #define phnLibFtrNumBottomBRate 11 /**< */ 00110 #define phnLibFtrNumBlockATCmd 12 /**< */ 00111 #define phnLibFtrValBlockATCmd 'noAT' /**< */ 00112 /*@}*/ 00113 00114 typedef UInt16 PhnConnectionID; /**< Connection ID */ 00115 typedef UInt32 PhnDatabaseID; /**< Database ID */ 00116 typedef VoidHand PhnAddressHandle; /**< */ 00117 typedef VoidHand PhnAddressList; /**< */ 00118 typedef UInt32 PhnOperatorID; /**< */ 00119 00120 00121 /****************************************************************************** 00122 * Enumerations 00123 *****************************************************************************/ 00124 /** 00125 * Classes of service for which applications can register 00126 **/ 00127 enum _PhoneServiceClassType 00128 { 00129 phnServiceVoice = 1, /**< 0x0001 */ 00130 phnServiceSMS = 2, /**< 0x0002 */ 00131 phnServiceActivation = 4, /**< 0x0004 */ 00132 phnServiceData = 8, /**< 0x0008 */ 00133 phnServiceIOTA = 16, /**< 0x0010 */ 00134 phnServiceSIMToolkit = 32, /**< 0x0020 */ 00135 phnServiceAFLT = 64, /**< 0x0040 */ 00136 phnServiceMisc = 128, /**< 0x0080 */ 00137 phnServiceEssentials = 256, /**< 0x0100 */ 00138 phnServiceMMS = 512, /**< 0x200 */ 00139 phnServiceWAP = 1024, /**< 0x400 */ 00140 phnServiceAll = phnServiceVoice | phnServiceSMS | phnServiceAFLT | 00141 phnServiceData | phnServiceActivation | phnServiceMisc | phnServiceIOTA | 00142 phnServiceEssentials | phnServiceSIMToolkit | phnServiceMMS | phnServiceWAP, 00143 phnServiceMax = 0xFFFF /**< Reserved. */ 00144 }; 00145 00146 typedef UInt16 PhoneServiceClassType; /**< */ 00147 00148 #define isValidPhoneServiceClassType(s) ((s & phnServiceAll) != 0) /**< */ 00149 00150 /** 00151 * Phone address fields 00152 **/ 00153 typedef enum { 00154 phnAddrFldPhone, /**< */ 00155 phnAddrFldFirstName, /**< */ 00156 phnAddrFldLastName /**< */ 00157 } _PhnAddressField; 00158 00159 #define isValidPhnAddressField(a) ((a >= phnAddrFldPhone) && (a <= phnAddrFldLastName)) /**< */ 00160 00161 // make sure that size of enum is same across all compilers 00162 typedef UInt8 PhnAddressField; /**< */ 00163 00164 /** 00165 * GSM CLIR Mode 00166 **/ 00167 typedef enum { 00168 gsmDialCLIRDefault, /**< */ 00169 gsmDialCLIRTemporaryInvocation, /**< */ 00170 gsmDialCLIRTemporarySuppression /**< */ 00171 } _GSMDialCLIRMode; 00172 00173 #define isValidGSMDialCLIRMode(d) ((d >= gsmDialCLIRDefault) && (d <= gsmDialCLIRTemporarySuppression)) /**< */ 00174 00175 // make sure that size of enum is same across all compilers 00176 typedef UInt8 GSMDialCLIRMode; /**< */ 00177 00178 00179 /** 00180 * Power state of the radio 00181 **/ 00182 enum _PhnPowerType 00183 { 00184 phnPowerOff, /**< */ 00185 phnPowerOn, /**< */ 00186 phnPowerStartCharging, /**< */ 00187 phnPowerStopCharging, /**< */ 00188 phnPowerLow, /**< */ 00189 phnPowerSave /**< Modem goes to deep sleep after failing to search for service */ 00190 }; 00191 00192 typedef UInt8 PhnPowerType; /**< */ 00193 00194 #define isValidPhnPowerType(p) (p <= phnPowerSave) /**< */ 00195 //#define isValidPhnPowerType(p) ((p >= phnPowerOff) && (p <= phnPowerSave)) 00196 00197 /** 00198 * Status of the SIM on GSM radio only 00199 **/ 00200 enum _GSMSIMStatus { 00201 simMissing, /**< */ 00202 simFailure, /**< */ 00203 simWrong, /**< */ 00204 simNotReady, /**< */ 00205 simReady, /**< */ 00206 simUnknown, /**< */ 00207 simPresent /**< */ 00208 // <chg 05-05-2002 TRS> bug # 13072 00209 }; 00210 00211 typedef UInt8 GSMSIMStatus; /**< */ 00212 00213 00214 /** 00215 * LifeTimer Enums 00216 **/ 00217 enum 00218 { 00219 lifeTimeVoice, /**< */ 00220 lifeTimeData /**< */ 00221 }; 00222 00223 typedef UInt8 PhnLifeTimer; /**< */ 00224 00225 /** 00226 * Currently on the GSM side there is no way for the control channel to know 00227 * that a data call has gone active. To resolove this issue there are two 00228 * posibble solutions. 00229 * 00230 * 1. Have the radio send an unoslicted event accorss all channels to indicate a 00231 * data call has gone active 00232 * 2. Have the NetLib post a notification to the GSM Library that a data call is 00233 * going active. 00234 **/ 00235 00236 /** 00237 * 00238 **/ 00239 typedef enum 00240 { 00241 autoLockMode, /**< option Lock Phone on Power Down is chosen */ 00242 immediateLockMode /**< option Lock Phone immediately is chosen */ 00243 } 00244 PhnLockModeEnum; 00245 typedef UInt8 PhnLockMode; 00246 #define isValidPhnLockMode(m) ((m >= autoLockMode) && (m <= immediateLockMode)) /**< */ 00247 00248 #endif // ifndef __HS_PHONE_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 |