API Guide Home
(Online version only)

HsPhoneNetworkTypes.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    HsPhoneNetworkTypes.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 SMS category.  These API calls are used to interact with the wireless network.
00020  */
00021 
00022 
00023 
00024 
00025 #ifndef _HS_PHONE_NETWORK_TYPES_H__
00026 #define _HS_PHONE_NETWORK_TYPES_H__
00027 #include <PalmOS.h>
00028 #include <PalmTypes.h>
00029 #ifndef __CORE_COMPATIBILITY_H__
00030 #include <PalmCompatibility.h>
00031     /** workaround for differing header files in sdk-3.5 and sdk-internal */
00032     #ifndef __CORE_COMPATIBILITY_H__
00033     #define __CORE_COMPATIBILITY_H__
00034     #endif
00035 #endif
00036 
00037 
00038 #define kMaxPhoneNumberLen  16                  /**< Max length of phone number  */
00039 
00040 #define minPasswordLen                  4       /**< Phone password/PIN minimum length  */
00041 #define maxPasswordLen                  8   /**< Phone password/PIN maximum length  */
00042 #define maxPasswordLenCDMA              4   /**<        */
00043 
00044 #define phnEnhancedRoamIndMaxLength  40             /**<        */
00045 
00046 /**
00047  *  GSM CLIP Subscription Status
00048  **/
00049 typedef enum {
00050     gsmCLIPNotProvisioned,      /**<        */
00051     gsmCLIPProvisioned,     /**<        */
00052     gsmCLIPUnknown          /**<        */
00053 } GSMCLIPStatus;
00054 
00055 
00056 /**
00057  *
00058  **/
00059 typedef enum {
00060     clirNotProvisioned,         /**< sent: restricted presentation of the calling line */
00061     clirProvisioned,            /**< not sent: don't restrict presentation of the calling line */
00062     clirUnknown,                /**< status not available */
00063     clirTemporaryRestricted,        /**< not sent, override allowed */
00064     clirTemporaryAllowed            /**< sent: override allowed */
00065 } PhnCLIRStatus;
00066 
00067 #define isValidPhnCLIRStatus(s) ((s >= clirNotProvisioned) && (s <= clirTemporaryAllowed))  /**<        */
00068 
00069 
00070 /**
00071  *  GSM CLIR Display Status
00072  **/
00073 typedef enum {
00074   gsmCLIRSubscription,      /**< presentation indicator is used according to the subscription of the CLIR service */
00075   gsmCLIRInvocation,        /**<        */
00076   gsmCLIRSuppression        /**<        */
00077 } GSMCLIRDisplayStatus;
00078 
00079 #define isValidGSMDialClirStatus(d) ((d >= gsmDialCLIRNotProvisioned) && (d <= gsmDialCLIRTemporaryAllowed))    /**<        */
00080 
00081 /**
00082  * Phone operator status
00083  **/
00084 typedef enum {
00085     phnOpUnknown,       /**<        */
00086     phnOpAvailable,     /**<        */
00087     phnOpCurrent,       /**<        */
00088     phnOpForbidden      /**<        */
00089 } PhnOperatorStatus;
00090 
00091 #define isValidPhnOperatorStatus(s) ((s >= phnOpUnknown) && (s <= phnOpForbidden))  /**<        */
00092 
00093 
00094 
00095 /**
00096  *
00097  **/
00098 
00099 typedef UInt8 PhnMsgBoxType;        /**<        */
00100 typedef enum
00101   {
00102     kBoxVoice,          /**<        */
00103     kBoxTelefax,        /**<        */
00104     kBoxEMail,          /**<        */
00105     kBoxOther,          /**<        */
00106     kBoxData,           /**<        */
00107     PhnMsgBoxTypeMAX        /**< THIS MUST BE LAST ENTRY.... NOT A VALID VALUE */
00108     // other values reserved for future expansion
00109   }
00110 PhnMsgBoxEnum;
00111 
00112 #define isValidPhnMsgBoxType(n) (n < PhnMsgBoxTypeMAX)      /**<        */
00113 
00114 typedef UInt8 PhnMsgBoxPriorityType;
00115 typedef enum
00116 {
00117   kSmsPriorityNormal,
00118   kSmsPriorityInteractive,
00119   kSmsPriorityUrgent,
00120   kSmsPriorityEmergency,
00121   kSmsPriorityLast
00122 }
00123 PhnMsgBoxPriorityEnum;
00124 
00125 /**
00126  *
00127  **/
00128 typedef struct
00129   {
00130     Boolean         indicatorOn;    /**<        */
00131     PhnMsgBoxType   type;       /**<        */
00132     Int16           messageCount;   /**<        */
00133     Int16           lineNumber;     /**<        */
00134     PhnMsgBoxPriorityType           priority; /**< voicemail priority - example: normal, urgent etc. */
00135   }
00136 PhnMsgBoxDataType;
00137 
00138 
00139 
00140 
00141 /**
00142  * Operator info
00143  **/
00144 #define MAX_LONGOPERATORNAME_LENGTH 24      /**<        */
00145 #define MAX_SHORTOPERATORNAME_LENGTH 16     /**<        */
00146 typedef struct
00147   {
00148     PhnOperatorStatus   status;         /**<        */
00149   PhnOperatorID   id;                       /**< Not really used since CDMA just allows one service provider */
00150   char longname[MAX_LONGOPERATORNAME_LENGTH+1];         /**< name + terminating NULL char */
00151   char shortname[MAX_SHORTOPERATORNAME_LENGTH+1];       /**< name + terminating NULL char */
00152   Boolean         isRoaming;                /**< in sync with the current roaming status */
00153   }
00154 PhnOperatorType;
00155 
00156 /**
00157  * Operator list
00158  **/
00159 typedef struct
00160   {
00161     short           count;      /**<        */
00162     PhnOperatorType opData[1];      /**<        */
00163   }
00164 PhnOperatorListType,* PhnOperatorListPtr;
00165 
00166 /**
00167  *
00168  **/
00169 typedef enum {
00170     gsmRegModeAutomatic,        /**<        */
00171     gsmRegModeManual,       /**<        */
00172     gsmRegModeDeregister,       /**<        */
00173     gsmRegModeFormat,       /**<        */
00174     gsmRegModeManualAutomatic   /**<        */
00175 } GSMRegistrationMode;
00176 
00177 #define isValidGSMRegistrationMode(r) (r <= gsmRegModeManualAutomatic)  /**<        */
00178 
00179 /**
00180  *  Possible roaming status'
00181  *  GSM devices only use first two
00182  **/
00183 typedef UInt8 PhnRoamStatus;        /**< set a type for this enumeration */
00184 typedef enum
00185   {
00186     PhnRoamStatusOff,           /**<        */
00187     PhnRoamStatusOn,            /**<        */
00188     PhnRoamStatusBlink,         /**<        */
00189     PhnRoamStatusEnhancedIndicator      /**< If this is the roaming status, call PhnLibGetEnhancedRoamIndicator  */
00190   }
00191 PhnRoamStatusEnum;
00192 
00193 /**
00194  *  Phone call forwarding reason
00195  **/
00196 typedef UInt8 PhnForwardType;       /**< set a type for this enumeration */
00197 typedef enum {
00198     phnForwardUnconditional,    /**<        */
00199     phnForwardOnBusy,       /**<        */
00200     phnForwardOnNoReplay,       /**<        */
00201     phnForwardOnNotReachable,   /**<        */
00202     phnForwardTelefax,      /**<        */
00203     phnForwardData,         /**<        */
00204     phnForwardCancelAll,        /**<        */
00205     phnForwardConditionalAll,   /**<        */
00206     phnForwardLast          /**<        */
00207 } PhnForwardEnum;
00208 
00209 #define isValidPhnForwardType(f) (f < phnForwardLast)       /**<        */
00210 
00211 /**
00212  * Phone call barring options
00213  **/
00214 typedef enum {
00215     phnBarOutNone,              /**<        */
00216     phnBarOutAll,               /**<        */
00217     phnBarOutInternational,         /**<        */
00218     phnBarOutInternationalExceptHome,   /**<        */
00219 
00220     phnBarInNone,               /**<        */
00221     phnBarInAll,                /**<        */
00222     phnBarInWhenRoaming,            /**<        */
00223     phnBarAll               /**<        */
00224 
00225 } PhnBarFacilityTypeEnum;
00226 typedef UInt8   PhnBarFacilityType;
00227 typedef UInt8*  PhnBarFacilityPtr;
00228 #define isValidPhnBarFacilityType(b) (b <= phnBarAll)   /**<        */
00229 
00230 /**
00231  * CDMA Roam Preferences
00232  **/
00233 typedef struct
00234   {
00235     Boolean         roamCallGuardEnable;    /**<        */
00236     Boolean         roamRingerEnable;       /**<        */
00237     UInt8           roamRingerID;       /**<        */
00238   }
00239 PhnRoamPrefInfoType,* PhnRoamPrefInfoPtr;
00240 
00241 /**
00242  *
00243  **/
00244 typedef enum  {
00245     registrationNone,       /**<        */
00246     registrationHome,       /**<        */
00247     registrationSearch,         /**<        */
00248     registrationDenied,     /**<        */
00249     registrationUnknown,        /**<        */
00250     registrationRoaming     /**<        */
00251 } PhnRegistrationStatus;
00252 
00253 #define isValidPhnRegistrationStatus(r) (r <= registrationRoaming)      /**<        */
00254 //#define isValidPhnRegistrationStatus(r) ((r >= registrationNone) && (r <= registrationRoaming))
00255 
00256 /**
00257  *  Phone call forwarding mode
00258  **/
00259 typedef UInt8 PhnForwardModeType;   /**<        */
00260 typedef enum {
00261     phnForwardModeDisable,      /**<        */
00262     phnForwardModeEnable,       /**<        */
00263     phnForwardModeInterrogate,  /**<        */
00264     phnForwardModeRegistration, /**<        */
00265     phnForwardModeErasure       /**<        */
00266 } PhnForwardModeEnum;
00267 
00268 #define isValidPhnForwardModeType(f) (f <= phnForwardModeErasure)   /**<        */
00269 /**
00270  * MMI Action Code
00271  **/
00272 typedef enum
00273 {
00274   mmiActionNoAction     = 0,        /**<        */
00275   mmiActionActivate     = 0x01,     /**<        */
00276   mmiActionDeactivate   = 0x02,     /**<        */
00277   mmiActionInterrogate  = 0x04,     /**<        */
00278   mmiActionRegister     = 0x08,     /**<        */
00279   mmiActionErasure      = 0x10,     /**<        */
00280   mmiActionUnlock       = 0x20,     /**<        */
00281   mmiActionHandspring   = 0x40      /**<        */
00282 }
00283 PhnMMIActionCodeEnum;
00284 typedef UInt8 PhnMMIActionCode;
00285 
00286 
00287 /**
00288  * MMI Service Code
00289  **/
00290 typedef enum
00291 {
00292     mmiServiceInvalid = 0,      /**<        */
00293     mmiServiceChangePIN,        /**<        */
00294     mmiServiceChangePIN2,       /**<        */
00295     mmiServiceUnlockPIN,        /**<        */
00296     mmiServiceUnlockPIN2,       /**<        */
00297     mmiServiceIMEI,         /**<        */
00298     mmiServiceCallerId,     /**<        */
00299     mmiServiceNumberSent,       /**<        */
00300     mmiServiceCOLP,         /**<        */
00301     mmiServiceCOLR,         /**<        */
00302     mmiServiceCallWaiting,      /**<        */
00303     mmiServiceForwardUnconditional, /**<        */
00304     mmiServiceForwardBusy,      /**<        */
00305     mmiServiceForwardNoReply,   /**<        */
00306     mmiServiceForwardNotReachable,  /**<        */
00307     mmiServiceForwardAll,       /**<        */
00308     mmiServiceForwardConditionalAll,/**<        */
00309     mmiServiceBAOC,         /**< bar all outging calls */
00310     mmiServiceBAOIC,        /**< bar all outging international calls */
00311     mmiServiceBAOICX,       /**< bar all outging international calls expect home */
00312     mmiServiceBAIC,         /**< bar all incoming calls */
00313     mmiServiceBAICR,        /**< bar all incoming calls while roaming */
00314     mmiServiceAllBarringServ,   /**< bar all services */
00315     mmiServiceAllOutBarringServ,    /**< bar all outgoing services */
00316     mmiServiceAllInBarringServ,     /**< bar all incoming services */
00317     mmiServiceChangeBarPwd,     /**< Change barring password */
00318     mmiServiceUSSD,         /**<        */
00319     mmiServicePhoneNumber,      /**<        */
00320     mmiServiceCallControl,      /**<        */
00321     mmiServiceSelectorOperatorLock, /**<        */
00322     mmiServiceSelectorProviderLock, /**<        */
00323     mmiServiceNNN,          /**<        */
00324     mmiServiceUnimplemented     /**< defined by GSM standard but not implemented in our phone */
00325 }
00326 PhnMMIServiceCodeEnum;
00327 typedef UInt8 PhnMMIServiceCode;
00328 
00329 /**
00330  * Call Control Codes
00331  **/
00332 typedef enum {
00333   mmiControlReleaseAllHeld = 0,     /**<        */
00334   mmiControlReleaseAllActive,       /**<        */
00335   mmiControlReleaseCallx,       /**<        */
00336   mmiControlSwap,           /**<        */
00337   mmiControlActivateCallx,      /**<        */
00338   mmiControlConference,         /**<        */
00339   mmiControlTransfer            /**<        */
00340 }PhnCallControlTypeEnum;
00341 
00342 typedef UInt8 PhnCallControlType;
00343 
00344 
00345 typedef enum
00346 {
00347   PhnRoamIconOn,            /**<        */
00348   PhnRoamIconOff,           /**<        */
00349   PhnRoamIconFlash          /**<        */
00350 }
00351 PhnRoamIconState;
00352 /************************************************************
00353  *  Structs
00354  *************************************************************/
00355 
00356 #define kMaxMMISequenceLen 64       /**<        */
00357 
00358 /**
00359  * Telephone Service Types
00360  **/
00361 typedef enum {
00362   phnTeleserviceUnknown = 0,        /**<        */
00363   phnTeleserviceVoice = 1,      /**<        */
00364   phnTeleserviceData = 2,       /**<        */
00365   phnTeleserviceFax = 4,        /**<        */
00366   phnTeleserviceDefault = 7,        /**<  Voice + Data + Fax */
00367   phnTeleserviceSMS = 8,        /**<        */
00368   phnTeleserviceDataCircSync = 16,  /**<        */
00369   phnTeleserviceDataCircAsync = 32, /**<        */
00370   phnTeleserviceDedicatedPack = 64, /**<        */
00371   phnTeleserviceDedicatedPAD = 128  /**<        */
00372 } PhnTeleserviceType;
00373 
00374 
00375 /**
00376  * Telephone Service MMI code Types
00377  **/
00378 typedef enum {
00379   phnTeleserviceUnknownMmiCode        = 0,  /**<        */
00380   phnTeleserviceVoiceMmiCode          = 11, /**<        */
00381   phnTeleserviceAllMmiCode            = 12, /**<        */
00382   phnTeleserviceFaxMmiCode            = 13, /**<        */
00383   phnTeleserviceSMSMmiCode            = 16, /**<        */
00384   phnTeleserviceAllExceptSMSCode      = 19, /**<        */
00385   phnTeleserviceDataCircSyncMmiCode   = 24, /**<        */
00386   phnTeleserviceDataCircAsyncMmiCode  = 25, /**<        */
00387   phnTeleserviceDedicatedPackMmiCode  = 26, /**<        */
00388   phnTeleserviceDedicatedPADMmiCode   = 27  /**<        */
00389 } PhnTeleserviceMmiCodeType;
00390 
00391 /**
00392  * @brief MMI Decode struct
00393  **/
00394 typedef struct
00395 {
00396   UInt16  size;             /**<        */
00397   PhnMMIActionCode  actionCode;     /**<        */
00398   PhnMMIServiceCode  serviceCode;   /**<        */
00399   Boolean sendHit;          /**<        */
00400   char text[kMaxMMISequenceLen+1];  /**<        */
00401   union
00402   {
00403     struct
00404     {
00405       char  number[kMaxPhoneNumberLen+1];   /**<        */
00406       PhnTeleserviceType type;          /**<        */
00407       UInt16  time;             /**<        */
00408     } mmiForwarding;
00409     struct
00410     {
00411       PhnTeleserviceType type;          /**<        */
00412       char pwd[maxPasswordLen+1];       /**<        */
00413     } mmiBarring;
00414     struct
00415     {
00416       PhnTeleserviceType type;          /**<        */
00417     } mmiCallWaiting;               /**<        */
00418     struct
00419     {
00420       char oldPwd[maxPasswordLen+1];        /**<        */
00421       char newPwd[maxPasswordLen+1];        /**<        */
00422       char repeatNewPwd[maxPasswordLen+1];  /**<        */
00423     } mmiPassword;
00424     struct
00425     {
00426       PhnCallControlType action;        /**<        */
00427       PhnConnectionID id;           /**<        */
00428     } mmiCallControl;
00429     struct
00430     {
00431       char  name[kMaxPhoneNumberLen+1]; /**<        */
00432       char  number[kMaxPhoneNumberLen+1];   /**<        */
00433       GSMDialCLIRMode mode;         /**<        */
00434     } mmiPhoneNumber;
00435 
00436   } data;
00437 
00438 }
00439 PhnMMIEntryType, *PhnMMIEntryPtr;
00440 
00441 #define kMaxImeiLen 24          /**<        */
00442 
00443 /**
00444  * @brief MMI result struct
00445  **/
00446 typedef struct
00447 {
00448   UInt16 size;              /**<        */
00449   PhnMMIServiceCode  serviceCode;   /**<        */
00450   union
00451   {
00452     struct
00453     {
00454       Boolean enabled;              /**<        */
00455       char  number[kMaxPhoneNumberLen+1];   /**<        */
00456       PhnTeleserviceType type;          /**<        */
00457       UInt16  time;             /**<        */
00458     } mmiForwarding;
00459     struct
00460     {
00461       Boolean enabled;              /**<        */
00462       PhnTeleserviceType type;          /**<        */
00463     } mmiBarring;
00464     struct
00465     {
00466       Boolean enabled;              /**<        */
00467       PhnTeleserviceType type;          /**<        */
00468     } mmiCallWaiting;
00469     struct
00470     {
00471       Boolean enabled;              /**<        */
00472     } mmiCallerID;
00473     struct
00474     {
00475       GSMCLIRDisplayStatus displayStatus;   /**<        */
00476       PhnCLIRStatus subscriptionStatus;     /**<        */
00477     } mmiNumberSent;
00478     struct
00479     {
00480       Boolean enabled;              /**<        */
00481     } mmiColp;
00482         struct
00483     {
00484       Boolean enabled;              /**<        */
00485     } mmiColr;
00486     struct
00487     {
00488       char imei[kMaxImeiLen+1];         /**<        */
00489     } mmiIMEI;
00490 
00491   } data;
00492 }
00493 PhnMMIResultType, *PhnMMIResultPtr;
00494 
00495 typedef enum
00496 {
00497   bandGSM_EGSM = 0,
00498   band1800,
00499   band900_1800,
00500   band1900,
00501   bandAuto,
00502   band850,
00503   band1900_850
00504 } _PhnBandSelection;
00505 
00506 typedef UInt8 PhnBandSelection;
00507 #define isValidPhnBandSelection(f) (f <= band1900_850)
00508 
00509 
00510 /**
00511  * This defines the roaming mode of the radio.
00512  */
00513 typedef enum
00514 {
00515   phnRoamPrefHomeOnly,   /**< Home network only (no roaming)      */
00516   phnRoamPrefAny,        /**< Any network       (roaming allowed) */
00517   phnRoamPrefRoamOnly,   /**< Roam network only (roaming only)    */
00518   phnRoamPrefLast        /**< end of list enum                    */
00519 }
00520 _PhnRoamPrefSelectionTypeEnum;
00521 typedef UInt8 PhnRoamPrefSelectionType;
00522 #define isValidRoamMode(x)  (x < phnRoamPrefLast)
00523 
00524 
00525 /**
00526  * This is now deprecated.
00527  * It is only implemented to maintain backwards compatibility
00528  * Currently, the only user is NetMaster
00529  **/
00530 typedef enum
00531 {
00532     phnOneXStatusPRevNoSvc,     /**< Service is not available. */
00533     phnOneXStatusPRev1,         /**< J-STD-008 service is in use. */
00534     phnOneXStatusPRev3,         /**< IS-95A service is in use. */
00535     phnOneXStatusPRev4,         /**< IS-95B service is in use. */
00536     phnOneXStatusPRev6,         /**< IS-2000 release 0 service is in use. */
00537     phnOneXStatusPRev7      /**< IS-2000 release A service is in use. */
00538 }
00539 _PhnOneXProtRevType;
00540 typedef UInt8 PhnOneXProtRevType;   /**<        */
00541 #define isValidPhnOneXProtRevType(p) (p <= phnOneXStatusPRev7)      /**<        */
00542 
00543 /**
00544  * Describes the current packet data session state.
00545  * Currently there are 3 states. Active, dormant, or none.
00546  **/
00547 typedef enum
00548 {
00549   phnPacketDataSessionNone,         /**< No packet data session exists. */
00550   phnPacketDataSessionDormant,      /**< Packet data session dormant    */
00551   phnPacketDataSessionActive        /**< Packet data session active     */
00552 }
00553 _PhnPacketDataSessionType;
00554 typedef UInt8 PhnPacketDataSessionType;     /**<        */
00555 #define isValidPhnPacketDataSessionType(p) (p <= phnPacketDataSessionActive)        /**<        */
00556 
00557 /**
00558  * This is now deprecated.
00559  * It is only implemented to maintain backwards compatibility
00560  * Currently, the only user is NetMaster
00561  **/
00562 typedef enum 
00563 {
00564     phnMIPSessionNone,      /**<        */
00565     phnMIPSession           /**< A Mobile IP session exists. */
00566 }
00567 _PhnMIPSessionType;
00568 typedef UInt8 PhnMIPSessionType;        /**<        */
00569 #define isValidPhnMIPSessionType(m) (m <= phnMIPSession)        /**<        */
00570 
00571 
00572 /**
00573  * This is now deprecated.
00574  * It is only implemented to maintain backwards compatibility
00575  * Currently, the only user is NetMaster and the Phone App
00576  **/
00577 typedef struct
00578 {
00579   PhnOneXProtRevType        oneXStatusPRev;     /**<        */
00580   PhnPacketDataSessionType  pdSessionStatus;    /**<        */
00581   PhnMIPSessionType         mipSessionType; /**<        */
00582 }
00583 PhnOneXStatus;
00584 
00585 
00586 /**
00587  * This defines the different data service types.
00588  */
00589 typedef enum
00590 {
00591   phnDataServiceNone,
00592   phnDataServiceCSD,
00593   phnDataService1xRTT,
00594   phnDataService1xEVDO,
00595   phnDataServiceGPRS,
00596   phnDataServiceEdge,
00597   phnDataServiceLast
00598 }
00599 _PhnDataServiceType;
00600 typedef UInt16 PhnDataServiceType;
00601 #define isValidDataService(x) (x < phnDataServiceLast)
00602 
00603 
00604 /**
00605  * List of errors on why a data call was disconnected.
00606  */
00607 typedef enum
00608 {
00609   phnPacketDataEndStatusUnknown,       /**< Unknown end status      */
00610   phnPacketDataEndStatusNormal,        /**< Normal                  */
00611   phnPacketDataEndStatusReorder,       /**< reoder                  */
00612   phnPacketDataEndStatusRetry,         /**< retry                   */
00613   phnPacketDataEndStatusTimeout,       /**< call                    */
00614   phnPacketDataEndStatusIntercept,     /**< Intercept               */
00615   phnPacketDataEndStatusReject,        /**< Service Option rejected */ 
00616   phnPacketDataEndStatusNoReason,      /**< No reason given         */
00617   phnPacketDataEndStatusAuthFailed,    /**< authentication failed   */
00618   phnPacketDataEndStatusDropped,       /**< dropped call            */
00619   phnPacketDataEndStatusLast           /**< place holder for last   */
00620 }
00621 _PhnPacketDataEndStatusEnum;
00622 typedef UInt16 PhnPacketDataEndStatusType;
00623 #define isValidPacketDataEndStatus(x) (x < phnPacketDataEndStatusLast)
00624 
00625 #define PhnDataSessionStateTypeMajorVersion 0x0001L  // high word
00626 #define PhnDataSessionStateTypeMinorVersion 0x0000L  // low  word
00627 #define PhnDataSessionStateTypeVersion      (((UInt32)PhnDataSessionStateTypeMajorVersion << 16) | PhnDataSessionStateTypeMinorVersion)
00628 typedef struct
00629 {
00630   UInt32                      version;          /**< (1.0) should be set to the structure version that you are requesting                   */
00631   PhnDataServiceType          availableService; /**< (1.0) data connection type available                                                   */
00632   PhnDataServiceType          sessionType;      /**< (1.0) data connection type (valid only if status is Active or Dormant)                 */
00633   PhnPacketDataSessionType    sessionStatus;    /**< (1.0) data connection status                                                           */
00634   PhnPacketDataEndStatusType  disconnectStatus; /**< (1.0) data connection end status (only useful after a data call has been terminated)   */
00635 }
00636 PhnDataSessionStateType;
00637 
00638 
00639 /**
00640  *
00641  **/
00642 typedef struct
00643 {
00644   UInt32 timeInSecs;        /**< Current time in minutes */
00645   Boolean daylightSavings;  /**< Is this daylight savings  */
00646   Int16 timeZone;          /**< Number of minutes east of GMT  */
00647   UInt8  daylightSavingsHour; /**< DST adjusted hours : GSM Only  */
00648 
00649 } PhnNetworkTime;
00650 
00651 
00652 #endif // _HS_PHONE_NETWORK_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