API Guide Home
(Online version only)

PalmHiResTime.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  * @ingroup HiRes
00007  *
00008  */
00009  
00010 /**
00011  * @file    PalmHiResTime.h
00012  * @version 1.0
00013  *
00014  * @brief Exported High Resolution timer definitions.
00015  * 
00016  *
00017  * <hr>
00018  */
00019 
00020 
00021  
00022 #ifndef __PalmHiResTime_H__
00023 #define __PalmHiResTime_H__
00024 
00025 // Palm OS common definitions
00026 #include <PalmTypes.h>
00027 #include <ErrorBase.h>
00028 #include <SystemMgr.h>
00029 
00030 // To Define when building the library
00031 #if (CPU_TYPE != CPU_68K) || (defined BUILDING_CAM_LIB)
00032     #define ARM_NATIVECODE          /**<        */
00033     #define CAM_LIB_TRAP(trapNum)       /**<        */
00034 #else
00035     #include <LibTraps.h>
00036     #define CAM_LIB_TRAP(trapNum) SYS_TRAP(trapNum)     /**<        */
00037 #endif
00038 
00039 /**
00040  * @name Type and creator of the Library
00041  *
00042  */
00043 /*@{*/
00044 #define     kHiResTimeLibType       'libr'          /**< database type */
00045 #define     kHiResTimeLibCreator    'pHRT'              /**< database creator */
00046 /*@}*/
00047 
00048 /** Internal library name which can be passed to SysLibFind() */
00049 #define     kHiResTimeLibName       "HRTimer-Lib"
00050 
00051 /**
00052  * @name Library versionning
00053  *
00054  */
00055 /*@{*/
00056 #define     kHiResTimeLibVersion1   sysMakeROMVersion(1, 0, 0, sysROMStageRelease, 0)   /**<        */
00057 #define     kHiResTimeLibVersion    kCamLibVersion1         /**<        */
00058 /*@}*/
00059 
00060 /** HiRes Timer result codes */
00061 #define kHiResTimeErrorClass            (oemErrorClass + 0x100)
00062 
00063 /**
00064  * @name Library trap
00065  *
00066  */
00067 /*@{*/
00068 #define kHRLibTrapTimerTicksPerSecond   (sysLibTrapCustom)          /**<        */
00069 #define kHRLibTrapTimerGetTime          (sysLibTrapCustom+1)        /**<        */
00070 /*@}*/
00071 
00072 /***********************************************************************
00073  * API Prototypes
00074  ***********************************************************************/
00075 
00076 #ifdef __cplusplus
00077 extern "C" {
00078 #endif
00079 
00080 #ifndef ARM_NATIVECODE
00081 
00082 /**
00083  * @brief Standard library open function
00084  *
00085  * @param refNum:   IN:  
00086  * @retval Err error code.
00087  **/
00088 extern Err HRTimeLibOpen(UInt16 refNum)
00089     CAM_LIB_TRAP(sysLibTrapOpen);
00090 
00091 /**
00092  * @brief Standard library close function
00093  *
00094  * @param refNum:   IN:  
00095  * @retval Err error code.
00096  **/
00097 extern Err HRTimeLibClose(UInt16 refNum)
00098     CAM_LIB_TRAP(sysLibTrapClose);
00099 
00100 /**
00101  * @brief Custom library API functions
00102  *
00103  * @param refNum:   IN:  
00104  * @param *ticksP:  IN:  
00105  * @retval Err error code.
00106  **/
00107 extern Err HRTimeLibTicksPerSecond(UInt16 refNum, UInt32 *ticksP )
00108     CAM_LIB_TRAP(kHRLibTrapTimerTicksPerSecond);
00109     
00110 /**
00111  * @brief
00112  *
00113  * @param refNum:   IN:  
00114  * @param *ticksP:  IN:  
00115  * @param *rolloverP:   IN:  
00116  * @retval Err error code.
00117  **/
00118 extern Err HRTimeLibGetTime(UInt16 refNum, UInt32 *ticksP, UInt32 *rolloverP)
00119     CAM_LIB_TRAP(kHRLibTrapTimerGetTime);
00120 
00121 #else
00122 /**
00123  * @brief Currently only used by 68K app.  ARM code can directly call to the HAL
00124  *     functions.  The HAL function prototypes are included here.
00125  *
00126  * @param *ticksP:  IN:  
00127  * @retval Err error code.
00128  **/
00129 Err HRTimeLibTicksPerSecond( UInt32 *ticksP );
00130 
00131 /**
00132  * @brief
00133  *
00134  * @param *ticksP:  IN:  
00135  * @param *rolloverP:   IN:  
00136  * @retval Err error code.
00137  **/
00138 Err HRTimeLibGetTime( UInt32 *ticksP, UInt32 *rolloverP );
00139 
00140 #endif
00141 
00142 
00143 #ifdef __cplusplus
00144 }
00145 #endif
00146 
00147 #endif // __PalmHiResTime_H__

Top Palm Developer Network
© 2004-2008, Palm, Inc. All rights reserved.
Generated on Fri Jun 13 10:06:54 2008 for Palm API Guide