pmimp.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. /****************************************************************************
  2. *
  3. * SciTech OS Portability Manager Library
  4. *
  5. * ========================================================================
  6. *
  7. * The contents of this file are subject to the SciTech MGL Public
  8. * License Version 1.0 (the "License"); you may not use this file
  9. * except in compliance with the License. You may obtain a copy of
  10. * the License at http://www.scitechsoft.com/mgl-license.txt
  11. *
  12. * Software distributed under the License is distributed on an
  13. * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  14. * implied. See the License for the specific language governing
  15. * rights and limitations under the License.
  16. *
  17. * The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.
  18. *
  19. * The Initial Developer of the Original Code is SciTech Software, Inc.
  20. * All Rights Reserved.
  21. *
  22. * ========================================================================
  23. *
  24. * Language: ANSI C
  25. * Environment: Any
  26. *
  27. * Description: Header file declaring all the PM imports structure for the
  28. * current version of the PM library. Included in all code
  29. * that needs to pass the PM imports to BPD files.
  30. *
  31. ****************************************************************************/
  32. PM_imports _VARAPI _PM_imports = {
  33. sizeof(PM_imports),
  34. PM_getModeType,
  35. PM_getBIOSPointer,
  36. PM_getA0000Pointer,
  37. PM_mapPhysicalAddr,
  38. PM_mallocShared,
  39. NULL,
  40. PM_freeShared,
  41. PM_mapToProcess,
  42. PM_mapRealPointer,
  43. PM_allocRealSeg,
  44. PM_freeRealSeg,
  45. PM_allocLockedMem,
  46. PM_freeLockedMem,
  47. PM_callRealMode,
  48. PM_int86,
  49. PM_int86x,
  50. DPMI_int86,
  51. PM_availableMemory,
  52. PM_getVESABuf,
  53. PM_getOSType,
  54. PM_fatalError,
  55. PM_setBankA,
  56. PM_setBankAB,
  57. PM_setCRTStart,
  58. PM_getCurrentPath,
  59. PM_getVBEAFPath,
  60. PM_getNucleusPath,
  61. PM_getNucleusConfigPath,
  62. PM_getUniqueID,
  63. PM_getMachineName,
  64. VF_available,
  65. VF_init,
  66. VF_exit,
  67. PM_openConsole,
  68. PM_getConsoleStateSize,
  69. PM_saveConsoleState,
  70. PM_restoreConsoleState,
  71. PM_closeConsole,
  72. PM_setOSCursorLocation,
  73. PM_setOSScreenWidth,
  74. PM_enableWriteCombine,
  75. PM_backslash,
  76. PM_lockDataPages,
  77. PM_unlockDataPages,
  78. PM_lockCodePages,
  79. PM_unlockCodePages,
  80. PM_setRealTimeClockHandler,
  81. PM_setRealTimeClockFrequency,
  82. PM_restoreRealTimeClockHandler,
  83. PM_doBIOSPOST,
  84. PM_getBootDrive,
  85. PM_freePhysicalAddr,
  86. PM_inpb,
  87. PM_inpw,
  88. PM_inpd,
  89. PM_outpb,
  90. PM_outpw,
  91. PM_outpd,
  92. NULL,
  93. PM_setSuspendAppCallback,
  94. PM_haveBIOSAccess,
  95. PM_kbhit,
  96. PM_getch,
  97. PM_findBPD,
  98. PM_getPhysicalAddr,
  99. PM_sleep,
  100. PM_getCOMPort,
  101. PM_getLPTPort,
  102. PM_loadLibrary,
  103. PM_getProcAddress,
  104. PM_freeLibrary,
  105. PCI_enumerate,
  106. PCI_accessReg,
  107. PCI_setHardwareIRQ,
  108. PCI_generateSpecialCyle,
  109. NULL,
  110. PCIBIOS_getEntry,
  111. CPU_getProcessorType,
  112. CPU_haveMMX,
  113. CPU_have3DNow,
  114. CPU_haveSSE,
  115. CPU_haveRDTSC,
  116. CPU_getProcessorSpeed,
  117. ZTimerInit,
  118. LZTimerOn,
  119. LZTimerLap,
  120. LZTimerOff,
  121. LZTimerCount,
  122. LZTimerOnExt,
  123. LZTimerLapExt,
  124. LZTimerOffExt,
  125. LZTimerCountExt,
  126. ULZTimerOn,
  127. ULZTimerLap,
  128. ULZTimerOff,
  129. ULZTimerCount,
  130. ULZReadTime,
  131. ULZElapsedTime,
  132. ULZTimerResolution,
  133. PM_findFirstFile,
  134. PM_findNextFile,
  135. PM_findClose,
  136. PM_makepath,
  137. PM_splitpath,
  138. PM_driveValid,
  139. PM_getdcwd,
  140. PM_setFileAttr,
  141. PM_mkdir,
  142. PM_rmdir,
  143. PM_getFileAttr,
  144. PM_getFileTime,
  145. PM_setFileTime,
  146. CPU_getProcessorName,
  147. PM_getVGAStateSize,
  148. PM_saveVGAState,
  149. PM_restoreVGAState,
  150. PM_vgaBlankDisplay,
  151. PM_vgaUnblankDisplay,
  152. PM_blockUntilTimeout,
  153. _PM_add64,
  154. _PM_sub64,
  155. _PM_mul64,
  156. _PM_div64,
  157. _PM_shr64,
  158. _PM_sar64,
  159. _PM_shl64,
  160. _PM_neg64,
  161. PCI_findBARSize,
  162. PCI_readRegBlock,
  163. PCI_writeRegBlock,
  164. PM_flushTLB,
  165. PM_useLocalMalloc,
  166. PM_malloc,
  167. PM_calloc,
  168. PM_realloc,
  169. PM_free,
  170. PM_getPhysicalAddrRange,
  171. PM_allocPage,
  172. PM_freePage,
  173. PM_agpInit,
  174. PM_agpExit,
  175. PM_agpReservePhysical,
  176. PM_agpReleasePhysical,
  177. PM_agpCommitPhysical,
  178. PM_agpFreePhysical,
  179. PCI_getNumDevices,
  180. PM_setLocalBPDPath,
  181. #ifdef __WINDOWS32__
  182. PM_loadDirectDraw,
  183. PM_unloadDirectDraw,
  184. PM_getDirectDrawWindow,
  185. PM_doSuspendApp,
  186. #else
  187. NULL,
  188. NULL,
  189. NULL,
  190. NULL,
  191. #endif
  192. };