Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

289 lines
15 KiB

  1. /*** proto.h - Local function prototypes
  2. *
  3. * Copyright (c) 1996,1997 Microsoft Corporation
  4. * Author: Michael Tsang (MikeTs)
  5. * Created 08/14/96
  6. *
  7. * MODIFICATION HISTORY
  8. */
  9. #ifndef _PROTO_H
  10. #define _PROTO_H
  11. //parser.c
  12. NTSTATUS LOCAL ParseScope(PCTXT pctxt, PSCOPE pscope, NTSTATUS rc);
  13. NTSTATUS LOCAL ParseCall(PCTXT pctxt, PCALL pcall, NTSTATUS rc);
  14. NTSTATUS LOCAL ParseNestedContext(PCTXT pctxt, PNESTEDCTXT pnctxt, NTSTATUS rc);
  15. NTSTATUS LOCAL ParseTerm(PCTXT pctxt, PTERM pterm, NTSTATUS rc);
  16. NTSTATUS LOCAL ParseAcquire(PCTXT pctxt, PACQUIRE pacq, NTSTATUS rc);
  17. NTSTATUS LOCAL ParseOpcode(PCTXT pctxt, PUCHAR pbScopeEnd,
  18. POBJDATA pdataResult);
  19. NTSTATUS LOCAL ParseArgObj(PCTXT pctxt, POBJDATA pdataResult);
  20. NTSTATUS LOCAL ParseLocalObj(PCTXT pctxt, POBJDATA pdataResult);
  21. NTSTATUS LOCAL ParseNameObj(PCTXT pctxt, POBJDATA pdataResult);
  22. NTSTATUS LOCAL ParseArg(PCTXT pctxt, char chArgType, POBJDATA pdataArg);
  23. NTSTATUS LOCAL ParseAndGetNameSpaceObject(PUCHAR *ppbOp, PNSOBJ pnsScope,
  24. PPNSOBJ ppns, BOOLEAN fAbsentOK);
  25. NTSTATUS LOCAL ParseSuperName(PCTXT pctxt, POBJDATA pdata, BOOLEAN fAbsentOK);
  26. NTSTATUS LOCAL ParseIntObj(PUCHAR *ppbOp, POBJDATA pdata, BOOLEAN fErrOK);
  27. NTSTATUS LOCAL ParseString(PUCHAR *ppbOp, POBJDATA pdata, BOOLEAN fErrOK);
  28. NTSTATUS LOCAL ParseObjName(PUCHAR *ppbOp, POBJDATA pdata, BOOLEAN fErrOK);
  29. NTSTATUS LOCAL ParseName(PUCHAR *ppbOp, PSZ pszBuff, ULONG dwLen);
  30. NTSTATUS LOCAL ParseNameTail(PUCHAR *ppbOp, PSZ pszBuff, ULONG dwLen);
  31. NTSTATUS LOCAL ParseInteger(PUCHAR *ppbOp, POBJDATA pdata, ULONG dwDataLen);
  32. NTSTATUS LOCAL ParseField(PCTXT pctxt, PNSOBJ pnsParent, PULONG pdwFieldFlags,
  33. PULONG pdwBitPos);
  34. NTSTATUS LOCAL ParseFieldList(PCTXT pctxt, PUCHAR pbOpEnd, PNSOBJ pnsParent,
  35. ULONG dwFieldFlags, ULONG dwRegionLen);
  36. ULONG LOCAL ParsePackageLen(PUCHAR *ppbOp, PUCHAR *ppbOpNext);
  37. //ctxt.c
  38. NTSTATUS LOCAL NewContext(PPCTXT ppctxt);
  39. VOID LOCAL FreeContext(PCTXT pctxt);
  40. VOID LOCAL InitContext(PCTXT pctxt, ULONG dwLen);
  41. BOOLEAN LOCAL IsStackEmpty(PCTXT pctxt);
  42. NTSTATUS LOCAL PushFrame(PCTXT pctxt, ULONG dwSig, ULONG dwLen,
  43. PFNPARSE pfnParse, PVOID *ppvFrame);
  44. VOID LOCAL PopFrame(PCTXT pctxt);
  45. NTSTATUS LOCAL PushPost(PCTXT pctxt, PFNPARSE pfnPost, ULONG_PTR uipData1,
  46. ULONG_PTR uipData2, POBJDATA pdataResult);
  47. NTSTATUS LOCAL PushScope(PCTXT pctxt, PUCHAR pbOpBegin, PUCHAR pbOpEnd,
  48. PUCHAR pbOpRet, PNSOBJ pnsScope, POBJOWNER powner,
  49. PHEAP pheap, POBJDATA pdataResult);
  50. NTSTATUS LOCAL PushCall(PCTXT pctxt, PNSOBJ pnsMethod, POBJDATA pdataResult);
  51. NTSTATUS LOCAL PushTerm(PCTXT pctxt, PUCHAR pbOpTerm, PUCHAR pbScopeEnd,
  52. PAMLTERM pamlterm, POBJDATA pdataResult);
  53. NTSTATUS LOCAL RunContext(PCTXT pctxt);
  54. //heap.c
  55. NTSTATUS LOCAL NewHeap(ULONG dwLen, PHEAP *ppheap);
  56. VOID LOCAL FreeHeap(PHEAP pheap);
  57. VOID LOCAL InitHeap(PHEAP pheap, ULONG dwLen);
  58. PVOID LOCAL HeapAlloc(PHEAP pheap, ULONG dwSig, ULONG dwLen);
  59. VOID LOCAL HeapFree(PVOID pb);
  60. PHEAPOBJHDR LOCAL HeapFindFirstFit(PHEAP pheap, ULONG dwLen);
  61. VOID LOCAL HeapInsertFreeList(PHEAP pheap, PHEAPOBJHDR phobj);
  62. //acpins.c
  63. NTSTATUS LOCAL GetNameSpaceObject(PSZ pszObjPath, PNSOBJ pnsScope, PPNSOBJ ppns,
  64. ULONG dwfNS);
  65. NTSTATUS LOCAL CreateNameSpaceObject(PHEAP pheap, PSZ pszName, PNSOBJ pnsScope,
  66. POBJOWNER powner, PPNSOBJ ppns,
  67. ULONG dwfNS);
  68. VOID LOCAL FreeNameSpaceObjects(PNSOBJ pnsObj);
  69. NTSTATUS LOCAL LoadDDB(PCTXT pctxt, PDSDT pdsdt, PNSOBJ pnsScope,
  70. POBJOWNER *ppowner);
  71. NTSTATUS LOCAL LoadMemDDB(PCTXT pctxt, PDSDT pDDB, POBJOWNER *ppowner);
  72. NTSTATUS LOCAL LoadFieldUnitDDB(PCTXT pctxt, POBJDATA pdataObj,
  73. POBJOWNER *ppowner);
  74. VOID LOCAL UnloadDDB(POBJOWNER powner);
  75. NTSTATUS LOCAL EvalPackageElement(PPACKAGEOBJ ppkg, int iPkgIndex,
  76. POBJDATA pdataResult);
  77. #ifdef DEBUGGER
  78. LONG LOCAL DumpNameSpaceObject(PSZ pszPath, BOOLEAN fRecursive);
  79. VOID LOCAL DumpNameSpaceTree(PNSOBJ pnsObj, ULONG dwLevel);
  80. #endif
  81. //nsmod.c
  82. NTSTATUS LOCAL Alias(PCTXT pctxt, PTERM pterm);
  83. NTSTATUS LOCAL Name(PCTXT pctxt, PTERM pterm);
  84. NTSTATUS LOCAL Scope(PCTXT pctxt, PTERM pterm);
  85. //namedobj.c
  86. NTSTATUS LOCAL BankField(PCTXT pctxt, PTERM pterm);
  87. NTSTATUS LOCAL CreateXField(PCTXT pctxt, PTERM pterm, POBJDATA pdataTarget,
  88. PBUFFFIELDOBJ *ppbf);
  89. NTSTATUS LOCAL CreateBitField(PCTXT pctxt, PTERM pterm);
  90. NTSTATUS LOCAL CreateByteField(PCTXT pctxt, PTERM pterm);
  91. NTSTATUS LOCAL CreateWordField(PCTXT pctxt, PTERM pterm);
  92. NTSTATUS LOCAL CreateDWordField(PCTXT pctxt, PTERM pterm);
  93. NTSTATUS LOCAL CreateField(PCTXT pctxt, PTERM pterm);
  94. NTSTATUS LOCAL Device(PCTXT pctxt, PTERM pterm);
  95. NTSTATUS LOCAL InitEvent(PHEAP pheap, PNSOBJ pns);
  96. NTSTATUS LOCAL Event(PCTXT pctxt, PTERM pterm);
  97. NTSTATUS LOCAL Field(PCTXT pctxt, PTERM pterm);
  98. NTSTATUS LOCAL IndexField(PCTXT pctxt, PTERM pterm);
  99. NTSTATUS LOCAL Method(PCTXT pctxt, PTERM pterm);
  100. NTSTATUS LOCAL InitMutex(PHEAP pheap, PNSOBJ pns, ULONG dwLevel);
  101. NTSTATUS LOCAL Mutex(PCTXT pctxt, PTERM pterm);
  102. NTSTATUS LOCAL OpRegion(PCTXT pctxt, PTERM pterm);
  103. NTSTATUS LOCAL PowerRes(PCTXT pctxt, PTERM pterm);
  104. NTSTATUS LOCAL Processor(PCTXT pctxt, PTERM pterm);
  105. NTSTATUS LOCAL ThermalZone(PCTXT pctxt, PTERM pterm);
  106. //type1op.c
  107. NTSTATUS LOCAL Break(PCTXT pctxt, PTERM pterm);
  108. NTSTATUS LOCAL BreakPoint(PCTXT pctxt, PTERM pterm);
  109. NTSTATUS LOCAL Fatal(PCTXT pctxt, PTERM pterm);
  110. NTSTATUS LOCAL IfElse(PCTXT pctxt, PTERM pterm);
  111. NTSTATUS LOCAL Load(PCTXT pctxt, PTERM pterm);
  112. NTSTATUS LOCAL Notify(PCTXT pctxt, PTERM pterm);
  113. NTSTATUS LOCAL ReleaseResetSignalUnload(PCTXT pctxt, PTERM pterm);
  114. NTSTATUS LOCAL Return(PCTXT pctxt, PTERM pterm);
  115. NTSTATUS LOCAL SleepStall(PCTXT pctxt, PTERM pterm);
  116. NTSTATUS LOCAL While(PCTXT pctxt, PTERM pterm);
  117. //type2op.c
  118. NTSTATUS LOCAL Buffer(PCTXT pctxt, PTERM pterm);
  119. NTSTATUS LOCAL Package(PCTXT pctxt, PTERM pterm);
  120. NTSTATUS LOCAL ParsePackage(PCTXT pctxt, PPACKAGE ppkg, NTSTATUS rc);
  121. NTSTATUS LOCAL Acquire(PCTXT pctxt, PTERM pterm);
  122. NTSTATUS LOCAL Concat(PCTXT pctxt, PTERM pterm);
  123. NTSTATUS LOCAL DerefOf(PCTXT pctxt, PTERM pterm);
  124. NTSTATUS LOCAL ExprOp1(PCTXT pctxt, PTERM pterm);
  125. NTSTATUS LOCAL ExprOp2(PCTXT pctxt, PTERM pterm);
  126. NTSTATUS LOCAL Divide(PCTXT pctxt, PTERM pterm);
  127. NTSTATUS LOCAL ProcessDivide(PCTXT pctxt, PPOST ppost, NTSTATUS rc);
  128. NTSTATUS LOCAL IncDec(PCTXT pctxt, PTERM pterm);
  129. NTSTATUS LOCAL ProcessIncDec(PCTXT pctxt, PPOST ppost, NTSTATUS rc);
  130. NTSTATUS LOCAL Index(PCTXT pctxt, PTERM pterm);
  131. NTSTATUS LOCAL LNot(PCTXT pctxt, PTERM pterm);
  132. NTSTATUS LOCAL LogOp2(PCTXT pctxt, PTERM pterm);
  133. NTSTATUS LOCAL ObjTypeSizeOf(PCTXT pctxt, PTERM pterm);
  134. NTSTATUS LOCAL RefOf(PCTXT pctxt, PTERM pterm);
  135. NTSTATUS LOCAL CondRefOf(PCTXT pctxt, PTERM pterm);
  136. NTSTATUS LOCAL Store(PCTXT pctxt, PTERM pterm);
  137. NTSTATUS LOCAL Wait(PCTXT pctxt, PTERM pterm);
  138. NTSTATUS LOCAL ProcessWait(PCTXT pctxt, PPOST ppost, NTSTATUS rc);
  139. NTSTATUS LOCAL Match(PCTXT pctxt, PTERM pterm);
  140. NTSTATUS LOCAL StoreRef(PCTXT pctxt, PTERM pterm);
  141. BOOLEAN LOCAL MatchData(ULONG dwPkgData, ULONG dwOp, ULONG dwData);
  142. NTSTATUS LOCAL OSInterface(PCTXT pctxt, PTERM pterm);
  143. //object.c
  144. NTSTATUS LOCAL ReadObject(PCTXT pctxt, POBJDATA pdataObj, POBJDATA pdataResult);
  145. NTSTATUS LOCAL WriteObject(PCTXT pctxt, POBJDATA pdataObj, POBJDATA pdataSrc);
  146. NTSTATUS LOCAL AccFieldUnit(PCTXT pctxt, PACCFIELDUNIT pafu, NTSTATUS rc);
  147. NTSTATUS LOCAL ReadField(PCTXT pctxt, POBJDATA pdataObj, PFIELDDESC pfd,
  148. POBJDATA pdataResult);
  149. NTSTATUS LOCAL WriteField(PCTXT pctxt, POBJDATA pdataObj, PFIELDDESC pfd,
  150. POBJDATA pdataSrc);
  151. NTSTATUS LOCAL WriteFieldLoop(PCTXT pctxt, PWRFIELDLOOP pwfl, NTSTATUS rc);
  152. NTSTATUS LOCAL PushAccFieldObj(PCTXT pctxt, PFNPARSE pfnAcc, POBJDATA pdataObj,
  153. PFIELDDESC pfd, PUCHAR pb, ULONG dwcb);
  154. NTSTATUS LOCAL ReadFieldObj(PCTXT pctxt, PVOID pafo, NTSTATUS rc);
  155. NTSTATUS LOCAL WriteFieldObj(PCTXT pctxt, PVOID pafo, NTSTATUS rc);
  156. NTSTATUS LOCAL RawFieldAccess(PCTXT pctxt, ULONG dwAccType, POBJDATA pdataObj,
  157. POBJDATA pdataResult);
  158. NTSTATUS LOCAL AccessFieldData(PCTXT pctxt, POBJDATA pdataObj, PFIELDDESC pfd,
  159. PULONG pdwData, BOOLEAN fRead);
  160. NTSTATUS LOCAL PushPreserveWriteObj(PCTXT pctxt, POBJDATA pdataObj,
  161. ULONG dwData, ULONG dwPreserveMask);
  162. NTSTATUS LOCAL PreserveWriteObj(PCTXT pctxt, PPRESERVEWROBJ ppwro, NTSTATUS rc);
  163. NTSTATUS LOCAL AccessBaseField(PCTXT pctxt, PNSOBJ pnsBase, PFIELDDESC pfd,
  164. PULONG pdwData, BOOLEAN fRead);
  165. NTSTATUS LOCAL WriteCookAccess(PCTXT pctxt, PWRCOOKACC pwca, NTSTATUS rc);
  166. NTSTATUS LOCAL ReadBuffField(PBUFFFIELDOBJ pbf, PFIELDDESC pfd,
  167. PULONG pdwData);
  168. NTSTATUS LOCAL WriteBuffField(PBUFFFIELDOBJ pbf, PFIELDDESC pfd, ULONG dwData);
  169. ULONG LOCAL ReadSystemMem(ULONG_PTR uipAddr, ULONG dwSize, ULONG dwMask);
  170. VOID LOCAL WriteSystemMem(ULONG_PTR uipAddr, ULONG dwSize, ULONG dwData,
  171. ULONG dwMask);
  172. ULONG LOCAL ReadSystemIO(ULONG dwAddr, ULONG dwSize, ULONG dwMask);
  173. VOID LOCAL WriteSystemIO(ULONG dwAddr, ULONG dwSize, ULONG dwData);
  174. #ifdef DEBUGGER
  175. VOID LOCAL DumpObject(POBJDATA pdata, PSZ pszName, int iLevel);
  176. #endif
  177. BOOLEAN LOCAL NeedGlobalLock(PFIELDUNITOBJ pfu);
  178. NTSTATUS LOCAL QueueCookAccess(PCTXT pctxt, PRSACCESS prsa, ULONG dwAccType,
  179. PNSOBJ pnsBase, ULONG dwAddr, ULONG dwSize);
  180. BOOLEAN LOCAL CheckSystemIOAddressValidity( BOOLEAN fRead, ULONG dwAddr, ULONG dwSize, PULONG pdwData);
  181. VOID DelayedLogInErrorLog( IN PDEVICE_OBJECT DeviceObject, IN PVOID Context);
  182. VOID LOCAL LogInErrorLog(BOOLEAN fRead, ULONG dwAddr, ULONG ArrayIndex);
  183. VOID LOCAL InitIllegalIOAddressListFromHAL(VOID);
  184. VOID LOCAL FreellegalIOAddressList(VOID);
  185. //sleep.c
  186. NTSTATUS LOCAL SleepQueueRequest(IN PCTXT Context, IN ULONG SleepTime);
  187. VOID SleepQueueDpc(PKDPC Dpc, PVOID Context, PVOID Argument1, PVOID Argument2);
  188. NTSTATUS LOCAL ProcessSleep(PCTXT pctxt, PSLEEP psleep, NTSTATUS rc);
  189. //sync.c
  190. VOID LOCAL AsyncCallBack(PCTXT pctxt, NTSTATUS rcCtxt);
  191. VOID EXPORT EvalMethodComplete(PCTXT pctxt, NTSTATUS rc, PSYNCEVENT pse);
  192. NTSTATUS LOCAL SyncEvalObject(PNSOBJ pns, POBJDATA pResult, int icArgs,
  193. POBJDATA pArgs);
  194. NTSTATUS LOCAL AsyncEvalObject(PNSOBJ pns, POBJDATA pResult, int icArgs,
  195. POBJDATA pArgs, PFNACB pfnAsyncCallBack,
  196. PVOID pvContext, BOOLEAN fAsync);
  197. NTSTATUS LOCAL NestAsyncEvalObject(PNSOBJ pns, POBJDATA pdataResult,
  198. int icArgs, POBJDATA pdataArgs,
  199. PFNACB pfnAsyncCallBack, PVOID pvContext,
  200. BOOLEAN fAsync);
  201. NTSTATUS LOCAL ProcessEvalObj(PCTXT pctxt, PPOST ppost, NTSTATUS rc);
  202. VOID TimeoutCallback(PKDPC pkdpc, PVOID pctxt, PVOID SysArg1, PVOID SysArg2);
  203. VOID LOCAL QueueContext(PCTXT pctxt, USHORT wTimeout, PPLIST pplist);
  204. PCTXT LOCAL DequeueAndReadyContext(PPLIST pplist);
  205. NTSTATUS LOCAL AcquireASLMutex(PCTXT pctxt, PMUTEXOBJ pm, USHORT wTimeout);
  206. NTSTATUS LOCAL ReleaseASLMutex(PCTXT pctxt, PMUTEXOBJ pm);
  207. NTSTATUS LOCAL WaitASLEvent(PCTXT pctxt, PEVENTOBJ pe, USHORT wTimeout);
  208. VOID LOCAL ResetASLEvent(PEVENTOBJ pe);
  209. VOID LOCAL SignalASLEvent(PEVENTOBJ pe);
  210. NTSTATUS LOCAL SyncLoadDDB(PCTXT pctxt);
  211. //sched.c
  212. VOID ExpireTimeSlice(PKDPC pkdpc, PCTXTQ pctxtq, PVOID SysArg1, PVOID SysArg2);
  213. VOID StartTimeSlice(PKDPC pkdpc, PCTXTQ pctxtq, PVOID SysArg1, PVOID SysArg2);
  214. VOID StartTimeSlicePassive(PCTXTQ pctxtq);
  215. VOID LOCAL DispatchCtxtQueue(PCTXTQ pctxtq);
  216. NTSTATUS LOCAL InsertReadyQueue(PCTXT pctxt, BOOLEAN fDelayExecute);
  217. NTSTATUS LOCAL RestartContext(PCTXT pctxt, BOOLEAN fDelayExecute);
  218. VOID RestartCtxtPassive(PRESTART prest);
  219. VOID EXPORT RestartCtxtCallback(PCTXTDATA pctxtdata);
  220. //misc.c
  221. VOID LOCAL InitializeMutex(PMUTEX pmut);
  222. BOOLEAN LOCAL AcquireMutex(PMUTEX pmut);
  223. BOOLEAN LOCAL ReleaseMutex(PMUTEX pmut);
  224. PAMLTERM LOCAL FindOpcodeTerm(ULONG dwOp, POPCODEMAP pOpTable);
  225. ULONG LOCAL GetHackFlags(PDSDT pdsdt);
  226. PNSOBJ LOCAL GetBaseObject(PNSOBJ pnsObj);
  227. POBJDATA LOCAL GetBaseData(POBJDATA pdataObj);
  228. NTSTATUS LOCAL NewObjOwner(PHEAP pheap, POBJOWNER *ppowner);
  229. VOID LOCAL FreeObjOwner(POBJOWNER powner, BOOLEAN fUnload);
  230. VOID LOCAL InsertOwnerObjList(POBJOWNER powner, PNSOBJ pnsObj);
  231. VOID LOCAL FreeDataBuffs(POBJDATA adata, int icData);
  232. NTSTATUS LOCAL PutIntObjData(PCTXT pctxt, POBJDATA pdataObj, ULONG dwData);
  233. NTSTATUS LOCAL GetFieldUnitRegionObj(PFIELDUNITOBJ pfu, PPNSOBJ ppns);
  234. NTSTATUS LOCAL CopyObjBuffer(PUCHAR pbBuff, ULONG dwLen, POBJDATA pdata);
  235. VOID LOCAL CopyObjData(POBJDATA pdataDst, POBJDATA pdataSrc);
  236. VOID LOCAL MoveObjData(POBJDATA pdataDst, POBJDATA pdataSrc);
  237. NTSTATUS LOCAL DupObjData(PHEAP pheap, POBJDATA pdataDst, POBJDATA pdataSrc);
  238. NTSTATUS LOCAL CopyObjBuffer(PUCHAR pbBuff, ULONG dwLen, POBJDATA pdata);
  239. NTSTATUS LOCAL AcquireGL(PCTXT pctxt);
  240. NTSTATUS LOCAL ReleaseGL(PCTXT pctxt);
  241. NTSTATUS LOCAL MapUnmapPhysMem(PCTXT pctxt, ULONG_PTR uipAddr, ULONG dwLen,
  242. PULONG_PTR puipMappedAddr);
  243. ULONG_PTR LOCAL MapPhysMem(ULONG_PTR uipAddr, ULONG dwLen);
  244. VOID MapUnmapCallBack(PPASSIVEHOOK pph);
  245. BOOLEAN LOCAL MatchObjType(ULONG dwObjType, ULONG dwExpectedType);
  246. NTSTATUS LOCAL ValidateTarget(POBJDATA pdataTarget, ULONG dwExpectedType,
  247. POBJDATA *ppdata);
  248. NTSTATUS LOCAL ValidateArgTypes(POBJDATA pArgs, PSZ pszExpectedTypes);
  249. NTSTATUS LOCAL RegEventHandler(PEVHANDLE peh, PFNHND pfnHandler,
  250. ULONG_PTR uipParam);
  251. NTSTATUS LOCAL RegOpcodeHandler(ULONG dwOpcode, PFNOH pfnHandler,
  252. ULONG_PTR uipParam, ULONG dwfOpcode);
  253. NTSTATUS LOCAL RegRSAccess(ULONG dwRegionSpace, PFNHND pfnHandler,
  254. ULONG_PTR uipParam, BOOLEAN fRaw);
  255. PRSACCESS LOCAL FindRSAccess(ULONG dwRegionSpace);
  256. VOID LOCAL FreeRSAccessList(PRSACCESS prsa);
  257. PSZ LOCAL GetObjectPath(PNSOBJ pns);
  258. #ifdef DEBUGGER
  259. PSZ LOCAL NameSegString(ULONG dwNameSeg);
  260. PSZ LOCAL GetObjectTypeName(ULONG dwObjType);
  261. PSZ LOCAL GetRegionSpaceName(UCHAR bRegionSpace);
  262. #endif
  263. BOOLEAN LOCAL ValidateTable(PDSDT pdsdt);
  264. PVOID LOCAL NewObjData(PHEAP pheap, POBJDATA pdata);
  265. VOID LOCAL FreeObjData(POBJDATA pdata);
  266. VOID LOCAL InitializeRegOverrideFlags(VOID);
  267. BOOLEAN LOCAL ValidateMemoryOpregionRange(ULONG_PTR uipAddr, ULONG dwLen);
  268. #ifdef DEBUG
  269. VOID LOCAL FreeMem(PVOID pv, PULONG pdwcObjs);
  270. VOID LOCAL CheckGlobalHeap();
  271. #endif
  272. #endif //ifndef _PROTO_H