ReactOS 0.4.17-dev-966-gf06eace
debug.c File Reference
#include <pci.h>
#include <debug.h>
Include dependency graph for debug.c:

Go to the source code of this file.

Macros

#define NDEBUG
 

Functions

PCHAR NTAPI PciDebugPnpIrpTypeToText (IN USHORT MinorFunction)
 
PCHAR NTAPI PciDebugPoIrpTypeToText (IN USHORT MinorFunction)
 
BOOLEAN NTAPI PciDebugIrpDispatchDisplay (IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension, IN USHORT MaxMinor)
 
VOID NTAPI PciDebugDumpCommonConfig (IN PPCI_COMMON_HEADER PciData)
 
VOID NTAPI PciDebugDumpQueryCapabilities (IN PDEVICE_CAPABILITIES DeviceCaps)
 
PCHAR NTAPI PciDebugCmResourceTypeToText (IN UCHAR Type)
 
VOID NTAPI PciDebugPrintIoResource (IN PIO_RESOURCE_DESCRIPTOR Descriptor)
 
VOID NTAPI PciDebugPrintIoResReqList (IN PIO_RESOURCE_REQUIREMENTS_LIST Requirements)
 
VOID NTAPI PciDebugPrintPartialResource (IN PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialResource)
 
VOID NTAPI PciDebugPrintCmResList (IN PCM_RESOURCE_LIST PartialList)
 

Variables

PCHAR PnpCodes []
 
PCHAR PoCodes []
 
PCHAR SystemPowerStates []
 
PCHAR DevicePowerStates []
 
ULONG PciBreakOnPdoPowerIrp
 
ULONG PciBreakOnFdoPowerIrp
 
ULONG PciBreakOnPdoPnpIrp
 
ULONG PciBreakOnFdoPnpIrp
 

Macro Definition Documentation

◆ NDEBUG

#define NDEBUG

Definition at line 13 of file debug.c.

Function Documentation

◆ PciDebugCmResourceTypeToText()

PCHAR NTAPI PciDebugCmResourceTypeToText ( IN UCHAR  Type)

Definition at line 258 of file debug.c.

259{
260 /* What kind of resource it this? */
261 switch (Type)
262 {
263 /* Pick the correct identifier string based on the type */
264 case CmResourceTypeDeviceSpecific: return "CmResourceTypeDeviceSpecific";
265 case CmResourceTypePort: return "CmResourceTypePort";
266 case CmResourceTypeInterrupt: return "CmResourceTypeInterrupt";
267 case CmResourceTypeMemory: return "CmResourceTypeMemory";
268 case CmResourceTypeDma: return "CmResourceTypeDma";
269 case CmResourceTypeBusNumber: return "CmResourceTypeBusNumber";
270 case CmResourceTypeConfigData: return "CmResourceTypeConfigData";
271 case CmResourceTypeDevicePrivate: return "CmResourceTypeDevicePrivate";
272 case CmResourceTypePcCardConfig: return "CmResourceTypePcCardConfig";
273 case CmResourceTypeMemoryLarge: return "CmResourceTypeMemoryLarge";
274 default: return "*** INVALID RESOURCE TYPE ***";
275 }
276}
Type
Definition: Type.h:7
#define CmResourceTypePcCardConfig
Definition: restypes.h:113
#define CmResourceTypeConfigData
Definition: restypes.h:111
#define CmResourceTypeMemory
Definition: restypes.h:106
#define CmResourceTypeDma
Definition: restypes.h:107
#define CmResourceTypeDevicePrivate
Definition: restypes.h:112
#define CmResourceTypeDeviceSpecific
Definition: restypes.h:108
#define CmResourceTypePort
Definition: restypes.h:104
#define CmResourceTypeBusNumber
Definition: restypes.h:109
#define CmResourceTypeInterrupt
Definition: restypes.h:105
#define CmResourceTypeMemoryLarge
Definition: cmtypes.h:231

Referenced by PciDebugPrintIoResource(), and PciDebugPrintPartialResource().

◆ PciDebugDumpCommonConfig()

VOID NTAPI PciDebugDumpCommonConfig ( IN PPCI_COMMON_HEADER  PciData)

Definition at line 207 of file debug.c.

208{
209 USHORT i;
210
211 /* Loop the PCI header */
212 for (i = 0; i < PCI_COMMON_HDR_LENGTH; i += 4)
213 {
214 /* Dump each DWORD and its offset */
215 DPRINT1(" %02x - %08x\n", i, *(PULONG)((ULONG_PTR)PciData + i));
216 }
217}
#define DPRINT1
Definition: precomp.h:8
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
unsigned short USHORT
Definition: pedump.c:61
uint32_t * PULONG
Definition: typedefs.h:59
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define PCI_COMMON_HDR_LENGTH
Definition: iotypes.h:3596

Referenced by PcipGetFunctionLimits(), and PciScanBus().

◆ PciDebugDumpQueryCapabilities()

VOID NTAPI PciDebugDumpQueryCapabilities ( IN PDEVICE_CAPABILITIES  DeviceCaps)

Definition at line 221 of file debug.c.

222{
223 ULONG i;
224
225 /* Dump the capabilities */
226 DPRINT1("Capabilities\n Lock:%u, Eject:%u, Remove:%u, Dock:%u, UniqueId:%u\n",
227 DeviceCaps->LockSupported,
228 DeviceCaps->EjectSupported,
229 DeviceCaps->Removable,
230 DeviceCaps->DockDevice,
231 DeviceCaps->UniqueID);
232 DbgPrint(" SilentInstall:%u, RawOk:%u, SurpriseOk:%u\n",
233 DeviceCaps->SilentInstall,
234 DeviceCaps->RawDeviceOK,
235 DeviceCaps->SurpriseRemovalOK);
236 DbgPrint(" Address %08x, UINumber %08x, Latencies D1 %u, D2 %u, D3 %u\n",
237 DeviceCaps->Address,
238 DeviceCaps->UINumber,
239 DeviceCaps->D1Latency,
240 DeviceCaps->D2Latency,
241 DeviceCaps->D3Latency);
242
243 /* Dump and convert the wake levels */
244 DbgPrint(" System Wake: %s, Device Wake: %s\n DeviceState[PowerState] [",
245 SystemPowerStates[min(DeviceCaps->SystemWake, PowerSystemMaximum)],
246 DevicePowerStates[min(DeviceCaps->DeviceWake, PowerDeviceMaximum)]);
247
248 /* Dump and convert the power state mappings */
250 DbgPrint(" %s", DevicePowerStates[DeviceCaps->DeviceState[i]]);
251
252 /* Finish the dump */
253 DbgPrint(" ]\n");
254}
PCHAR SystemPowerStates[]
Definition: debug.c:53
PCHAR DevicePowerStates[]
Definition: debug.c:64
#define DbgPrint
Definition: hal.h:12
#define min(a, b)
Definition: monoChain.cc:55
@ PowerSystemMaximum
Definition: ntpoapi.h:42
@ PowerSystemWorking
Definition: ntpoapi.h:36
@ PowerDeviceMaximum
Definition: ntpoapi.h:53
uint32_t ULONG
Definition: typedefs.h:59

Referenced by PciFdoIrpQueryCapabilities(), and PciQueryCapabilities().

◆ PciDebugIrpDispatchDisplay()

BOOLEAN NTAPI PciDebugIrpDispatchDisplay ( IN PIO_STACK_LOCATION  IoStackLocation,
IN PPCI_FDO_EXTENSION  DeviceExtension,
IN USHORT  MaxMinor 
)

Definition at line 124 of file debug.c.

127{
128 PPCI_PDO_EXTENSION PdoDeviceExtension;
129 ULONG BreakMask;
130 //ULONG DebugLevel = 0;
131 PCHAR IrpString;
132
133 /* Only two functions are recognized */
135 {
136 case IRP_MJ_POWER:
137
138 /* Get the string and the correct break mask for the extension */
139 BreakMask = (DeviceExtension->ExtensionType == PciPdoExtensionType) ?
142 break;
143
144 case IRP_MJ_PNP:
145
146 /* Get the string and the correct break mask for the extension */
147 BreakMask = (DeviceExtension->ExtensionType == PciFdoExtensionType) ?
150 break;
151
152 default:
153
154 /* Other functions are not decoded */
155 BreakMask = FALSE;
156 IrpString = "";
157 break;
158 }
159
160 /* Check if this is a PDO */
161 if (DeviceExtension->ExtensionType == PciPdoExtensionType)
162 {
163 /* Choose the correct debug level based on which function this is */
165 {
166 //DebugLevel = 0x500;
167 }
169 {
170 //DebugLevel = 0x200;
171 }
172
173 /* For a PDO, print out the bus, device, and function number */
174 PdoDeviceExtension = (PVOID)DeviceExtension;
175 DPRINT1("PDO(b=0x%x, d=0x%x, f=0x%x)<-%s\n",
176 PdoDeviceExtension->ParentFdoExtension->BaseBus,
177 PdoDeviceExtension->Slot.u.bits.DeviceNumber,
178 PdoDeviceExtension->Slot.u.bits.FunctionNumber,
179 IrpString);
180 }
181 else if (DeviceExtension->ExtensionType == PciFdoExtensionType)
182 {
183 /* Choose the correct debug level based on which function this is */
185 {
186 //DebugLevel = 0x400;
187 }
189 {
190 //DebugLevel = 0x100;
191 }
192
193 /* For an FDO, just dump the extension pointer and IRP string */
194 DPRINT1("FDO(%p)<-%s\n", DeviceExtension, IrpString);
195 }
196
197 /* If the function is illegal for this extension, complain */
198 if (IoStackLocation->MinorFunction > MaxMinor)
199 DPRINT1("Unknown IRP, minor = 0x%x\n", IoStackLocation->MinorFunction);
200
201 /* Return whether or not the debugger should be broken into for this IRP */
202 return ((1 << IoStackLocation->MinorFunction) & BreakMask);
203}
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
#define FALSE
Definition: types.h:117
ULONG PciBreakOnFdoPnpIrp
Definition: debug.c:74
ULONG PciBreakOnPdoPowerIrp
Definition: debug.c:73
PCHAR NTAPI PciDebugPnpIrpTypeToText(IN USHORT MinorFunction)
Definition: debug.c:80
ULONG PciBreakOnPdoPnpIrp
Definition: debug.c:74
PCHAR NTAPI PciDebugPoIrpTypeToText(IN USHORT MinorFunction)
Definition: debug.c:102
ULONG PciBreakOnFdoPowerIrp
Definition: debug.c:73
@ PciFdoExtensionType
Definition: pci.h:105
@ PciPdoExtensionType
Definition: pci.h:104
BOOLEAN BaseBus
Definition: pci.h:221
PCI_SLOT_NUMBER Slot
Definition: pci.h:283
PPCI_FDO_EXTENSION ParentFdoExtension
Definition: pci.h:285
union _PCI_SLOT_NUMBER::@4969 u
struct _PCI_SLOT_NUMBER::@4969::@4970 bits
void * PVOID
Definition: typedefs.h:50
char * PCHAR
Definition: typedefs.h:51
_In_ PIO_STACK_LOCATION IoStackLocation
Definition: usbdlib.h:265
#define IRP_MJ_POWER

Referenced by PciDispatchIrp().

◆ PciDebugPnpIrpTypeToText()

PCHAR NTAPI PciDebugPnpIrpTypeToText ( IN USHORT  MinorFunction)

Definition at line 80 of file debug.c.

81{
82 PCHAR Text;
83
84 /* Catch invalid code */
86 {
87 /* New version of Windows? Or driver bug */
88 Text = "** UNKNOWN PNP IRP Minor Code **";
89 }
90 else
91 {
92 /* Get the right text for it */
94 }
95
96 /* Return the symbolic name for the IRP */
97 return Text;
98}
char * Text
Definition: combotst.c:136
PCHAR PnpCodes[]
Definition: debug.c:18
#define IRP_MN_SURPRISE_REMOVAL
Definition: ntifs_ex.h:408
_In_ UCHAR _In_ UCHAR MinorFunction
Definition: wdfdevice.h:1705

Referenced by PciDebugIrpDispatchDisplay().

◆ PciDebugPoIrpTypeToText()

PCHAR NTAPI PciDebugPoIrpTypeToText ( IN USHORT  MinorFunction)

Definition at line 102 of file debug.c.

103{
104 PCHAR Text;
105
106 /* Catch invalid code */
108 {
109 /* New version of Windows? Or driver bug */
110 Text = "** UNKNOWN PO IRP Minor Code **";
111 }
112 else
113 {
114 /* Get the right text for it */
116 }
117
118 /* Return the symbolic name for the IRP */
119 return Text;
120}
PCHAR PoCodes[]
Definition: debug.c:45
#define IRP_MN_QUERY_POWER

Referenced by PciDebugIrpDispatchDisplay().

◆ PciDebugPrintCmResList()

VOID NTAPI PciDebugPrintCmResList ( IN PCM_RESOURCE_LIST  PartialList)

Definition at line 365 of file debug.c.

366{
367 PCM_FULL_RESOURCE_DESCRIPTOR FullDescriptor;
368 PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptor;
369 ULONG Count, i, ListCount;
370
371 /* Make sure there's something to dump */
372 if (!PartialList) return;
373
374 /* Get the full list count */
375 ListCount = PartialList->Count;
376 FullDescriptor = PartialList->List;
377 DPRINT1(" CM_RESOURCE_LIST (PCI Bus Driver) (List Count = %u)\n", PartialList->Count);
378
379 /* Loop full list */
380 for (i = 0; i < ListCount; i++)
381 {
382 /* Loop full descriptor */
383 DPRINT1(" InterfaceType %d\n", FullDescriptor->InterfaceType);
384 DPRINT1(" BusNumber 0x%x\n", FullDescriptor->BusNumber);
385
386 /* Get partial count and loop partials */
387 Count = FullDescriptor->PartialResourceList.Count;
388 for (PartialDescriptor = FullDescriptor->PartialResourceList.PartialDescriptors;
389 Count;
390 PartialDescriptor = CmiGetNextPartialDescriptor(PartialDescriptor))
391 {
392 /* Print each partial */
393 PciDebugPrintPartialResource(PartialDescriptor);
394 Count--;
395 }
396
397 /* Go to the next full descriptor */
398 FullDescriptor = (PCM_FULL_RESOURCE_DESCRIPTOR)PartialDescriptor;
399 }
400
401 /* Done printing data */
402 DPRINT1("\n");
403}
FORCEINLINE PCM_PARTIAL_RESOURCE_DESCRIPTOR CmiGetNextPartialDescriptor(_In_ const CM_PARTIAL_RESOURCE_DESCRIPTOR *PartialDescriptor)
Definition: cmreslist.h:31
VOID NTAPI PciDebugPrintPartialResource(IN PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialResource)
Definition: debug.c:349
int Count
Definition: noreturn.cpp:7
struct _CM_FULL_RESOURCE_DESCRIPTOR * PCM_FULL_RESOURCE_DESCRIPTOR
CM_PARTIAL_RESOURCE_LIST PartialResourceList
Definition: restypes.h:145
INTERFACE_TYPE InterfaceType
Definition: restypes.h:143
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
Definition: restypes.h:100

Referenced by PciComputeNewCurrentSettings().

◆ PciDebugPrintIoResource()

VOID NTAPI PciDebugPrintIoResource ( IN PIO_RESOURCE_DESCRIPTOR  Descriptor)

Definition at line 280 of file debug.c.

281{
282 ULONG i;
283 PULONG Data;
284
285 /* Print out the header */
286 DPRINT1(" IoResource Descriptor dump: Descriptor @0x%p\n", Descriptor);
287 DPRINT1(" Option = 0x%x\n", Descriptor->Option);
288 DPRINT1(" Type = %u (%s)\n", Descriptor->Type, PciDebugCmResourceTypeToText(Descriptor->Type));
289 DPRINT1(" ShareDisposition = %u\n", Descriptor->ShareDisposition);
290 DPRINT1(" Flags = 0x%04X\n", Descriptor->Flags);
291
292 /* Loop private data */
293 Data = (PULONG)&Descriptor->u.DevicePrivate;
294 for (i = 0; i < 6; i += 3)
295 {
296 /* Dump it in 32-bit triplets */
297 DPRINT1(" Data[%u] = %08x %08x %08x\n", i, Data[0], Data[1], Data[2]);
298 }
299}
PCHAR NTAPI PciDebugCmResourceTypeToText(IN UCHAR Type)
Definition: debug.c:258
for(i=0;i< sizeof(testsuite)/sizeof(testsuite[0]);++i) ok(call_test(testsuite[i].func)
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
Definition: wdfresource.h:342

Referenced by PciDebugPrintIoResReqList().

◆ PciDebugPrintIoResReqList()

VOID NTAPI PciDebugPrintIoResReqList ( IN PIO_RESOURCE_REQUIREMENTS_LIST  Requirements)

Definition at line 303 of file debug.c.

304{
305 ULONG AlternativeLists;
307 ULONG Count;
309
310 /* Make sure there's a list */
311 if (!Requirements) return;
312
313 /* Grab the main list and the alternates as well */
314 AlternativeLists = Requirements->AlternativeLists;
315 List = Requirements->List;
316
317 /* Print out the initial header*/
318 DPRINT1(" IO_RESOURCE_REQUIREMENTS_LIST (PCI Bus Driver)\n");
319 DPRINT1(" InterfaceType %d\n", Requirements->InterfaceType);
320 DPRINT1(" BusNumber 0x%x\n", Requirements->BusNumber);
321 DPRINT1(" SlotNumber %d (0x%x), (d/f = 0x%x/0x%x)\n",
322 Requirements->SlotNumber,
323 Requirements->SlotNumber,
324 ((PCI_SLOT_NUMBER*)&Requirements->SlotNumber)->u.bits.DeviceNumber,
325 ((PCI_SLOT_NUMBER*)&Requirements->SlotNumber)->u.bits.FunctionNumber);
326 DPRINT1(" AlternativeLists %u\n", AlternativeLists);
327
328 /* Scan alternative lists */
329 while (AlternativeLists--)
330 {
331 /* Get the descriptor array, and the count of descriptors */
332 Descriptor = List->Descriptors;
333 Count = List->Count;
334
335 /* Print out each descriptor */
336 DPRINT1("\n List[%u].Count = %u\n", AlternativeLists, Count);
338
339 /* Should've reached a new list now */
341 }
342
343 /* Terminate the dump */
344 DPRINT1("\n");
345}
VOID NTAPI PciDebugPrintIoResource(IN PIO_RESOURCE_DESCRIPTOR Descriptor)
Definition: debug.c:280
_Must_inspect_result_ _In_ WDFCMRESLIST List
Definition: wdfresource.h:550
struct _IO_RESOURCE_LIST * PIO_RESOURCE_LIST

Referenced by PciQueryRequirements().

◆ PciDebugPrintPartialResource()

VOID NTAPI PciDebugPrintPartialResource ( IN PCM_PARTIAL_RESOURCE_DESCRIPTOR  PartialResource)

Definition at line 349 of file debug.c.

350{
351 /* Dump all the data in the partial */
352 DPRINT1(" Partial Resource Descriptor @0x%p\n", PartialResource);
353 DPRINT1(" Type = %u (%s)\n", PartialResource->Type, PciDebugCmResourceTypeToText(PartialResource->Type));
354 DPRINT1(" ShareDisposition = %u\n", PartialResource->ShareDisposition);
355 DPRINT1(" Flags = 0x%04X\n", PartialResource->Flags);
356 DPRINT1(" Data[%d] = %08x %08x %08x\n",
357 0,
358 PartialResource->u.Generic.Start.LowPart,
359 PartialResource->u.Generic.Start.HighPart,
360 PartialResource->u.Generic.Length);
361}

Referenced by PciComputeNewCurrentSettings(), and PciDebugPrintCmResList().

Variable Documentation

◆ DevicePowerStates

PCHAR DevicePowerStates[]
Initial value:
=
{
"Unspecified",
"D0",
"D1",
"D2",
"D3"
}

Definition at line 64 of file debug.c.

Referenced by PciDebugDumpQueryCapabilities().

◆ PciBreakOnFdoPnpIrp

ULONG PciBreakOnFdoPnpIrp

Definition at line 74 of file debug.c.

Referenced by PciDebugIrpDispatchDisplay().

◆ PciBreakOnFdoPowerIrp

ULONG PciBreakOnFdoPowerIrp

Definition at line 73 of file debug.c.

Referenced by PciDebugIrpDispatchDisplay().

◆ PciBreakOnPdoPnpIrp

ULONG PciBreakOnPdoPnpIrp

Definition at line 74 of file debug.c.

Referenced by PciDebugIrpDispatchDisplay().

◆ PciBreakOnPdoPowerIrp

ULONG PciBreakOnPdoPowerIrp

Definition at line 73 of file debug.c.

Referenced by PciDebugIrpDispatchDisplay().

◆ PnpCodes

PCHAR PnpCodes[]
Initial value:
=
{
"START_DEVICE",
"QUERY_REMOVE_DEVICE",
"REMOVE_DEVICE",
"CANCEL_REMOVE_DEVICE",
"STOP_DEVICE",
"QUERY_STOP_DEVICE",
"CANCEL_STOP_DEVICE",
"QUERY_DEVICE_RELATIONS",
"QUERY_INTERFACE",
"QUERY_CAPABILITIES",
"QUERY_RESOURCES",
"QUERY_RESOURCE_REQUIREMENTS",
"QUERY_DEVICE_TEXT",
"FILTER_RESOURCE_REQUIREMENTS",
"** UNKNOWN PNP IRP Minor Code **",
"READ_CONFIG",
"WRITE_CONFIG",
"EJECT",
"SET_LOCK",
"QUERY_ID",
"QUERY_PNP_DEVICE_STATE",
"QUERY_BUS_INFORMATION",
"DEVICE_USAGE_NOTIFICATION"
}

Definition at line 18 of file debug.c.

Referenced by PciDebugPnpIrpTypeToText().

◆ PoCodes

PCHAR PoCodes[]
Initial value:
=
{
"WAIT_WAKE",
"POWER_SEQUENCE",
"SET_POWER",
"QUERY_POWER",
}

Definition at line 45 of file debug.c.

Referenced by PciDebugPoIrpTypeToText().

◆ SystemPowerStates

PCHAR SystemPowerStates[]
Initial value:
=
{
"Unspecified",
"Working",
"Sleeping1",
"Sleeping2",
"Sleeping3",
"Hibernate",
"Shutdown"
}

Definition at line 53 of file debug.c.

Referenced by PciDebugDumpQueryCapabilities().