API Guide Home
(Online version only)

HsExtTraps.h

Go to the documentation of this file.
00001 /******************************************************************************
00002  * Copyright (c) 2005 palmOne, Inc. or its subsidiaries.
00003  * All rights reserved.
00004  *****************************************************************************/
00005 /**
00006  *
00007  * @ingroup SystemDef
00008  *
00009  */
00010  
00011 /**
00012  * @file    HsExtTraps.h
00013  * @version 
00014  * @date   
00015  *
00016  * @brief   Definitions of selectors used for the 68K trap based
00017  *      calls to HsExtensions
00018  *  
00019  */
00020 
00021 
00022 
00023 #ifndef   __HS_EXT_TRAPS_H__
00024 #define   __HS_EXT_TRAPS_H__
00025 
00026 #ifndef sysTrapOEMDispatch
00027   /// OEM trap in Palm OS 3.0 and later trap table (formerly sysTrapSysReserved4)
00028   #define sysTrapOEMDispatch              0xA349        /**<        */
00029 #endif // !sysTrapOEMDispatch
00030 
00031 /**
00032  * @name This is the system trap that we base all HsExt calls off of.
00033  *
00034  */
00035 /*@{*/
00036 #define sysTrapHsSelector                 sysTrapOEMDispatch    /**<        */
00037 /*@}*/
00038 
00039 
00040 #define hsSelectorBase                    0     /**<        */
00041 
00042   #define hsSelInfo                           0x0   /**<        */
00043 
00044 #ifndef HS_STRIP_UNIMPLEMENTED  // not implemented on 5.x yet...
00045   #define hsSelPrvInit                    0x1       /**<        */
00046   #define hsSelPrvCallSafely                  0x2       /**<        */
00047   #define hsSelPrvCallSafelyNewStack          0x3           /**<        */
00048 
00049   #define hsSelDatabaseCopy                   0x4       /**<        */
00050   #define hsSelExtKeyboardEnable              0x5       /**<        */
00051   #define hsSelCardAttrGet                0x6       /**<        */
00052   #define hsSelCardAttrSet                0x7       /**<        */
00053   #define hsSelCardEventPost                  0x8       /**<        */
00054   #define hsSelPrvErrCatchListP               0x9       /**<        */
00055 #endif
00056 
00057 #define hsSelPrefGet                      0xA       /**<        */
00058 #define hsSelPrefSet                      0xB       /**<        */
00059 
00060 #ifndef HS_STRIP_UNIMPLEMENTED  // not implemented on 5.x yet...
00061   #define hsSelDmGetNextDBByTypeCreator   0xC               /**<        */
00062   #define hsSelDmGetNextDBInit            0xD           /**<        */
00063     
00064   #define hsSelCardHdrUpdate                  0xE       /**<        */
00065 
00066   #define hsSelAppEventHandlerSet         0xF           /**<        */
00067   #define hsSelAppEventPost                   0x10      /**<        */
00068 
00069   #define hsSelUsbCommStatePtr            0x11          /**<        */
00070 
00071   #define hsSelCardPatchInstall               0x12      /**<        */
00072   #define hsSelCardPatchRemove            0x13          /**<        */
00073 
00074   #define hsSelEvtResetAutoOffTimer           0x14          /**<        */
00075 
00076   #define hsSelDmDatabaseUniqueIDSeed         0x15          /**<        */
00077 #endif
00078 
00079 #define hsSelAboutHandspringApp           0x16          /**<        */
00080 
00081 #ifndef HS_STRIP_UNIMPLEMENTED  // not implemented on 5.x yet...
00082   #define hsSelDmDatabaseIsOpen               0x17      /**<        */
00083   #define hsSelDmDatabaseIsProtected          0x18          /**<        */
00084 
00085   #define hsSelDlkForceSlowSync               0x19      /**<        */
00086 
00087   #define hsSelPrvHandleCardChangeEvent   0x1A              /**<        */
00088 
00089   // 0x03523000
00090 
00091   #define hsSelCardPower                  0x1B      /**<        */
00092 
00093   #define   hsSelDmDatabaseDeleted            0x1C      /**<        */
00094 
00095   #define   hsSelDmLockFileSystem             0x1D      /**<        */
00096 
00097   #define   hsSelPrvLaunchCompareFunc         0x1E      /**<        */
00098 
00099   // 0x03523020
00100 
00101   #define hsSelPrvLEDCommand                  0x1F      /**<        */
00102 
00103   #define hsInstallSerialWrapper              0x20      /**<        */
00104 
00105   #define hsUninstallSerialWrapper        0x21          /**<        */
00106 
00107   #define hsPeriodicRegister                  0x22      /**<        */
00108   #define hsPeriodicUnregister            0x23          /**<        */
00109   #define hsPeriodicPeriodsAvailable          0x24          /**<        */
00110 
00111   // 0x03523030
00112 
00113   // No HsExtension calls added
00114 
00115   // 0x03523040
00116 
00117   // NOTE: Be sure to update 68000Instrs.h if these change
00118   #define hsSelPrvSetButtonDefault        0x25          /**<        */
00119   #define hsSelPrvFindAppFromIDs              0x26      /**<        */
00120 #endif
00121 
00122 #define hsSelAttrGet                      0x27      /**<        */
00123 #define hsSelAttrSet                      0x28      /**<        */
00124 
00125 #define hsSelKeyCurrentStateExt           0x29          /**<        */
00126 #define hsSelKeySetMaskExt                0x2A      /**<        */
00127 
00128 #define hsSelGrfSetStateExt               0x2B      /**<        */
00129 #define hsSelGrfGetStateExt               0x2C      /**<        */
00130 
00131 #ifndef HS_STRIP_UNIMPLEMENTED  // not implemented on 5.x yet...
00132   #define hsSelKeyChrToOptChr                 0x2D      /**<        */
00133   #define hsSelKeyChrToRegChr                 0x2E      /**<        */
00134   #define hsSelPrvKeyHandleEvent              0x2F      /**<        */
00135   #define hsSelWordCorrectInvoke              0x30      /**<        */
00136   #define hsSelWordCorrectUndo            0x31          /**<        */
00137   #define hsSelPrvUpdateBatteryGadget         0x32          /**<        */
00138   #define hsSelPrvUpdateSignalGadget          0x33          /**<        */
00139 #endif  
00140 
00141 #define hsSelStatusSetGadgetType          0x34          /**<        */
00142 
00143 #ifndef HS_STRIP_UNIMPLEMENTED  // not implemented on 5.x yet...
00144   #define hsSelSysKeyboardReferenceDialog     0x35          /**<        */
00145 #endif
00146 
00147 #define hsSelPutObjectAfterTitle          0x36          /**<        */
00148 
00149 #define hsSelEvtMetaEvent                 0x37      /**<        */
00150 
00151 #define hsSelStatusUpdateGadgets          0x38          /**<        */
00152 
00153 #ifndef HS_STRIP_UNIMPLEMENTED      // not implemented on 5.x yet...
00154   #define hsSelLstPopupListExt            0x39          /**<        */
00155   #define hsSelDmCreateDatabasesFromImages  0x3A            /**< DO NOT CHANGE used in object patch! */
00156   #define hsSelPrvLaunchDemoApp           0x3B          /**< DO NOT CHANGE used in object patch! */
00157   #define hsSelPrefGetAppKeyCreator       0x3C          /**<        */
00158 #endif
00159 
00160 #define hsSelUtilFrmDoDialogWithCallback  0x3D              /**<        */
00161 
00162   #define hsSelHsGetTrapAddress           0x3E          /**<        */
00163 
00164 
00165 #ifndef HS_STRIP_UNIMPLEMENTED  // not implemented on 5.x yet...
00166   #define hsSelHsSetTrapAddress           0x3F          /**<        */
00167 #endif
00168 
00169   #define hsSelUnimplemented                  0x40      /**<        */
00170 
00171 #ifndef HS_STRIP_UNIMPLEMENTED  // not implemented on 5.x yet...
00172   #define hsSelIndicator                      0x41  /**<        */
00173 #endif
00174 
00175   #define hsSelUtilSclUpdateScrollBar         0x42          /**<        */
00176   #define hsSelUtilSclScroll                  0x43      /**<        */
00177   #define hsSelUtilSclScrollPage              0x44      /**<        */
00178 
00179 #ifndef HS_STRIP_UNIMPLEMENTED  // not implemented on 5.x yet...
00180   #define hsSelPrvInitPostProcess             0x45      /**<        */
00181   #define hsSelPostProcPopupList              0x46      /**<        */
00182 
00183   #define hsSelPeriodicUnregisterFromSelf     0x47          /**<        */
00184 #endif
00185 
00186   #define hsSelNetworkDropConnection          0x48          /**<        */
00187 
00188 #ifndef HS_STRIP_UNIMPLEMENTED  // not implemented on 5.x yet...
00189   #define hsSelPrvSetupGoToCustomForm             0x49      /**< DO NOT CHANGE used in object patch! */
00190   #define hsSelPrvSetupInstallFormEventHandler  0x4A            /**< DO NOT CHANGE used in object patch! */
00191 
00192 #endif
00193   #define hsSelUtilSliHandleKeyDown       0x4B          /**<        */
00194   #define hsSelUtilWinGetMaxDepth             0x4C      /**<        */
00195 
00196 #define hsSelLightMode                    0x4D      /**<        */
00197 #define hsSelLightCircumstance            0x4E          /**<        */
00198 
00199 #define hsSelUtilBbutInstallFromResource  0x4F              /**<        */
00200 #define hsSelUtilBbutHitBigButton         0x50          /**<        */
00201 #define hsSelUtilFrmDoDialog              0x51          /**<        */
00202 
00203 #define hsSelUtilStrCSpn                  0x52      /**<        */
00204 #define hsSelUtilFrmDoTimedDialog         0x53              /**<        */
00205 
00206 // NOTE: Please use up reserved spaces during
00207 // 3.5H5 development; this will reduce merge
00208 // issues...
00209 
00210 #ifndef HS_STRIP_UNIMPLEMENTED  // not implemented on 5.x yet...
00211   #define hsSelReserved352H5_54           0x54          /**<        */
00212   #define hsSelReserved352H5_55           0x55          /**<        */
00213   #define hsSelReserved352H5_56           0x56          /**<        */
00214   #define hsSelReserved352H5_57           0x57          /**<        */
00215   #define hsSelReserved352H5_58           0x58          /**<        */
00216   #define hsSelReserved352H5_59           0x59          /**<        */
00217   #define hsSelReserved352H5_5A           0x5A          /**<        */
00218   #define hsSelReserved352H5_5B           0x5B          /**<        */
00219   #define hsSelReserved352H5_5C           0x5C          /**<        */
00220   #define hsSelReserved352H5_5D           0x5D          /**<        */
00221 
00222   // NOTE: Please use up reserved spaces during
00223   // 3.5H6 development; this will reduce merge
00224   // issues...
00225 
00226   #define hsSelReserved352H6_5E           0x5E          /**<        */
00227   #define hsSelReserved352H6_5F           0x5F          /**<        */
00228   #define hsSelReserved352H6_60           0x60          /**<        */
00229   #define hsSelReserved352H6_61           0x61          /**<        */
00230   #define hsSelReserved352H6_62           0x62          /**<        */
00231   #define hsSelReserved352H6_63           0x63          /**<        */
00232   #define hsSelReserved352H6_64           0x64          /**<        */
00233   #define hsSelReserved352H6_65           0x65          /**<        */
00234   #define hsSelReserved352H6_66           0x66          /**<        */
00235   #define hsSelReserved352H6_67           0x67          /**<        */
00236   #define hsSelReserved352H6_68           0x68          /**<        */
00237   #define hsSelReserved352H6_69           0x69          /**<        */
00238   #define hsSelReserved352H6_6A           0x6A          /**<        */
00239 #endif
00240 
00241 // 0x04103010
00242 #ifndef HS_STRIP_UNIMPLEMENTED  // not implemented on 5.x yet...
00243   #define hsSelPrvShowKeyboardLockOnDialog  0x6B            /**<        */
00244   #define hsSelPrvHandleKeyboardLock          0x6C          /**<        */
00245 #endif
00246 
00247   #define hsSelSpringboardNotSupported    0x6D              /**<        */
00248 
00249 // Reserve some traps for pre-OS5 development
00250 #ifndef HS_STRIP_UNIMPLEMENTED  // not implemented on 5.x yet...
00251   #define hsSelReserved41_6E                0x6E            /**<        */
00252   #define hsSelReserved41_6F                0x6F            /**<        */
00253   #define hsSelReserved41_70                0x70            /**<        */
00254   #define hsSelReserved41_71                0x71            /**<        */
00255   #define hsSelReserved41_72                0x72            /**<        */
00256 #endif
00257 
00258 /**
00259  * @name OS-5 
00260  *
00261  */
00262 /*@{*/
00263 #define hsSelUtilGetObjectUsable          0x73              /**<        */
00264 #define hsSelUtilFrmGetDefaultButtonID    0x74              /**<        */
00265 #define hsSelUtilFrmGetEventHandler       0x75              /**<        */
00266 #define hsSelUtilLstGetItemsText          0x76              /**<        */
00267 #define hsSelUtilLstGetTopItem            0x77              /**<        */
00268 #define hsSelUtilCtlGetControlStyle       0x78              /**<        */
00269 /*@}*/
00270 
00271 /**
00272  * @name Trace Functions
00273  *
00274  */
00275 /*@{*/
00276 #define hsSelTraceLevelsSet               0x79      /**<        */
00277 #define hsSelTraceLevelsGet               0x7A      /**<        */
00278 #define hsSelTrace                        0x7B  /**<        */
00279 #define hsSelTraceData                    0x7C      /**<        */
00280 #define hsSelTraceRecordsDump             0x7D          /**<        */
00281 #define hsSelTraceClear                   0x7E      /**<        */
00282 #define hsSelTraceOutputLevelsSet         0x7F          /**<        */
00283 #define hsSelTraceOutputLevelsGet         0x80          /**<        */
00284 #define hsSelTraceText                    0x81      /**<        */
00285 #define hsSelTraceFunction                0x82      /**<        */
00286 #define hsSelTraceError                   0x83      /**<        */
00287 #define hsSelTraceFunctionError           0x84          /**<        */
00288 #define hsSelTraceEvent                   0x85      /**<        */
00289 /*@}*/
00290 
00291 #define hsSelGetPhoneLibrary              0x86              /**<        */
00292 #define hsSelUtilFrmSetLabel              0x87          /**<        */
00293 #define hsSelUtilCtlGetFont               0x88      /**<        */
00294 
00295 /**
00296  * @name Mutex functions -- 68K bridge to ARM-native functions
00297  *
00298  */
00299 /*@{*/
00300 #define hsSelUtilMutexCreate              0x89          /**<        */
00301 #define hsSelUtilMutexDelete              0x8A          /**<        */
00302 #define hsSelUtilMutexReserve             0x8B          /**<        */
00303 #define hsSelUtilMutexRelease             0x8C          /**<        */
00304 /*@}*/
00305 
00306 #define hsSelGetARMActiveFormPtr          0x8E              /**<        */
00307 
00308 #define hsSelTwoFontSelect                0x8F      /**<        */
00309 #define hsSelOpenDialNumberDialog         0x90          /**<        */
00310 #define hsSelTurnRadioOn                  0x91      /**<        */
00311 #define hsSelCreateNewMessage             0x92          /**<        */
00312 #define hsSelCreateNewEmail               0x93      /**<        */
00313 #define hsSelBrowseUrl                    0x94      /**<        */
00314 
00315 #define hsSelNavGetFocusColor             0x95          /**<        */
00316 #define hsSelNavSetFocusColor             0x96          /**<        */
00317 #define hsSelNavGetFocusRingInfo          0x97          /**<        */
00318 #define hsSelNavDrawFocusRing             0x98          /**<        */
00319 #define hsSelNavRemoveFocusRing           0x99          /**<        */
00320 #define hsSelNavLstGetTempSelection       0x9A          /**<        */
00321 #define hsSelNavLstSetTempSelection       0x9B          /**<        */
00322 // Trap defined at the end of the list
00323 //#define hsSelNavObjectTakeFocus             0xB7
00324 
00325 #define hsSelIndicatorState               0x9C      /**<        */
00326 
00327 #define hsSelKeysPressed                  0x9D      /**<        */
00328 #define hsSelKeyEnableKey                 0x9E      /**<        */
00329 #define hsSelKeyChrCodeToKeyCode          0x9F          /**<        */
00330 #define hsSelKeyKeyCodeToChrCode          0xA0          /**<        */
00331 #define hsSelKeyEventIsFromKeyboard       0xA1          /**<        */
00332 
00333 #define hsSelTraceContextInit             0xA2              /**<        */
00334 #define hsSelTraceContextDelete           0xA3              /**<        */
00335 
00336 #define hsSelDoSaveAsDialog               0xA4              /**<        */
00337 #define hsSelExgSelectTarget              0xA5              /**<        */
00338 #define hsSelExgLocalAccept               0xA6              /**<        */
00339 #define hsSelExgLocalDisconnect           0xA7              /**<        */
00340 
00341 #define hsSelUtilAttnNagInfo              0xA8          /**<        */
00342 
00343 #define hsSelCrashLogGetLast              0xA9          /**<        */
00344 #define hsSelCrashLogDisplayLast          0xAA          /**<        */
00345 
00346 #define hsSelTxtPrepFindString            0xAB          /**<        */
00347 
00348 #define hsSelUtilFrmSetHelpID             0xAC          /**<        */
00349 #define hsSelUtilFrmSetLabelFont          0xAD          /**<        */
00350 
00351 // NOTE: This trap selector was never implemented and never used, therefore it is safe to be reassigned
00352 #define hsNeverUsedBeforeAvailableForUse1 0xAE              /**<        */
00353 
00354 /**
00355  * @name Additional Trace Utility functions
00356  *
00357  */
00358 /*@{*/
00359 #define hsSelTraceOpenDB                  0xB0              /**<        */
00360 #define hsSelTraceCloseDB                 0xB1              /**<        */
00361 /*@}*/
00362 
00363 #define hsSelSupressDbgLockout            0xB2          /**<        */
00364 #define hsSelIsDbgLockoutSupressed        0xB3          /**<        */
00365 
00366 #define hsSelKeyStop                      0xB4      /**<        */
00367 
00368 #define hsSelGetVersionString             0xB5          /**<        */
00369 
00370 #define hsSelUtilEnableAttentionMgr       0xB6          /**<        */
00371 
00372 #define hsSelNavObjectTakeFocus           0xB7          /**<        */
00373 
00374 #define hsSelPostProcessPopupList         0xB8          /**<        */
00375 
00376 #define hsSelTraceSetMaxRecords           0xB9          /**<        */
00377 #define hsSelTraceGetMaxRecords           0xBA          /**<        */
00378 
00379 /**
00380  * @name multi-byte friendly Txt routines
00381  *
00382  */
00383 /*@{*/
00384 #define hsSelTxtNumChars                  0xBB      /**<        */
00385 #define hsSelTxtTruncateString            0xBC          /**<        */
00386 #define hsSelTxtIsAscii                   0xBD      /**<        */
00387 /*@}*/
00388 
00389 #define hsSelWaitForGPRSAttach            0xBE          /**<        */
00390 #define hsSelIsHTTPLibraryLoaded          0xBF              /**<        */
00391 
00392 /**
00393  * @name This range is reserved for last-minute fixes in OS-5H1-C/D/E
00394  *
00395  */
00396 /*@{*/
00397 #define hsSelReserved5H1_C0               0xC0      /**<        */
00398 #define hsSelReserved5H1_C1               0xC1      /**<        */
00399 #define hsSelReserved5H1_C2               0xC2      /**<        */
00400 #define hsSelReserved5H1_C3               0xC3      /**<        */
00401 /*@}*/
00402 
00403 /**
00404  * @name New AcDc traps
00405  *
00406  */
00407 /*@{*/
00408 #define hsSelDispatchService              0xC4          /**<        */
00409 
00410 #define hsSelOpenDialNumberDialogExt      0xC5              /**<        */
00411 
00412 // This trap is technically free.  It was temporarily used during Treo650 development but we never shipped
00413 //  with it.  We continue to define and dispatch it just to be extra safe.  There's a small chance that
00414 //  not all apps were properly transitioned to the PmUIUtil version of this call during Treo650 development.
00415 //  3rd party apps should have never had access to this function because it is defined in a palmOne
00416 //  internal header and apps built with the Treo650 ROM should've always be built against the latest trap
00417 //  definitions.  There's the slight possibility that palmOne apps built as components, however, were
00418 //  never built against the newest trap definitions.
00419 #define hsSelAttnGetAttentionExt          0xC6          /**<        */
00420 
00421 #define hsSelUtilBbutInstallNewButton     0xC7              /**<        */
00422 
00423 #define hsSelUtilBbutSetLabel             0xC8          /**<        */
00424 
00425 // This trap is technically free.  It was temporarily used during Treo650 development but we never shipped
00426 //  with it.  We continue to define and dispatch it just to be extra safe.  There's a small chance that
00427 //  not all apps were properly transitioned to the PmUIUtil version of this call during Treo650 development.
00428 //  3rd party apps should have never had access to this function because it is defined in a palmOne
00429 //  internal header and apps built with the Treo650 ROM should've always be built against the latest trap
00430 //  definitions.  There's the slight possibility that palmOne apps built as components, however, were
00431 //  never built against the newest trap definitions.
00432 #define hsSelAttnUpdateExt                0xC9      /**<        */
00433 
00434 #define hsSelUtilAttnIndicatorAllow       0xCA          /**<        */
00435 
00436 #define hsSelUtilBbutSetBitmap            0xCB          /**<        */
00437 
00438 #define hsSelMenuSetCurMenuCurItem        0xCC          /**<        */
00439 
00440 #define hsSelTraceSetCommitInterval       0xCD          /**<        */
00441 #define hsSelTraceGetCommitInterval       0xCE          /**<        */
00442 
00443 #define hsSelWriteROMTokens               0xCF              /**<        */
00444 /*@}*/
00445     
00446 // for application to get current light circumstance
00447 #define hsGetCurrentLightCircumstance     0xD0              /**<        */
00448 
00449 #define hsSelShowHighVolAlert             0xD1
00450 
00451 #define hsSelStartMemoryTracing           0xD2
00452 // WARNING! Please do not re-order the trap numbers.
00453 // If you need to add a new trap, add it to the bottom of the list!!
00454 
00455 // WARNING!  Leave this one at the end! 
00456 // When adding new traps, renumber it
00457 // to one greater than the last trap.
00458 #define hsSelLast                         0xD3          /**<        */
00459 
00460 
00461 
00462 #define hsNumSels    (hsSelLast - hsSelectorBase)           /**<        */
00463 
00464 
00465 #endif    // __HS_EXT_TRAPS_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