Source code of Windows XP (NT5)
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.

227 lines
7.5 KiB

  1. /*++
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. ntsym.c
  5. --*/
  6. #define _NTSYM_HARDWARE_PTE_SYMBOL_ 1
  7. #include "ntos.h"
  8. #include "mi.h"
  9. #include "cmp.h"
  10. #include "pnpi.h"
  11. #include "arbiter.h"
  12. #include "dockintf.h"
  13. #include "pnprlist.h"
  14. #include "pnpiop.h"
  15. #include "pop.h"
  16. #include "pci.h"
  17. #include "pcip.h"
  18. #include "range.h"
  19. #include "busp.h"
  20. #include "ntldr.h"
  21. #include <nturtl.h>
  22. #include <atom.h>
  23. #include "cc.h"
  24. #include "heap.h"
  25. #include "heappriv.h"
  26. #include "heappage.h"
  27. #include "heappagi.h"
  28. #include "stktrace.h"
  29. #include "vfdeadlock.h"
  30. #if defined( _WIN64 )
  31. #include "wow64t.h"
  32. #endif
  33. // fixes redifinition error in seopaque.h
  34. #define _SEOPAQUE_
  35. #include "tokenp.h"
  36. //
  37. // Structures not defined in header files, but used by kdexts ???
  38. // ETIMER is defined in a .c file
  39. //
  40. typedef struct _ETIMER {
  41. KTIMER KeTimer;
  42. KAPC TimerApc;
  43. KDPC TimerDpc;
  44. LIST_ENTRY ActiveTimerListEntry;
  45. KSPIN_LOCK Lock;
  46. LONG Period;
  47. BOOLEAN ApcAssociated;
  48. BOOLEAN WakeTimer;
  49. LIST_ENTRY WakeTimerListEntry;
  50. } ETIMER, *PETIMER;
  51. typedef struct _POOL_BLOCK_HEAD {
  52. POOL_HEADER Header;
  53. LIST_ENTRY List;
  54. } POOL_BLOCK_HEAD, *PPOOL_BLOCK_HEADER;
  55. typedef struct _POOL_HACKER {
  56. POOL_HEADER Header;
  57. ULONG Contents[8];
  58. } POOL_HACKER;
  59. typedef struct _SEGMENT_OBJECT {
  60. PVOID BaseAddress;
  61. ULONG TotalNumberOfPtes;
  62. LARGE_INTEGER SizeOfSegment;
  63. ULONG NonExtendedPtes;
  64. ULONG ImageCommitment;
  65. PCONTROL_AREA ControlArea;
  66. PSUBSECTION Subsection;
  67. PLARGE_CONTROL_AREA LargeControlArea;
  68. MMSECTION_FLAGS *MmSectionFlags;
  69. MMSUBSECTION_FLAGS *MmSubSectionFlags;
  70. } SEGMENT_OBJECT, *PSEGMENT_OBJECT;
  71. typedef struct _SECTION_OBJECT {
  72. PVOID StartingVa;
  73. PVOID EndingVa;
  74. PVOID Parent;
  75. PVOID LeftChild;
  76. PVOID RightChild;
  77. PSEGMENT_OBJECT Segment;
  78. } SECTION_OBJECT;
  79. ACL acl;
  80. BUS_EXTENSION_LIST busExtensionList;
  81. CALL_HASH_ENTRY callHash;
  82. CALL_PERFORMANCE_DATA callPerformance;
  83. CM_CACHED_VALUE_INDEX cellvalue;
  84. CM_KEY_BODY KeyBody;
  85. CM_KEY_CONTROL_BLOCK KeyBlock;
  86. CM_RESOURCE_LIST cmreslst;
  87. CMHIVE cmhive;
  88. CONTROL_AREA ctrlArea;
  89. CONTEXT ctxt;
  90. DEFERRED_WRITE defdWrt;
  91. DEVICE_NODE devnode;
  92. DEVICE_OBJECT devOvbj;
  93. DEVICE_OBJECT_POWER_EXTENSION devobjPow;
  94. EJOB ejob;
  95. EPROCESS eprocess;
  96. ERESOURCE eresource;
  97. ETIMER eTimerVar;
  98. ETHREAD eThread;
  99. EX_WORK_QUEUE exWorkQueue;
  100. EXCEPTION_POINTERS expointer;
  101. EXCEPTION_RECORD exrecord;
  102. FILE_OBJECT fileObj;
  103. HANDLE_TABLE_ENTRY handletableentry;
  104. HARDWARE_PTE hwPTE;
  105. HEAP heapstruct;
  106. HEAP_ENTRY heapentry;
  107. HEAP_FREE_ENTRY heapfreeentry;
  108. HEAP_FREE_ENTRY_EXTRA heapfreeentryextra;
  109. HEAP_LOOKASIDE heaplookaside;
  110. HEAP_PSEUDO_TAG_ENTRY heappseudatagentry;
  111. HEAP_SEGMENT heapsegment;
  112. HEAP_STOP_ON_VALUES heapstoponvalues;
  113. HEAP_TAG_ENTRY heaptagentry;
  114. HEAP_VIRTUAL_ALLOC_ENTRY heapvirtualallocentry;
  115. HEAP_UCR_SEGMENT heapucrsegment;
  116. HEAP_UNCOMMMTTED_RANGE heapuncommitedrange;
  117. HIVE_LIST_ENTRY hiveList;
  118. HMAP_DIRECTORY h1;
  119. HMAP_ENTRY h2;
  120. HMAP_TABLE h3;
  121. IMAGE_DEBUG_DIRECTORY debugdir;
  122. IMAGE_DOS_HEADER dosHdr;
  123. IMAGE_NT_HEADERS nthdr;
  124. IMAGE_OPTIONAL_HEADER opthdr;
  125. IMAGE_ROM_OPTIONAL_HEADER romopthdr;
  126. IMAGE_SECTION_HEADER sectHdr;
  127. IO_RESOURCE_REQUIREMENTS_LIST ioreslst;
  128. IRP irpVar;
  129. KINTERRUPT kinterupt;
  130. KMUTANT kmutant;
  131. KPCR Pcr;
  132. KPRCB kprcb;
  133. KLOCK_QUEUE_HANDLE klockhandle;
  134. KMUTANT kmutant;
  135. KUSER_SHARED_DATA kuser;
  136. KWAIT_BLOCK KwaitBlock;
  137. LARGE_CONTROL_AREA largectrlArea;
  138. LDR_DATA_TABLE_ENTRY LdrEntry;
  139. LPCP_MESSAGE lpcpMsg;
  140. LPCP_PORT_OBJECT Obj;
  141. MI_VERIFIER_POOL_HEADER VerfierHdr;
  142. MM_DRIVER_VERIFIER_DATA DrvVerifierData;
  143. MM_PAGED_POOL_INFO PagedPoolInfo;
  144. MM_SESSION_SPACE MmSessionSpaceVar;
  145. MMPAGING_FILE PageFile;
  146. MMPFN pfn;
  147. MMPFNLIST pfnlist;
  148. MMSECTION_FLAGS secflags;
  149. MMSUBSECTION_FLAGS subsecflags;
  150. MMVAD mm6;
  151. MMVAD_SHORT mm7;
  152. MMVAD_LONG mm8;
  153. OBJECT_ATTRIBUTES Obja;
  154. OBJECT_HEADER ObjHead;
  155. OBJECT_HEADER_NAME_INFO ObjName;
  156. OBJECT_HEADER_CREATOR_INFO ObjCreatr;
  157. OBJECT_SYMBOLIC_LINK SymbolicLinkObject;
  158. PCI_ARBITER_INSTANCE PciInstance;
  159. PCI_PDO_EXTENSION PdoX;
  160. #if defined( _WIN64 )
  161. PEB32 peb32Struct;
  162. PEB64 peb64Struct;
  163. #endif
  164. PEB pebStruct;
  165. PEB_LDR_DATA pebldrdata;
  166. PHYSICAL_MEMORY_DESCRIPTOR PhysMemDesc;
  167. PHYSICAL_MEMORY_RUN PhysMemoryRun;
  168. PI_BUS_EXTENSION busEx;
  169. PI_RESOURCE_ARBITER_ENTRY ArbiterEntry;
  170. PNP_DEVICE_EVENT_ENTRY PnpEntry;
  171. PNP_DEVICE_EVENT_LIST devEvent;
  172. POOL_DESCRIPTOR PoolDesc;
  173. POOL_BLOCK_HEAD poolblk;
  174. POOL_HACKER poolH;
  175. POOL_TRACKER_BIG_PAGES poolBigPages;
  176. POOL_TRACKER_TABLE poolt;
  177. POP_ACTION_TRIGGER popactiontrigger;
  178. POP_IDLE_HANDLER popidlehandler;
  179. POP_POWER_ACTION popoweraction;
  180. POP_THERMAL_ZONE popthermalzone;
  181. POWER_STATE pState;
  182. PROCESSOR_POWER_POLICY processorPowerPolicy;
  183. PS_IMPERSONATION_INFORMATION psImpersonationInfo;
  184. PS_JOB_TOKEN_FILTER psJobTokenFilter;
  185. RTL_ATOM_TABLE rtlatomtable;
  186. RTLP_RANGE_LIST_ENTRY RtlRangeLst;
  187. SECTION_OBJECT setnObj;
  188. SECURITY_DESCRIPTOR securitydes;
  189. SEGMENT_OBJECT segObj;
  190. SHARED_CACHE_MAP sharedCache;
  191. SUBSECTION subsecArea;
  192. SYSTEM_POWER_CAPABILITIES systempowercapabilities;
  193. SYSTEM_POWER_POLICY syspopolicy;
  194. #if defined( _WIN64 )
  195. TEB32 teb32Struct;
  196. TEB64 teb64Struct;
  197. #endif
  198. TEB tebStruct;
  199. THERMAL_INFORMATION thermalinformation;
  200. VI_DEADLOCK_GLOBALS viDeadlockGlobals;
  201. TOKEN TokenVar;
  202. // Make it build
  203. int cdecl main() {
  204. return 0;
  205. }