pace.h
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:4k
源码类别:

Windows CE

开发平台:

C/C++

  1. /*****************************************************************************
  2.  *
  3.  * This program is free software ; you can redistribute it and/or modify
  4.  * it under the terms of the GNU General Public License as published by
  5.  * the Free Software Foundation; either version 2 of the License, or
  6.  * (at your option) any later version.
  7.  *
  8.  * This program is distributed in the hope that it will be useful,
  9.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11.  * GNU General Public License for more details.
  12.  *
  13.  * You should have received a copy of the GNU General Public License
  14.  * along with this program; if not, write to the Free Software
  15.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  16.  *
  17.  * $Id: pace.h 332 2005-11-06 14:31:57Z picard $
  18.  *
  19.  * The Core Pocket Media Player
  20.  * Copyright (c) 2004-2005 Gabor Kovacs
  21.  *
  22.  ****************************************************************************/
  23. #ifndef __PACE_H
  24. #define __PACE_H
  25. #if defined(TARGET_PALMOS)
  26. #if _MSC_VER > 1000
  27. #pragma warning( disable:4068 4204 )
  28. #endif
  29. #undef BIG_ENDIAN
  30. #define USE_TRAPS 0
  31. #include <PalmOS.h>
  32. #include <CoreTraps.h>
  33. #include <UIResources.h>
  34. #include <Rect.h>
  35. #include <SystemMgr.h>
  36. #include <Form.h>
  37. #include <ExpansionMgr.h>
  38. #include <VFSMgr.h>
  39. #include <MemGlue.h>
  40. #include <PceNativeCall.h>
  41. #include <SysGlue.h>
  42. #include <FrmGlue.h>
  43. #if PALMOS_SDK_VERSION < 0x0541
  44. #error Please update to Palm OS 5 SDK R4
  45. #endif
  46. typedef struct sysregs
  47. {
  48. void* GOT;
  49. void* SysReg;
  50. } sysregs;
  51. void SaveSysRegs(sysregs* p);
  52. void LoadSysRegs(sysregs* p);
  53. void LaunchNotify(SysNotifyParamType*,bool_t HasFocus);
  54. extern Int32 GetOEMSleepMode();
  55. extern Err SetOEMSleepMode(Int32 Mode);
  56. extern void* PealLoadModule(uint16_t FtrId,Boolean Mem,Boolean OnlyFtr,Boolean MemSema);
  57. extern void PealFreeModule(void*);
  58. extern void* PealGetSymbol(void*,const tchar_t* Name);
  59. extern Err SysGetEntryAddresses(UInt32 refNum, UInt32 entryNumStart,
  60. UInt32 entryNumEnd, void **addressP);
  61. extern Err SysFindModule(UInt32 dbType, UInt32 dbCreator, UInt16 rsrcID,
  62. UInt32 flags, UInt32 *refNumP);
  63. extern Err SysLoadModule(UInt32 dbType, UInt32 dbCreator, UInt16 rsrcID,
  64. UInt32 flags, UInt32 *refNumP);
  65. extern Err SysUnloadModule(UInt32 refNum);
  66. extern void HALDelay(UInt32 microSec);
  67. extern void HALDisplayWake();
  68. extern void HALDisplayOff_TREO650();
  69. extern void SonyCleanDCache(void*, UInt32);
  70. extern void SonyInvalidateDCache(void*, UInt32);
  71. extern int PalmCall(void* Func,...); //0..4
  72. extern int PalmCall2(void* Func,...); //5..8
  73. #if defined(_MSC_VER)
  74. #define PALMCALL0(Func) Func()
  75. #define PALMCALL1(Func,a) Func(a)
  76. #define PALMCALL2(Func,a,b) Func(a,b)
  77. #define PALMCALL3(Func,a,b,c) Func(a,b,c)
  78. #define PALMCALL4(Func,a,b,c,d) Func(a,b,c,d)
  79. #define PALMCALL5(Func,a,b,c,d,e) Func(a,b,c,d,e)
  80. #define PALMCALL6(Func,a,b,c,d,e,f) Func(a,b,c,d,e,f)
  81. #define PALMCALL7(Func,a,b,c,d,e,f,g) Func(a,b,c,d,e,f,g)
  82. #define PALMCALL8(Func,a,b,c,d,e,f,g,h) Func(a,b,c,d,e,f,g,h)
  83. #else
  84. #define PALMCALL0(Func) PalmCall(Func)
  85. #define PALMCALL1(Func,a) PalmCall(Func,a)
  86. #define PALMCALL2(Func,a,b) PalmCall(Func,a,b)
  87. #define PALMCALL3(Func,a,b,c) PalmCall(Func,a,b,c)
  88. #define PALMCALL4(Func,a,b,c,d) PalmCall(Func,a,b,c,d)
  89. #define PALMCALL5(Func,a,b,c,d,e) PalmCall2(Func,a,b,c,d,e)
  90. #define PALMCALL6(Func,a,b,c,d,e,f) PalmCall2(Func,a,b,c,d,e,f)
  91. #define PALMCALL7(Func,a,b,c,d,e,f,g) PalmCall2(Func,a,b,c,d,e,f,g)
  92. #define PALMCALL8(Func,a,b,c,d,e,f,g,h) PalmCall2(Func,a,b,c,d,e,f,g,h)
  93. #endif
  94. typedef uint16_t m68kcallback[12];
  95. extern void* m68kCallBack(m68kcallback,NativeFuncType*);
  96. extern const tchar_t* VFSToVol(const tchar_t* URL,uint16_t* Vol);
  97. extern bool_t VFSFromVol(uint16_t Vol,const tchar_t* Path,tchar_t* URL,int URLLen);
  98. extern bool_t DBFrom(uint16_t Card,uint32_t DB,tchar_t* URL,int URLLen);
  99. extern FormEventHandlerType* FrmGetEventHandler(FormType *Form);
  100. #define memNewChunkFlagAllowLarge 0x1000
  101. typedef struct SysAppLaunchCmdOpenDBType2
  102. {
  103. UInt16 cardNo;
  104. UInt16 dbID[2];
  105. } SysAppLaunchCmdOpenDBType2;
  106. typedef struct vfspath
  107. {
  108. UInt16 volRefNum;
  109. Char path[256];
  110. } vfspath;
  111. #endif
  112. #endif