API Guide Home
(Online version only)

HsPhoneGSMTypes.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    HsPhoneGSMTypes.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 GSM category.  These API calls are used to interact with the wireless network.                  
00020  */
00021 
00022 
00023 
00024 #ifndef _HS_PHONE_GSM_TYPES_H__
00025 #define _HS_PHONE_GSM_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  *  @name
00038  *
00039  */
00040 /*@{*/
00041 #define     GSMLockSelectorOperatorLock     ('PN')  /**<        */
00042 #define     GSMLockSelectorProviderLock     ('PP')  /**<        */
00043 /*@}*/
00044 
00045 
00046 /**
00047  *  @name
00048  *
00049  */
00050 /*@{*/
00051 //<chg 09-16-2002 TRS> moved from gsmlibrary.h
00052 #define phnNetPrefGPRSPDPContextID  1                   /**<        */
00053 
00054 // <chg 09-12-2002 TRS> DUO CLEANUP - moved from gsmlibrary.h (for now)
00055 // This is a prebuilt database.  So if this name changes, need to make
00056 // sure that the following references to the Ring Tone database name
00057 // are updated as well:
00058 // 1. In the Viewer/Prebuilt directory, update the actual name
00059 //    of the pdb file
00060 // 2. In the GSMLibrary Makefile, update ringTonePdbName
00061 // 3. In GSMLibraryCommon.rcp, update the DATA 'dflt' 1 resource
00062 // 4. In PhoneLib.h
00063 #define GSMLibRingsDbName           "System Ring Tones"     /**< Name of GSM RingTone DB  */
00064 
00065 // Return if the lineNumber is unknown.  Maybe returned from the PhnLibGetRadioState
00066 // if the activeLineNumber as not been determined yet.
00067 #define kLineNumberUnknown 0                        /**<        */
00068 /*@}*/
00069 
00070 /**
00071  *  
00072  **/
00073 typedef struct  {
00074     UInt16  firstEntry;     /**<        */
00075     UInt16  lastEntry;      /**<        */
00076     UInt16  maxNameLength;      /**<        */
00077     UInt16  maxNumberLength;    /**<        */
00078 } PhnPhoneBookInfoType, *PhnPhoneBookInfoPtr;
00079 
00080 
00081 
00082 /**
00083  *  SIM Application Toolkit's data types
00084  *  type of request/respond we are sending
00085  **/
00086 typedef enum {
00087     kSATSelectMainMenuItem,     /**<        */
00088     kSATClearText,          /**<        */
00089     kSATSetInkey,           /**<        */
00090     kSATSetInput,           /**<        */
00091     kSATMakeCall,           /**<        */
00092     kSATSelectItem = 6,     /**<        */
00093     kSATReqLaunchBrowser,       /**<        */
00094     kSATReqIdleModeText, 
00095     kSATReqDataSrv, 
00096     kSATReqPlayTone,            /**<        */
00097     kSATReqRefresh,         /**<        */
00098     kSATCancel     = 95,    /**<        */
00099     kSATUnknownNotification,    /**<        */
00100     kSATApplicationBusy,        /**<        */
00101     kSATUserNotResponse,        /**<        */
00102     kSATEndSession,         /**<        */
00103     kSATReqSendDTMF         /**<        */
00104 } _SATRequestType;
00105 
00106 typedef UInt8 SATRequestType;
00107 
00108 /**
00109  *  decision we are sending to SIM
00110  **/
00111 typedef enum {
00112     kSATSessionAborted,     /**<        */
00113     kSATItemSelected,       /**<        */
00114     kSATHelpRequested,      /**<        */
00115     kSATNavigateBack        /**<        */
00116 } _SATDecisionType;
00117 
00118 typedef UInt8 SATDecisionType;
00119 
00120 /**
00121  *  type of notification sent by SAT
00122  **/
00123 typedef enum {
00124     kSATMainMenuAvailable,      /**<        */
00125     kSATDisplayText,        /**<        */
00126     kSATGetInkey,           /**<        */
00127     kSATGetInput,           /**<        */
00128     kSATSetupCall,          /**<        */
00129     kSATPlayTone,           /**<        */
00130     kSATDisplaySubmenus,        /**<        */
00131     kSATRefresh,            /**< application do not get this notification */
00132     kSATSendSS,         /**<        */
00133     kSATSendSMS,            /**<        */
00134     kSATSendUSSD,           /**<        */
00135     kSATLaunchBrowser,          /**<        */
00136     kSATIdleModeText,           /**<        */
00137     kSATRunAT,          /**<        */
00138     kSATDataSvc,            /**<        */
00139     kSATSendDTMF,           /**<        */
00140     kSATTimeout     = 98,   /**<        */
00141     kSATSessionEnd  = 99        /**<        */
00142 } _SATNotificationType;
00143 
00144 typedef UInt8 SATNotificationType;
00145 
00146 /*Used for Call setup STK command, MTCALL, to specify the mode the call should
00147  * be setup in 
00148  */
00149 
00150 typedef enum 
00151 {
00152   kSATSetupCallModeNotBusy,
00153   kSATSetupCallWithRedialModeNotBusy,
00154   kSATSetupCallHoldOtherCalls,
00155   kSATSetupCallWithRedialHoldOtherCalls,
00156   kSATSetupCallDisconnectOtherCalls,
00157   kSATSetupCallWithRedialDisconnectOtherCalls,
00158   
00159   kSATSetupCallMax// do not use
00160 }_SATSetupCallType;
00161 
00162 typedef UInt16 SATSetupCallType;
00163 
00164 #define isValidSATNotificationType(s) (((s >= kSATMainMenuAvailable) && (s <= kSATSendUSSD)) \
00165               || (s == kSATTimeout) || (s == kSATSessionEnd))   /**<        */
00166 
00167 typedef enum
00168 {
00169   kSATEFSimPhoneBook = 0x00000001
00170    
00171 }_SATRefreshFile;
00172 
00173 typedef UInt32 SATRefreshFile;
00174 
00175 typedef enum
00176 {
00177   kSATInitWithFullFileChange,
00178   kSATFileChange,
00179   kSATInitWithFileChange,
00180   kSATInit,
00181   kSATSIMReset,
00182   kSATMax
00183 }_SATRefreshType;
00184 
00185 typedef UInt16 SATRefreshType;
00186 
00187 /**
00188  *  
00189  **/
00190 typedef enum 
00191 {
00192   phnGPRSPDPTypeIP = 1,         /**<        */
00193   phnGPRSPDPTypePPP = 2         /**<        */
00194 } _PhnGPRSPDPType;
00195 
00196 typedef UInt8 PhnGPRSPDPType;
00197 
00198 #define isValidPhnGPRSPDPType(t) ((t >= phnGPRSPDPTypeIP) && (t <= phnGPRSPDPTypePPP))  /**<        */
00199 
00200 /**
00201  *  
00202  **/
00203 typedef enum 
00204 {
00205   kGPRSQOSTypeRequired = 1,     /**<        */
00206   kGPRSQOSTypeMinimum = 2       /**<        */
00207 } _PhnGPRSQOSType;
00208 
00209 typedef UInt8 PhnGPRSQOSType;
00210 
00211 #define isValidPhnGPRSQOSType(t) ((t >= kGPRSQOSTypeRequired) && (t <= kGPRSQOSTypeMinimum))    /**<        */
00212 
00213 /**
00214  *  Used when we get a list of context that are currently
00215  *  stored on the radio.
00216  **/
00217 typedef struct PhnGPRSPDPContextType
00218 {
00219   UInt16 contextId;         /**<        */
00220   PhnGPRSPDPType pdpType;       /**<        */
00221   char*  apn;               /**<        */
00222   char*  pdpAddr;           /**<        */
00223   UInt16 pdpDataCompression;        /**< 0 means OFF, 1 means ON  */
00224   UInt16 pdpHdrCompression;     /**<        */
00225 } PhnGPRSPDPContextType;
00226 
00227 /**
00228  *  This is a list node that is returened when we
00229  *  retreive the current list of PDP contexts stored
00230  *  on the device
00231  **/
00232 typedef struct PhnGPRSPDPContextListNodeType
00233 {
00234   struct PhnGPRSPDPContextType type;        /**<        */
00235   struct PhnGPRSPDPContextListNodeType* nextP;  /**<        */
00236 } PhnGPRSPDPContextListNodeType;
00237 
00238 /**
00239  *  
00240  **/
00241 typedef enum  {
00242     gsmMessagesConfirmMove, gsmMessagesCantReceive  /**<        */
00243 } _GSMSIMMessagesDialogKind;
00244 
00245 typedef UInt8 GSMSIMMessagesDialogKind;
00246 
00247 #define isValidGSMSIMMessagesDialogKind(d) ((d >= gsmMessagesConfirmMove) && (d <= gsmMessagesCantReceive)) /**<        */
00248 
00249 /**
00250  *  
00251  **/
00252 enum _GSMSATEventMenuFlag {
00253     phnSATEventMenuFlagHelp     = 1,    /**< help is available */
00254     phnSATEventMenuFlagNextAct  = 2 /**< nextAction is valid  */
00255 };
00256 
00257 typedef UInt8 GSMSATEventMenuFlag;
00258 
00259 
00260 /**
00261  *  Possible values of format for PhnSATEventGetInkey and PhnSATEventGetInput
00262  **/
00263 enum _GSMSATEventInputFormatEnum {
00264     phnSATEventInputFormatDigit     = 0,    /**< Get Inkey or Get Input */
00265                             /**< 0-9, #, *, or + */
00266     phnSATEventInputFormatSMSChar   = 1,        /**< Get Inkey or Get Input */
00267                             /**< SMS character set */
00268     phnSATEventInputFormatUCS2      = 2,    /**< Get Inkey or Get Input */
00269     phnSATEventInputFormatUnpacked  = 3,        /**< Get Input only */
00270     phnSATEventInputFormatPacked    = 4,        /**< Get Input only */
00271 
00272     phnSATEventInputFormatYesNo     = 5,    /**< Get Inkey or Get Input */
00273 
00274 
00275     
00276     phnSATEventInputFormatUnknown   = 255       /**< KEEP THIS ONE AT THE END */
00277 };
00278 
00279 typedef UInt8 GSMSATEventInputFormatEnum;
00280 
00281 /**
00282  *  
00283  **/
00284 enum _GSMATEventInputEchoModeEnum {
00285     phnSATEventInputEchoModeShowInput = 0,      /**< Show input as entered */
00286     phnSATEventInputEchoModeHideInput = 1       /**< Display bullets or boxes instead of entered characters */
00287 };
00288 typedef UInt8 GSMATEventInputEchoModeEnum;
00289 
00290 /**
00291  *  @name Special response values for PhnSATEventGetInkey (besides a single character)
00292  *
00293  */
00294 /*@{*/
00295 #define phnSATInkeyResponseValueYes     ((UInt32)'YES_')    /**<        */
00296 #define phnSATInkeyResponseValueNo      ((UInt32)'NO__')    /**<        */
00297 /*@}*/
00298 
00299 
00300 /**
00301  *  Possible values of timeUnit for PhnSATEventPlayTone
00302  **/
00303 enum _GSMSATEventToneTimeUnitEnum {
00304     phnSATEventToneTimeUnitMinutes      = 0,    /**< Duration specified in minutes */
00305     phnSATEventToneTimeUnitSeconds      = 1,    /**< Duration specified in seconds */
00306     phnSATEventToneTimeUnitDeciSeconds  = 2     /**< Duration specified in 1/10 seconds */
00307 };
00308 
00309 typedef UInt8 GSMSATEventToneTimeUnitEnum;
00310 
00311 /**
00312  *  Possible values of toneType for PhnSATEventPlayTone
00313  **/
00314 enum _GSMSATEventToneTypeEnum {
00315     phnSATEventToneTypeNoneSpecified = 0xFFFF,  /**< Means just do a normal beep... */
00316     phnSATEventToneTypeDial = 0,            /**<        */
00317     phnSATEventToneTypeBusy = 1,            /**<        */
00318     phnSATEventToneTypeCongestion = 2,      /**<        */
00319     phnSATEventToneTypeRadioAck = 3,        /**<        */
00320     phnSATEventToneTypeDropped = 4,         /**<        */
00321     phnSATEventToneTypeError = 5,           /**<        */
00322     phnSATEventToneTypeCallWaiting = 6,     /**<        */
00323     phnSATEventToneTypeRinging = 7,         /**<        */
00324     phnSATEventToneTypeGeneralBeep = 8,     /**<        */
00325     phnSATEventToneTypePositiveBeep = 9,        /**<        */
00326     phnSATEventToneTypeNegativeBeep = 10        /**<        */
00327 };
00328 
00329 typedef UInt16 GSMSATEventToneTypeEnum;
00330 
00331 #define isValidGSMSATEventToneTypeEnum(x) (((x >= phnSATEventToneTypeDial) && (x <= phnSATEventToneTypeNegativeBeep)) || (x == phnSATEventToneTypeNoneSpecified))   /**<        */
00332 
00333 
00334 /**
00335  * Possible values of callType for PhnSATEventSetupCall
00336  **/
00337 enum _GSMSATEventSetupCallCallTypeEnum {
00338     phnSATEventSetupCallCallTypeVoice = 0,  /**<  SIM wants to set up a voice call  */
00339     phnSATEventSetupCallCallTypeData  = 1,  /**<  SIM wants to set up a data call */
00340     phnSATEventSetupCallCallTypeFax   = 2   /**<  SIM wants to set up a fax  */
00341 };
00342 
00343 typedef UInt8 GSMSATEventSetupCallCallTypeEnum;
00344 
00345 /**
00346  * Possible values of serviceType for PhnSATEventDataSvc
00347  **/
00348 enum _GSMSATDataSvcTypeEnum {
00349   phnSATEventDataSvcTypeOpenChannel=1,
00350   phnSATEventDataSvcTypeSendData=2,
00351   phnSATEventDataSvcTypeRcvData=3,
00352   phnSATEventDataSvcTypeCloseChannel=4
00353 };
00354 typedef UInt8 GSMSATDataSvcType;
00355 
00356 #define isValidGSMSATEventSetupCallCallTypeEnum(x) ((x >= phnSATEventSetupCallCallTypeVoice) && (x <= phnSATEventSetupCallCallTypeFax)) /**<        */
00357 
00358 
00359 #endif // _HS_PHONE_GSM_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