ReactOS 0.4.15-dev-7968-g24a56f8
pci.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS PCI Bus Driver
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: drivers/bus/pci/pci.h
5 * PURPOSE: Main Header File
6 * PROGRAMMERS: ReactOS Portable Systems Group
7 */
8
9#ifndef _PCIX_PCH_
10#define _PCIX_PCH_
11
12#include <ntifs.h>
13#include <wdmguid.h>
14#include <wchar.h>
15#include <acpiioct.h>
16#include <drivers/pci/pci.h>
17#include <drivers/acpi/acpi.h>
18#include <ndk/halfuncs.h>
19#include <ndk/rtlfuncs.h>
20#include <ndk/vffuncs.h>
21#include <arbiter.h>
22#include <cmreslist.h>
23
24//
25// Tag used in all pool allocations (Pci Bus)
26//
27#define PCI_POOL_TAG 'BicP'
28
29//
30// Checks if the specified FDO is the FDO for the Root PCI Bus
31//
32#define PCI_IS_ROOT_FDO(x) ((x)->BusRootFdoExtension == x)
33
34//
35// Assertions to make sure we are dealing with the right kind of extension
36//
37#define ASSERT_FDO(x) ASSERT((x)->ExtensionType == PciFdoExtensionType);
38#define ASSERT_PDO(x) ASSERT((x)->ExtensionType == PciPdoExtensionType);
39
40//
41// PCI Hack Entry Name Lengths
42//
43#define PCI_HACK_ENTRY_SIZE sizeof(L"VVVVdddd") - sizeof(UNICODE_NULL)
44#define PCI_HACK_ENTRY_REV_SIZE sizeof(L"VVVVddddRR") - sizeof(UNICODE_NULL)
45#define PCI_HACK_ENTRY_SUBSYS_SIZE sizeof(L"VVVVddddssssIIII") - sizeof(UNICODE_NULL)
46#define PCI_HACK_ENTRY_FULL_SIZE sizeof(L"VVVVddddssssIIIIRR") - sizeof(UNICODE_NULL)
47
48//
49// PCI Hack Entry Flags
50//
51#define PCI_HACK_HAS_REVISION_INFO 0x01
52#define PCI_HACK_HAS_SUBSYSTEM_INFO 0x02
53
54//
55// PCI Interface Flags
56//
57#define PCI_INTERFACE_PDO 0x01
58#define PCI_INTERFACE_FDO 0x02
59#define PCI_INTERFACE_ROOT 0x04
60
61//
62// PCI Skip Function Flags
63//
64#define PCI_SKIP_DEVICE_ENUMERATION 0x01
65#define PCI_SKIP_RESOURCE_ENUMERATION 0x02
66
67//
68// PCI Apply Hack Flags
69//
70#define PCI_HACK_FIXUP_BEFORE_CONFIGURATION 0x00
71#define PCI_HACK_FIXUP_AFTER_CONFIGURATION 0x01
72#define PCI_HACK_FIXUP_BEFORE_UPDATE 0x03
73
74//
75// PCI Debugging Device Support
76//
77#define MAX_DEBUGGING_DEVICES_SUPPORTED 0x04
78
79//
80// PCI Driver Verifier Failures
81//
82#define PCI_VERIFIER_CODES 0x04
83
84//
85// PCI ID Buffer ANSI Strings
86//
87#define MAX_ANSI_STRINGS 0x08
88
89//
90// Device Extension, Interface, Translator and Arbiter Signatures
91//
92typedef enum _PCI_SIGNATURE
93{
96 PciArb_Io = 'icP2',
97 PciArb_Memory = 'icP3',
109 PciInterface_Location = 'icP?'
111
112//
113// Driver-handled PCI Device Types
114//
116{
123
124//
125// Device Extension Logic States
126//
127typedef enum _PCI_STATE
128{
137
138//
139// IRP Dispatch Logic Style
140//
142{
148
149//
150// PCI Hack Entry Information
151//
152typedef struct _PCI_HACK_ENTRY
153{
162
163//
164// Power State Information for Device Extension
165//
166typedef struct _PCI_POWER_STATE
167{
179
180//
181// Internal PCI Lock Structure
182//
183typedef struct _PCI_LOCK
184{
188
189//
190// Device Extension for a Bus FDO
191//
192typedef struct _PCI_FDO_EXTENSION
193{
223 struct
224 {
233
235{
239
241{
242 struct
243 {
246 struct
247 {
257 struct
258 {
259 UCHAR Spare[4];
262
263typedef struct _PCI_PDO_EXTENSION
264{
270
321
322//
323// IRP Dispatch Function Type
324//
326 IN PIRP Irp,
327 IN PIO_STACK_LOCATION IoStackLocation,
328 IN PVOID DeviceExtension
329);
330
331//
332// IRP Dispatch Minor Table
333//
335{
339
340//
341// IRP Dispatch Major Table
342//
344{
354
355//
356// Generic PCI Interface Constructor and Initializer
357//
358struct _PCI_INTERFACE;
360 IN PVOID DeviceExtension,
362 IN PVOID InterfaceData,
364 IN USHORT Size,
366);
367
370);
371
372//
373// Generic PCI Interface (Interface, Translator, Arbiter)
374//
375typedef struct _PCI_INTERFACE
376{
387
388//
389// Generic Secondary Extension Instance Header (Interface, Translator, Arbiter)
390//
392{
397
398//
399// PCI Arbiter Instance
400//
402{
409
410//
411// PCI Verifier Data
412//
413typedef struct _PCI_VERIFIER_DATA
414{
420
421//
422// PCI ID Buffer Descriptor
423//
424typedef struct _PCI_ID_BUFFER
425{
433
434//
435// PCI Configuration Callbacks
436//
438
441);
442
445);
446
449);
450
453);
454
458);
459
463 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
464);
465
469);
470
471//
472// PCI Configurator
473//
474typedef struct _PCI_CONFIGURATOR
475{
484
485//
486// PCI Configurator Context
487//
489{
498
499//
500// PCI IPI Function
501//
505);
506
507//
508// PCI IPI Context
509//
510typedef struct _PCI_IPI_CONTEXT
511{
518
519//
520// PCI Legacy Device Location Cache
521//
522typedef struct _PCI_LEGACY_DEVICE
523{
536
537//
538// IRP Dispatch Routines
539//
540
542
544NTAPI
547 IN PIRP Irp
548);
549
551NTAPI
553 IN PIRP Irp,
554 IN PIO_STACK_LOCATION IoStackLocation,
555 IN PPCI_FDO_EXTENSION DeviceExtension
556);
557
559NTAPI
561 IN PPCI_FDO_EXTENSION DeviceExtension,
562 IN PIRP Irp
563);
564
566NTAPI
568 IN PPCI_FDO_EXTENSION DeviceExtension,
569 IN PIRP Irp
570);
571
573NTAPI
575 IN PIRP Irp,
576 IN PIO_STACK_LOCATION IoStackLocation,
577 IN PPCI_FDO_EXTENSION DeviceExtension
578);
579
580//
581// Power Routines
582//
584NTAPI
586 IN PIRP Irp,
587 IN PIO_STACK_LOCATION IoStackLocation,
588 IN PPCI_FDO_EXTENSION DeviceExtension
589);
590
592NTAPI
594 IN PIRP Irp,
595 IN PIO_STACK_LOCATION IoStackLocation,
596 IN PPCI_FDO_EXTENSION DeviceExtension
597);
598
600NTAPI
602 IN PIRP Irp,
603 IN PIO_STACK_LOCATION IoStackLocation,
604 IN PPCI_FDO_EXTENSION DeviceExtension
605);
606
608NTAPI
610 IN PPCI_PDO_EXTENSION DeviceExtension,
612 IN BOOLEAN IrpSet
613);
614
615//
616// Bus FDO Routines
617//
618
619DRIVER_ADD_DEVICE PciAddDevice;
620
622NTAPI
626);
627
629NTAPI
631 IN PIRP Irp,
632 IN PIO_STACK_LOCATION IoStackLocation,
633 IN PPCI_FDO_EXTENSION DeviceExtension
634);
635
637NTAPI
639 IN PIRP Irp,
640 IN PIO_STACK_LOCATION IoStackLocation,
641 IN PPCI_FDO_EXTENSION DeviceExtension
642);
643
645NTAPI
647 IN PIRP Irp,
648 IN PIO_STACK_LOCATION IoStackLocation,
649 IN PPCI_FDO_EXTENSION DeviceExtension
650);
651
653NTAPI
655 IN PIRP Irp,
656 IN PIO_STACK_LOCATION IoStackLocation,
657 IN PPCI_FDO_EXTENSION DeviceExtension
658);
659
661NTAPI
663 IN PIRP Irp,
664 IN PIO_STACK_LOCATION IoStackLocation,
665 IN PPCI_FDO_EXTENSION DeviceExtension
666);
667
669NTAPI
671 IN PIRP Irp,
672 IN PIO_STACK_LOCATION IoStackLocation,
673 IN PPCI_FDO_EXTENSION DeviceExtension
674);
675
677NTAPI
679 IN PIRP Irp,
680 IN PIO_STACK_LOCATION IoStackLocation,
681 IN PPCI_FDO_EXTENSION DeviceExtension
682);
683
685NTAPI
687 IN PIRP Irp,
688 IN PIO_STACK_LOCATION IoStackLocation,
689 IN PPCI_FDO_EXTENSION DeviceExtension
690);
691
693NTAPI
695 IN PIRP Irp,
696 IN PIO_STACK_LOCATION IoStackLocation,
697 IN PPCI_FDO_EXTENSION DeviceExtension
698);
699
701NTAPI
703 IN PIRP Irp,
704 IN PIO_STACK_LOCATION IoStackLocation,
705 IN PPCI_FDO_EXTENSION DeviceExtension
706);
707
709NTAPI
711 IN PIRP Irp,
712 IN PIO_STACK_LOCATION IoStackLocation,
713 IN PPCI_FDO_EXTENSION DeviceExtension
714);
715
717NTAPI
719 IN PIRP Irp,
720 IN PIO_STACK_LOCATION IoStackLocation,
721 IN PPCI_FDO_EXTENSION DeviceExtension
722);
723
725NTAPI
727 IN PIRP Irp,
728 IN PIO_STACK_LOCATION IoStackLocation,
729 IN PPCI_FDO_EXTENSION DeviceExtension
730);
731
732//
733// Device PDO Routines
734//
736NTAPI
738 IN PPCI_FDO_EXTENSION DeviceExtension,
739 IN PCI_SLOT_NUMBER Slot,
741);
742
744NTAPI
746 IN PIRP Irp,
747 IN PIO_STACK_LOCATION IoStackLocation,
748 IN PPCI_PDO_EXTENSION DeviceExtension
749);
750
752NTAPI
754 IN PIRP Irp,
755 IN PIO_STACK_LOCATION IoStackLocation,
756 IN PPCI_PDO_EXTENSION DeviceExtension
757);
758
760NTAPI
762 IN PIRP Irp,
763 IN PIO_STACK_LOCATION IoStackLocation,
764 IN PPCI_PDO_EXTENSION DeviceExtension
765);
766
768NTAPI
770 IN PIRP Irp,
771 IN PIO_STACK_LOCATION IoStackLocation,
772 IN PPCI_PDO_EXTENSION DeviceExtension
773);
774
776NTAPI
778 IN PIRP Irp,
779 IN PIO_STACK_LOCATION IoStackLocation,
780 IN PPCI_PDO_EXTENSION DeviceExtension
781);
782
784NTAPI
786 IN PIRP Irp,
787 IN PIO_STACK_LOCATION IoStackLocation,
788 IN PPCI_PDO_EXTENSION DeviceExtension
789);
790
792NTAPI
794 IN PIRP Irp,
795 IN PIO_STACK_LOCATION IoStackLocation,
796 IN PPCI_PDO_EXTENSION DeviceExtension
797);
798
800NTAPI
802 IN PIRP Irp,
803 IN PIO_STACK_LOCATION IoStackLocation,
804 IN PPCI_PDO_EXTENSION DeviceExtension
805);
806
808NTAPI
810 IN PIRP Irp,
811 IN PIO_STACK_LOCATION IoStackLocation,
812 IN PPCI_PDO_EXTENSION DeviceExtension
813);
814
816NTAPI
818 IN PIRP Irp,
819 IN PIO_STACK_LOCATION IoStackLocation,
820 IN PPCI_PDO_EXTENSION DeviceExtension
821);
822
824NTAPI
826 IN PIRP Irp,
827 IN PIO_STACK_LOCATION IoStackLocation,
828 IN PPCI_PDO_EXTENSION DeviceExtension
829);
830
832NTAPI
834 IN PIRP Irp,
835 IN PIO_STACK_LOCATION IoStackLocation,
836 IN PPCI_PDO_EXTENSION DeviceExtension
837);
838
840NTAPI
842 IN PIRP Irp,
843 IN PIO_STACK_LOCATION IoStackLocation,
844 IN PPCI_PDO_EXTENSION DeviceExtension
845);
846
848NTAPI
850 IN PIRP Irp,
851 IN PIO_STACK_LOCATION IoStackLocation,
852 IN PPCI_PDO_EXTENSION DeviceExtension
853);
854
856NTAPI
858 IN PIRP Irp,
859 IN PIO_STACK_LOCATION IoStackLocation,
860 IN PPCI_PDO_EXTENSION DeviceExtension
861);
862
864NTAPI
866 IN PIRP Irp,
867 IN PIO_STACK_LOCATION IoStackLocation,
868 IN PPCI_PDO_EXTENSION DeviceExtension
869);
870
872NTAPI
874 IN PIRP Irp,
875 IN PIO_STACK_LOCATION IoStackLocation,
876 IN PPCI_PDO_EXTENSION DeviceExtension
877);
878
880NTAPI
882 IN PIRP Irp,
883 IN PIO_STACK_LOCATION IoStackLocation,
884 IN PPCI_PDO_EXTENSION DeviceExtension
885);
886
888NTAPI
890 IN PIRP Irp,
891 IN PIO_STACK_LOCATION IoStackLocation,
892 IN PPCI_PDO_EXTENSION DeviceExtension
893);
894
896NTAPI
898 IN PIRP Irp,
899 IN PIO_STACK_LOCATION IoStackLocation,
900 IN PPCI_PDO_EXTENSION DeviceExtension
901);
902
904NTAPI
906 IN PIRP Irp,
907 IN PIO_STACK_LOCATION IoStackLocation,
908 IN PPCI_PDO_EXTENSION DeviceExtension
909);
910
912NTAPI
914 IN PIRP Irp,
915 IN PIO_STACK_LOCATION IoStackLocation,
916 IN PPCI_PDO_EXTENSION DeviceExtension
917);
918
920NTAPI
922 IN PIRP Irp,
923 IN PIO_STACK_LOCATION IoStackLocation,
924 IN PPCI_PDO_EXTENSION DeviceExtension
925);
926
928NTAPI
930 IN PIRP Irp,
931 IN PIO_STACK_LOCATION IoStackLocation,
932 IN PPCI_PDO_EXTENSION DeviceExtension
933);
934
935
936//
937// HAL Callback/Hook Routines
938//
939VOID
940NTAPI
942 VOID
943);
944
945//
946// PCI Verifier Routines
947//
948VOID
949NTAPI
952);
953
955NTAPI
957 IN ULONG FailureCode
958);
959
960//
961// Utility Routines
962//
964NTAPI
968);
969
971NTAPI
973 VOID
974);
975
977NTAPI
979 VOID
980);
981
983NTAPI
985 IN PUNICODE_STRING InputString,
986 IN PCUNICODE_STRING EqualString,
988);
989
991NTAPI
997 OUT PNTSTATUS KeyStatus
998);
999
1001NTAPI
1005 IN HANDLE RootHandle,
1006 IN ULONG Type,
1008 OUT PULONG OutputLength
1009);
1010
1012NTAPI
1016);
1017
1018VOID
1019NTAPI
1021 IN PSINGLE_LIST_ENTRY ListHead,
1022 IN PPCI_FDO_EXTENSION DeviceExtension,
1024);
1025
1027NTAPI
1032);
1033
1035NTAPI
1043);
1044
1045VOID
1046NTAPI
1049 IN PVOID Lock,
1050 IN PPCI_SECONDARY_EXTENSION SecondaryExtension,
1051 IN PCI_SIGNATURE ExtensionType,
1052 IN PVOID Destructor
1053);
1054
1056NTAPI
1058 IN PSINGLE_LIST_ENTRY ListHead,
1059 IN PCI_SIGNATURE ExtensionType
1060);
1061
1063NTAPI
1065 IN USHORT VendorId,
1066 IN USHORT DeviceId,
1067 IN USHORT SubVendorId,
1068 IN USHORT SubSystemId,
1069 IN UCHAR RevisionId
1070);
1071
1073NTAPI
1075 IN PPCI_FDO_EXTENSION DeviceExtension,
1076 IN ULONG FunctionNumber,
1077 IN PPCI_COMMON_HEADER PciData
1078);
1079
1080BOOLEAN
1081NTAPI
1085);
1086
1087BOOLEAN
1088NTAPI
1090 IN PPCI_PDO_EXTENSION DeviceExtension
1091);
1092
1094NTAPI
1096 IN PPCI_PDO_EXTENSION DeviceExtension,
1097 OUT PPCI_COMMON_HEADER PciData
1098);
1099
1101NTAPI
1103 IN PPCI_PDO_EXTENSION DeviceExtension,
1104 OUT PPCI_COMMON_HEADER PciData
1105);
1106
1107UCHAR
1108NTAPI
1110 IN PPCI_PDO_EXTENSION DeviceExtension,
1111 IN UCHAR Offset,
1112 IN ULONG CapabilityId,
1115);
1116
1117BOOLEAN
1118NTAPI
1120 IN PPCI_PDO_EXTENSION DeviceExtension,
1123 IN BOOLEAN ForPowerDown
1124);
1125
1127NTAPI
1130);
1131
1133
1135NTAPI
1137 IN ULONG_PTR IpiContext
1138);
1139
1140BOOLEAN
1141NTAPI
1143 PIO_RESOURCE_DESCRIPTOR ResourceDescriptor,
1144 IN PULONG BarArray,
1145 IN BOOLEAN Rom
1146);
1147
1148BOOLEAN
1149NTAPI
1152 IN ULONG Method
1153);
1154
1155VOID
1156NTAPI
1161);
1162
1164NTAPI
1168);
1169
1171NTAPI
1174 IN OUT PDEVICE_CAPABILITIES DeviceCapability
1175);
1176
1177//
1178// Configuration Routines
1179//
1181NTAPI
1184);
1185
1186VOID
1187NTAPI
1189 IN PPCI_FDO_EXTENSION DeviceExtension,
1190 IN PCI_SLOT_NUMBER Slot,
1191 IN PVOID Buffer,
1192 IN ULONG Offset,
1194);
1195
1196VOID
1197NTAPI
1199 IN PPCI_PDO_EXTENSION DeviceExtension,
1200 IN PVOID Buffer,
1201 IN ULONG Offset,
1203);
1204
1205VOID
1206NTAPI
1208 IN PPCI_PDO_EXTENSION DeviceExtension,
1209 IN PVOID Buffer,
1210 IN ULONG Offset,
1212);
1213
1214UCHAR
1215NTAPI
1218);
1219
1220//
1221// State Machine Logic Transition Routines
1222//
1223VOID
1224NTAPI
1226 IN PPCI_FDO_EXTENSION DeviceExtension
1227);
1228
1230NTAPI
1232 IN PPCI_FDO_EXTENSION DeviceExtension,
1233 IN PCI_STATE NewState
1234);
1235
1237NTAPI
1239 IN PPCI_FDO_EXTENSION DeviceExtension,
1240 IN PCI_STATE NewState
1241);
1242
1243VOID
1244NTAPI
1246 IN PPCI_FDO_EXTENSION DeviceExtension,
1247 IN PCI_STATE NewState
1248);
1249
1250//
1251// Arbiter Support
1252//
1254NTAPI
1257);
1258
1260NTAPI
1262 IN PPCI_FDO_EXTENSION DeviceExtension,
1264);
1265
1266//
1267// Debug Helpers
1268//
1269BOOLEAN
1270NTAPI
1272 IN PIO_STACK_LOCATION IoStackLocation,
1273 IN PPCI_FDO_EXTENSION DeviceExtension,
1274 IN USHORT MaxMinor
1275);
1276
1277VOID
1278NTAPI
1280 IN PPCI_COMMON_HEADER PciData
1281);
1282
1283VOID
1284NTAPI
1286 IN PDEVICE_CAPABILITIES DeviceCaps
1287);
1288
1289VOID
1290NTAPI
1293);
1294
1295VOID
1296NTAPI
1299);
1300
1301VOID
1302NTAPI
1304 IN PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialResource
1305);
1306
1307//
1308// Interface Support
1309//
1311NTAPI
1313 IN PPCI_FDO_EXTENSION DeviceExtension,
1315 IN ULONG Size,
1317 IN PVOID InterfaceData,
1319 IN BOOLEAN LastChance
1320);
1321
1323NTAPI
1326);
1327
1329NTAPI
1332);
1333
1335NTAPI
1338);
1339
1341NTAPI
1344);
1345
1347NTAPI
1350);
1351
1353NTAPI
1356);
1357
1359NTAPI
1362);
1363
1365NTAPI
1368);
1369
1371NTAPI
1374);
1375
1377NTAPI
1380);
1381
1383NTAPI
1386);
1387
1389NTAPI
1392);
1393
1395NTAPI
1397 IN PVOID DeviceExtension,
1399 IN PVOID InterfaceData,
1401 IN USHORT Size,
1403);
1404
1406NTAPI
1408 IN PVOID DeviceExtension,
1410 IN PVOID InterfaceData,
1412 IN USHORT Size,
1414);
1415
1417NTAPI
1419 IN PVOID DeviceExtension,
1421 IN PVOID InterfaceData,
1423 IN USHORT Size,
1425);
1426
1428NTAPI
1430 IN PVOID DeviceExtension,
1432 IN PVOID InterfaceData,
1434 IN USHORT Size,
1436);
1437
1439NTAPI
1441 IN PVOID DeviceExtension,
1443 IN PVOID InterfaceData,
1445 IN USHORT Size,
1447);
1448
1450NTAPI
1452 IN PVOID DeviceExtension,
1454 IN PVOID InterfaceData,
1456 IN USHORT Size,
1458);
1459
1460VOID
1461NTAPI
1464);
1465
1467NTAPI
1469 IN PVOID DeviceExtension,
1471 IN PVOID InterfaceData,
1473 IN USHORT Size,
1475);
1476
1478NTAPI
1480 IN PVOID DeviceExtension,
1482 IN PVOID InterfaceData,
1484 IN USHORT Size,
1486);
1487
1489NTAPI
1491 IN PVOID DeviceExtension,
1493 IN PVOID InterfaceData,
1495 IN USHORT Size,
1497);
1498
1500NTAPI
1502 IN PVOID DeviceExtension,
1504 IN PVOID InterfaceData,
1506 IN USHORT Size,
1508);
1509
1511NTAPI
1513 IN PVOID DeviceExtension,
1515 IN PVOID InterfaceData,
1517 IN USHORT Size,
1519);
1520
1522NTAPI
1524 IN PVOID DeviceExtension,
1526 IN PVOID InterfaceData,
1528 IN USHORT Size,
1530);
1531
1532//
1533// PCI Enumeration and Resources
1534//
1536NTAPI
1538 IN PPCI_FDO_EXTENSION DeviceExtension,
1539 IN OUT PDEVICE_RELATIONS *pDeviceRelations
1540);
1541
1543NTAPI
1547);
1548
1550NTAPI
1553 IN OUT PDEVICE_RELATIONS *pDeviceRelations
1554);
1555
1557NTAPI
1560 IN OUT PDEVICE_RELATIONS *pDeviceRelations
1561);
1562
1564NTAPI
1568);
1569
1570BOOLEAN
1571NTAPI
1575);
1576
1578NTAPI
1581 IN BOOLEAN DoReset,
1582 IN BOOLEAN SomethingSomethingDarkSide
1583);
1584
1586NTAPI
1589 IN PPCI_COMMON_HEADER PciData,
1591);
1592
1593//
1594// Identification Functions
1595//
1596PWCHAR
1597NTAPI
1601);
1602
1604NTAPI
1608 IN ULONG Locale,
1610);
1611
1613NTAPI
1615 IN PPCI_PDO_EXTENSION DeviceExtension,
1618);
1619
1620//
1621// CardBUS Support
1622//
1623VOID
1624NTAPI
1627);
1628
1629VOID
1630NTAPI
1633);
1634
1635VOID
1636NTAPI
1639);
1640
1641VOID
1642NTAPI
1645);
1646
1647VOID
1648NTAPI
1651 IN PPCI_COMMON_HEADER PciData,
1652 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
1653);
1654
1655VOID
1656NTAPI
1659 IN PPCI_COMMON_HEADER PciData
1660);
1661
1662VOID
1663NTAPI
1666 IN PPCI_COMMON_HEADER PciData
1667);
1668
1669//
1670// PCI Device Support
1671//
1672VOID
1673NTAPI
1676);
1677
1678VOID
1679NTAPI
1682);
1683
1684VOID
1685NTAPI
1688);
1689
1690VOID
1691NTAPI
1694);
1695
1696VOID
1697NTAPI
1700 IN PPCI_COMMON_HEADER PciData,
1701 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
1702);
1703
1704VOID
1705NTAPI
1708 IN PPCI_COMMON_HEADER PciData
1709);
1710
1711VOID
1712NTAPI
1715 IN PPCI_COMMON_HEADER PciData
1716);
1717
1718//
1719// PCI-to-PCI Bridge Device Support
1720//
1721VOID
1722NTAPI
1725);
1726
1727VOID
1728NTAPI
1731);
1732
1733VOID
1734NTAPI
1737);
1738
1739VOID
1740NTAPI
1743);
1744
1745VOID
1746NTAPI
1749 IN PPCI_COMMON_HEADER PciData,
1750 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
1751);
1752
1753VOID
1754NTAPI
1757 IN PPCI_COMMON_HEADER PciData
1758);
1759
1760VOID
1761NTAPI
1764 IN PPCI_COMMON_HEADER PciData
1765);
1766
1767//
1768// Bus Number Routines
1769//
1770BOOLEAN
1771NTAPI
1774);
1775
1776//
1777// Routine Interface
1778//
1780NTAPI
1791 OUT PDEVICE_OBJECT *pFoundDeviceObject
1792);
1793
1794//
1795// External Resources
1796//
1798extern KEVENT PciGlobalLock;
1809//extern PCI_INTERFACE PciNativeIdeInterface;
1820
1821/* Exported by NTOS, should this go in the NDK? */
1823
1824#endif /* _PCIX_PCH_ */
unsigned char BOOLEAN
Type
Definition: Type.h:7
#define VOID
Definition: acefi.h:82
LONG NTSTATUS
Definition: precomp.h:26
#define NTSYSAPI
Definition: ntoskrnl.h:12
PDEVICE_OBJECT PhysicalDeviceObject
Definition: btrfs_drv.h:1157
_In_ ULONG_PTR HackFlags
Definition: cdrom.h:983
Definition: bufpool.h:45
_In_ PIRP Irp
Definition: csq.h:116
#define NTSTATUS
Definition: precomp.h:21
NTSTATUS NTAPI PciInitializeArbiterRanges(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCM_RESOURCE_LIST Resources)
Definition: arb_comn.c:128
PCI_INTERFACE PciDevicePresentInterface
Definition: devhere.c:18
BOOLEAN PciEnableNativeModeATA
Definition: init.c:24
#define MAX_ANSI_STRINGS
Definition: pci.h:87
VOID NTAPI PciReadSlotConfig(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_SLOT_NUMBER Slot, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
Definition: config.c:123
NTSTATUS NTAPI routeintrf_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: routintf.c:47
PCI_INTERFACE BusHandlerInterface
Definition: busintrf.c:18
NTSYSAPI BOOLEAN InitSafeBootMode
Definition: init.c:71
VOID NTAPI PPBridge_SaveCurrentSettings(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: ppbridge.c:225
NTSTATUS NTAPI agpintrf_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: agpintrf.c:47
enum _PCI_STATE PCI_STATE
BOOLEAN NTAPI PciDebugIrpDispatchDisplay(IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension, IN USHORT MaxMinor)
Definition: debug.c:124
VOID NTAPI Cardbus_SaveCurrentSettings(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: cardbus.c:35
NTSTATUS NTAPI PciPdoCreate(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_SLOT_NUMBER Slot, OUT PDEVICE_OBJECT *PdoDeviceObject)
Definition: pdo.c:530
NTSTATUS NTAPI PciPdoIrpStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:262
PDRIVER_OBJECT PciDriverObject
Definition: init.c:19
VOID NTAPI PciWriteDeviceConfig(IN PPCI_PDO_EXTENSION DeviceExtension, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
Definition: config.c:91
VOID NTAPI PPBridge_GetAdditionalResourceDescriptors(IN PPCI_CONFIGURATOR_CONTEXT Context, IN PPCI_COMMON_HEADER PciData, IN PIO_RESOURCE_DESCRIPTOR IoDescriptor)
Definition: ppbridge.c:628
PCI_INTERFACE ArbiterInterfaceIo
Definition: ar_memio.c:31
NTSTATUS NTAPI pcicbintrf_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: cardbus.c:109
struct _PCI_LOCK PCI_LOCK
VOID NTAPI PciDebugPrintPartialResource(IN PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialResource)
Definition: debug.c:348
enum _PCI_DISPATCH_STYLE PCI_DISPATCH_STYLE
NTSTATUS NTAPI busintrf_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: busintrf.c:45
VOID(NTAPI * PCI_CONFIGURATOR_GET_ADDITIONAL_RESOURCE_DESCRIPTORS)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context, IN PPCI_COMMON_HEADER PciData, IN PIO_RESOURCE_DESCRIPTOR IoDescriptor)
Definition: pci.h:460
NTSTATUS NTAPI PciIrpNotSupported(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: dispatch.c:261
struct _PCI_POWER_STATE PCI_POWER_STATE
VOID NTAPI PciInsertEntryAtTail(IN PSINGLE_LIST_ENTRY ListHead, IN PPCI_FDO_EXTENSION DeviceExtension, IN PKEVENT Lock)
Definition: utils.c:400
struct _PCI_MN_DISPATCH_TABLE * PPCI_MN_DISPATCH_TABLE
NTSTATUS NTAPI PciPdoSetPowerState(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:93
VOID NTAPI PciDebugDumpCommonConfig(IN PPCI_COMMON_HEADER PciData)
Definition: debug.c:207
NTSTATUS NTAPI PciPdoIrpCancelStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:290
NTSTATUS NTAPI busintrf_Initializer(IN PVOID Instance)
Definition: busintrf.c:35
NTSTATUS NTAPI devpresent_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: devhere.c:45
PPCI_SECONDARY_EXTENSION NTAPI PciFindNextSecondaryExtension(IN PSINGLE_LIST_ENTRY ListHead, IN PCI_SIGNATURE ExtensionType)
Definition: utils.c:584
NTSTATUS NTAPI PciSetResources(IN PPCI_PDO_EXTENSION PdoExtension, IN BOOLEAN DoReset, IN BOOLEAN SomethingSomethingDarkSide)
Definition: enum.c:2155
struct _PCI_ID_BUFFER * PPCI_ID_BUFFER
NTSTATUS NTAPI PciFdoWaitWake(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: power.c:206
_PCI_STATE
Definition: pci.h:128
@ PciMaxObjectState
Definition: pci.h:135
@ PciSurpriseRemoved
Definition: pci.h:133
@ PciDeleted
Definition: pci.h:131
@ PciStarted
Definition: pci.h:130
@ PciSynchronizedOperation
Definition: pci.h:134
@ PciStopped
Definition: pci.h:132
@ PciNotStarted
Definition: pci.h:129
NTSTATUS NTAPI PciFdoSetPowerState(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: power.c:221
struct _PCI_LOCK * PPCI_LOCK
VOID(NTAPI * PCI_CONFIGURATOR_RESET_DEVICE)(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: pci.h:466
union _PCI_HEADER_TYPE_DEPENDENT PCI_HEADER_TYPE_DEPENDENT
enum _PCI_SIGNATURE PCI_SIGNATURE
struct _PCI_MN_DISPATCH_TABLE PCI_MN_DISPATCH_TABLE
NTSTATUS NTAPI ario_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: ar_memio.c:60
VOID NTAPI PciVerifierInit(IN PDRIVER_OBJECT DriverObject)
Definition: pcivrify.c:94
VOID NTAPI Device_GetAdditionalResourceDescriptors(IN PPCI_CONFIGURATOR_CONTEXT Context, IN PPCI_COMMON_HEADER PciData, IN PIO_RESOURCE_DESCRIPTOR IoDescriptor)
Definition: device.c:259
NTSTATUS NTAPI PciQueryId(IN PPCI_PDO_EXTENSION DeviceExtension, IN BUS_QUERY_ID_TYPE QueryType, OUT PWCHAR *Buffer)
Definition: id.c:200
NTSTATUS NTAPI armem_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: ar_memio.c:156
PWCHAR NTAPI PciGetDeviceDescriptionMessage(IN UCHAR BaseClass, IN UCHAR SubClass)
Definition: id.c:88
struct _PCI_INTERFACE * PPCI_INTERFACE
NTSTATUS NTAPI PciFdoIrpQueryLegacyBusInformation(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:365
struct _PCI_INTERFACE PCI_INTERFACE
NTSTATUS NTAPI PciPdoIrpSurpriseRemoval(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:502
NTSTATUS NTAPI PciBuildRequirementsList(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData, OUT PIO_RESOURCE_REQUIREMENTS_LIST *Buffer)
Definition: enum.c:551
BOOLEAN NTAPI PciIsSlotPresentInParentMethod(IN PPCI_PDO_EXTENSION PdoExtension, IN ULONG Method)
Definition: utils.c:1094
NTSTATUS NTAPI PciFdoIrpStartDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:76
PCI_INTERFACE PciCardbusPrivateInterface
Definition: cardbus.c:18
NTSTATUS NTAPI routeintrf_Initializer(IN PVOID Instance)
Definition: routintf.c:37
struct _PCI_CONFIGURATOR_CONTEXT * PPCI_CONFIGURATOR_CONTEXT
struct _PCI_LEGACY_DEVICE * PPCI_LEGACY_DEVICE
NTSTATUS NTAPI PciFdoIrpStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:166
NTSTATUS NTAPI ario_Initializer(IN PVOID Instance)
Definition: ar_memio.c:48
NTSTATUS NTAPI tranirq_Initializer(IN PVOID Instance)
Definition: tr_irq.c:35
VOID NTAPI Cardbus_MassageHeaderForLimitsDetermination(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: cardbus.c:51
struct _PCI_FUNCTION_RESOURCES * PPCI_FUNCTION_RESOURCES
VOID NTAPI Device_ChangeResourceSettings(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: device.c:283
NTSTATUS NTAPI arbusno_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: ar_busno.c:73
NTSTATUS NTAPI PciPdoIrpQueryInterface(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:304
BOOLEAN PciAssignBusNumbers
Definition: config.c:18
struct _PCI_PDO_EXTENSION * PPCI_PDO_EXTENSION
struct _PCI_HACK_ENTRY * PPCI_HACK_ENTRY
VOID NTAPI Device_SaveLimits(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: device.c:118
VOID NTAPI PciDebugPrintIoResReqList(IN PIO_RESOURCE_REQUIREMENTS_LIST Requirements)
Definition: debug.c:302
NTSTATUS NTAPI PciCancelStateTransition(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_STATE NewState)
Definition: state.c:145
struct _PCI_IPI_CONTEXT PCI_IPI_CONTEXT
struct _PCI_MJ_DISPATCH_TABLE PCI_MJ_DISPATCH_TABLE
PCI_DEVICE_TYPES NTAPI PciClassifyDeviceType(IN PPCI_PDO_EXTENSION PdoExtension)
Definition: utils.c:1051
NTSTATUS NTAPI PciIrpInvalidDeviceRequest(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: dispatch.c:277
NTSTATUS NTAPI PciQueryCapabilities(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PDEVICE_CAPABILITIES DeviceCapability)
Definition: utils.c:1727
VOID(NTAPI * PCI_CONFIGURATOR_SAVE_LIMITS)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:447
NTSTATUS NTAPI PciBeginStateTransition(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_STATE NewState)
Definition: state.c:97
NTSTATUS(NTAPI * PCI_INTERFACE_INITIALIZER)(IN PVOID Instance)
Definition: pci.h:368
struct _PCI_CONFIGURATOR PCI_CONFIGURATOR
struct _PCI_CONFIGURATOR_CONTEXT PCI_CONFIGURATOR_CONTEXT
NTSTATUS NTAPI PciQueryEjectionRelations(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PDEVICE_RELATIONS *pDeviceRelations)
Definition: enum.c:538
VOID NTAPI Cardbus_RestoreCurrent(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: cardbus.c:59
NTSTATUS NTAPI PciCacheLegacyDeviceRouting(IN PDEVICE_OBJECT DeviceObject, IN ULONG BusNumber, IN ULONG SlotNumber, IN UCHAR InterruptLine, IN UCHAR InterruptPin, IN UCHAR BaseClass, IN UCHAR SubClass, IN PDEVICE_OBJECT PhysicalDeviceObject, IN PPCI_PDO_EXTENSION PdoExtension, OUT PDEVICE_OBJECT *pFoundDeviceObject)
Definition: routintf.c:70
NTSTATUS NTAPI PciFdoIrpSurpriseRemoval(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:351
struct _PCI_POWER_STATE * PPCI_POWER_STATE
PCI_INTERFACE PciRoutingInterface
Definition: routintf.c:20
NTSTATUS NTAPI PciGetBiosConfig(IN PPCI_PDO_EXTENSION DeviceExtension, OUT PPCI_COMMON_HEADER PciData)
Definition: utils.c:768
NTSTATUS NTAPI PciPdoIrpQueryResourceRequirements(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:383
NTSTATUS NTAPI PciQueryRequirements(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PIO_RESOURCE_REQUIREMENTS_LIST *RequirementsList)
Definition: enum.c:583
VOID NTAPI ario_ApplyBrokenVideoHack(IN PPCI_FDO_EXTENSION FdoExtension)
Definition: ar_memio.c:104
NTSTATUS NTAPI PciQueryTargetDeviceRelations(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PDEVICE_RELATIONS *pDeviceRelations)
Definition: enum.c:511
VOID NTAPI PPBridge_RestoreCurrent(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: ppbridge.c:620
BOOLEAN NTAPI PciAreBusNumbersConfigured(IN PPCI_PDO_EXTENSION PdoExtension)
Definition: busno.c:20
VOID NTAPI PcipLinkSecondaryExtension(IN PSINGLE_LIST_ENTRY List, IN PVOID Lock, IN PPCI_SECONDARY_EXTENSION SecondaryExtension, IN PCI_SIGNATURE ExtensionType, IN PVOID Destructor)
Definition: utils.c:459
NTSTATUS NTAPI PciPdoIrpQueryDeviceText(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:399
VOID NTAPI Cardbus_ChangeResourceSettings(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: cardbus.c:89
PPCI_IRQ_ROUTING_TABLE PciIrqRoutingTable
Definition: init.c:26
_PCI_DISPATCH_STYLE
Definition: pci.h:142
@ IRP_UPWARD
Definition: pci.h:145
@ IRP_COMPLETE
Definition: pci.h:143
@ IRP_DISPATCH
Definition: pci.h:146
@ IRP_DOWNWARD
Definition: pci.h:144
KEVENT PciGlobalLock
Definition: init.c:20
NTSTATUS NTAPI PciQueryDeviceRelations(IN PPCI_FDO_EXTENSION DeviceExtension, IN OUT PDEVICE_RELATIONS *pDeviceRelations)
Definition: enum.c:2034
NTSTATUS NTAPI PciQueryDeviceText(IN PPCI_PDO_EXTENSION PdoExtension, IN DEVICE_TEXT_TYPE QueryType, IN ULONG Locale, OUT PWCHAR *Buffer)
Definition: id.c:394
BOOLEAN PciRunningDatacenter
Definition: init.c:18
PCI_INTERFACE PciPmeInterface
Definition: pmeintf.c:18
enum _PCI_SIGNATURE * PPCI_SIGNATURE
struct _PCI_VERIFIER_DATA * PPCI_VERIFIER_DATA
VOID NTAPI Device_MassageHeaderForLimitsDetermination(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: device.c:218
PPCI_PDO_EXTENSION NTAPI PciFindPdoByFunction(IN PPCI_FDO_EXTENSION DeviceExtension, IN ULONG FunctionNumber, IN PPCI_COMMON_HEADER PciData)
Definition: utils.c:695
BOOLEAN NTAPI PciOpenKey(IN PWCHAR KeyName, IN HANDLE RootKey, IN ACCESS_MASK DesiredAccess, OUT PHANDLE KeyHandle, OUT PNTSTATUS KeyStatus)
Definition: utils.c:165
VOID NTAPI Device_SaveCurrentSettings(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: device.c:20
PCI_INTERFACE PciLegacyDeviceDetectionInterface
Definition: lddintrf.c:18
VOID NTAPI PPBridge_MassageHeaderForLimitsDetermination(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: ppbridge.c:582
BOOLEAN NTAPI PciIsDeviceOnDebugPath(IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: utils.c:751
PCI_INTERFACE ArbiterInterfaceBusNumber
Definition: ar_busno.c:18
PCI_INTERFACE ArbiterInterfaceMemory
Definition: ar_memio.c:18
NTSTATUS NTAPI PciPdoIrpCancelRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:248
PCI_INTERFACE TranslatorInterfaceInterrupt
Definition: tr_irq.c:18
NTSTATUS NTAPI PciQueryBusInformation(IN PPCI_PDO_EXTENSION PdoExtension, IN PPNP_BUS_INFORMATION *Buffer)
Definition: utils.c:1316
NTSTATUS(NTAPI * PCI_DISPATCH_FUNCTION)(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PVOID DeviceExtension)
Definition: pci.h:325
NTSTATUS NTAPI PciPdoIrpQueryDeviceState(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:474
VOID NTAPI Device_ResetDevice(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: device.c:272
NTSTATUS NTAPI PciCallDownIrpStack(IN PPCI_FDO_EXTENSION DeviceExtension, IN PIRP Irp)
Definition: dispatch.c:39
union _PCI_HEADER_TYPE_DEPENDENT * PPCI_HEADER_TYPE_DEPENDENT
struct _PCI_FUNCTION_RESOURCES PCI_FUNCTION_RESOURCES
NTSTATUS NTAPI PciPdoIrpReadConfig(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:446
NTSTATUS NTAPI PciPdoIrpQueryLegacyBusInformation(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:516
NTSTATUS NTAPI tranirq_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: tr_irq.c:45
NTSTATUS NTAPI locintrf_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: locintrf.c:45
NTSTATUS NTAPI PciPdoIrpRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:234
struct _PCI_CONFIGURATOR * PPCI_CONFIGURATOR
NTSTATUS NTAPI PciInitializeArbiters(IN PPCI_FDO_EXTENSION FdoExtension)
Definition: arb_comn.c:40
VOID NTAPI PciDecodeEnable(IN PPCI_PDO_EXTENSION PdoExtension, IN BOOLEAN Enable, OUT PUSHORT Command)
Definition: utils.c:1267
NTSTATUS NTAPI PciPdoIrpQueryId(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:416
VOID NTAPI Cardbus_SaveLimits(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: cardbus.c:43
VOID NTAPI PciDebugPrintCmResList(IN PCM_RESOURCE_LIST ResourceList)
Definition: debug.c:364
NTSTATUS NTAPI agpintrf_Initializer(IN PVOID Instance)
Definition: agpintrf.c:37
NTSTATUS NTAPI PciFdoIrpQueryDeviceRelations(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:208
struct _PCI_IPI_CONTEXT * PPCI_IPI_CONTEXT
NTSTATUS NTAPI PciPdoIrpQueryPower(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:107
BOOLEAN NTAPI PciIsCriticalDeviceClass(IN UCHAR BaseClass, IN UCHAR SubClass)
Definition: utils.c:672
struct _PCI_ID_BUFFER PCI_ID_BUFFER
NTSTATUS NTAPI PciPdoIrpQueryDeviceRelations(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:318
UCHAR NTAPI PciReadDeviceCapability(IN PPCI_PDO_EXTENSION DeviceExtension, IN UCHAR Offset, IN ULONG CapabilityId, OUT PPCI_CAPABILITIES_HEADER Buffer, IN ULONG Length)
Definition: utils.c:886
NTSTATUS NTAPI PciPdoIrpWriteConfig(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:460
NTSTATUS NTAPI PciQueryInterface(IN PPCI_FDO_EXTENSION DeviceExtension, IN CONST GUID *InterfaceType, IN ULONG Size, IN ULONG Version, IN PVOID InterfaceData, IN PINTERFACE Interface, IN BOOLEAN LastChance)
Definition: intrface.c:45
NTSTATUS NTAPI PciPassIrpFromFdoToPdo(IN PPCI_FDO_EXTENSION DeviceExtension, IN PIRP Irp)
Definition: dispatch.c:70
VOID NTAPI PciHookHal(VOID)
Definition: hookhal.c:248
PCI_INTERFACE AgpTargetInterface
Definition: agpintrf.c:20
struct PCI_ARBITER_INSTANCE * PPCI_ARBITER_INSTANCE
NTSTATUS NTAPI lddintrf_Constructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: lddintrf.c:45
BOOLEAN NTAPI PciStringToUSHORT(IN PWCHAR String, OUT PUSHORT Value)
Definition: utils.c:61
VOID NTAPI Cardbus_ResetDevice(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: cardbus.c:79
NTSTATUS NTAPI PciFdoIrpQueryRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:124
NTSTATUS NTAPI PciPdoIrpQueryCapabilities(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:352
NTSTATUS NTAPI PciPdoIrpStartDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:121
NTSTATUS NTAPI PciPdoIrpQueryRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:220
NTSTATUS NTAPI PciSetPowerManagedDevicePowerState(IN PPCI_PDO_EXTENSION DeviceExtension, IN DEVICE_POWER_STATE DeviceState, IN BOOLEAN IrpSet)
Definition: power.c:121
ULONGLONG NTAPI PciGetHackFlags(IN USHORT VendorId, IN USHORT DeviceId, IN USHORT SubVendorId, IN USHORT SubSystemId, IN UCHAR RevisionId)
Definition: utils.c:604
VOID NTAPI PPBridge_ChangeResourceSettings(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: ppbridge.c:683
PPCI_HACK_ENTRY PciHackTable
Definition: init.c:28
PCI_INTERFACE PciLocationInterface
Definition: locintrf.c:18
NTSTATUS NTAPI PciSaveBiosConfig(IN PPCI_PDO_EXTENSION DeviceExtension, OUT PPCI_COMMON_HEADER PciData)
NTSTATUS NTAPI PciFdoIrpCancelRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:152
UCHAR NTAPI PciGetAdjustedInterruptLine(IN PPCI_PDO_EXTENSION PdoExtension)
Definition: config.c:24
NTSTATUS NTAPI PciFdoIrpQueryInterface(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:235
PPCI_VERIFIER_DATA NTAPI PciVerifierRetrieveFailureData(IN ULONG FailureCode)
Definition: pcivrify.c:60
NTSTATUS NTAPI locintrf_Initializer(IN PVOID Instance)
Definition: locintrf.c:35
NTSTATUS NTAPI arbusno_Initializer(IN PVOID Instance)
Definition: ar_busno.c:35
VOID NTAPI PPBridge_SaveLimits(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: ppbridge.c:465
VOID(NTAPI * PCI_IPI_FUNCTION)(IN PVOID Reserved, IN PVOID Context)
Definition: pci.h:502
BOOLEAN NTAPI PciCanDisableDecodes(IN PPCI_PDO_EXTENSION DeviceExtension, IN PPCI_COMMON_HEADER Config, IN ULONGLONG HackFlags, IN BOOLEAN ForPowerDown)
Definition: utils.c:955
PPCI_FDO_EXTENSION NTAPI PciFindParentPciFdoExtension(IN PDEVICE_OBJECT DeviceObject, IN PKEVENT Lock)
Definition: utils.c:340
NTSTATUS NTAPI PciFdoIrpQueryCapabilities(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:310
struct _PCI_FDO_EXTENSION PCI_FDO_EXTENSION
BOOLEAN NTAPI PciCreateIoDescriptorFromBarLimit(PIO_RESOURCE_DESCRIPTOR ResourceDescriptor, IN PULONG BarArray, IN BOOLEAN Rom)
Definition: utils.c:1175
NTSTATUS NTAPI PciGetDeviceProperty(IN PDEVICE_OBJECT DeviceObject, IN DEVICE_REGISTRY_PROPERTY DeviceProperty, OUT PVOID *OutputBuffer)
Definition: utils.c:475
struct _PCI_LEGACY_DEVICE PCI_LEGACY_DEVICE
NTSTATUS NTAPI PciGetRegistryValue(IN PWCHAR ValueName, IN PWCHAR KeyName, IN HANDLE RootHandle, IN ULONG Type, OUT PVOID *OutputBuffer, OUT PULONG OutputLength)
Definition: utils.c:192
PPCI_INTERFACE PciInterfaces[]
Definition: intrface.c:18
_PCI_DEVICE_TYPES
Definition: pci.h:116
@ PciTypeHostBridge
Definition: pci.h:118
@ PciTypeDevice
Definition: pci.h:121
@ PciTypePciBridge
Definition: pci.h:119
@ PciTypeInvalid
Definition: pci.h:117
@ PciTypeCardbusBridge
Definition: pci.h:120
NTSTATUS NTAPI PciPdoIrpDeviceUsageNotification(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:488
VOID(NTAPI * PCI_CONFIGURATOR_CHANGE_RESOURCE_SETTINGS)(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: pci.h:455
NTSTATUS NTAPI lddintrf_Initializer(IN PVOID Instance)
Definition: lddintrf.c:35
SINGLE_LIST_ENTRY PciFdoExtensionListHead
Definition: fdo.c:18
VOID(NTAPI * PCI_CONFIGURATOR_SAVE_CURRENT_SETTINGS)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:451
struct _PCI_VERIFIER_DATA PCI_VERIFIER_DATA
VOID NTAPI PciCommitStateTransition(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_STATE NewState)
Definition: state.c:181
NTSTATUS NTAPI PciPdoIrpQueryStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:276
NTSTATUS NTAPI PciFdoIrpDeviceUsageNotification(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:337
KIPI_BROADCAST_WORKER PciExecuteCriticalSystemRoutine
Definition: pci.h:1132
PWATCHDOG_TABLE WdTable
Definition: init.c:27
BOOLEAN NTAPI PciComputeNewCurrentSettings(IN PPCI_PDO_EXTENSION PdoExtension, IN PCM_RESOURCE_LIST ResourceList)
Definition: enum.c:55
NTSTATUS NTAPI PciFdoIrpQueryStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:180
NTSTATUS NTAPI PciFdoIrpQueryPower(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: power.c:236
VOID NTAPI PciInitializeState(IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: state.c:88
NTSTATUS NTAPI pcicbintrf_Initializer(IN PVOID Instance)
Definition: cardbus.c:99
NTSTATUS NTAPI PciPdoIrpQueryResources(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:368
BOOLEAN NTAPI PciUnicodeStringStrStr(IN PUNICODE_STRING InputString, IN PCUNICODE_STRING EqualString, IN BOOLEAN CaseInSensitive)
Definition: utils.c:27
VOID NTAPI PPBridge_ResetDevice(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: ppbridge.c:673
VOID NTAPI PciReadDeviceConfig(IN PPCI_PDO_EXTENSION DeviceExtension, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
Definition: config.c:107
NTSTATUS NTAPI PciPdoWaitWake(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:79
NTSTATUS NTAPI PciPmeInterfaceInitializer(IN PVOID Instance)
Definition: pmeintf.c:35
VOID NTAPI PciDebugDumpQueryCapabilities(IN PDEVICE_CAPABILITIES DeviceCaps)
Definition: debug.c:221
NTSTATUS(NTAPI * PCI_INTERFACE_CONSTRUCTOR)(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: pci.h:359
struct PCI_SECONDARY_EXTENSION * PPCI_SECONDARY_EXTENSION
NTSTATUS NTAPI PciQueryResources(IN PPCI_PDO_EXTENSION PdoExtension, OUT PCM_RESOURCE_LIST *Buffer)
Definition: enum.c:354
struct _PCI_PDO_EXTENSION PCI_PDO_EXTENSION
NTSTATUS NTAPI PciBuildDefaultExclusionLists(VOID)
Definition: utils.c:276
enum _PCI_DEVICE_TYPES PCI_DEVICE_TYPES
VOID(NTAPI * PCI_CONFIGURATOR_RESTORE_CURRENT)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:443
VOID NTAPI Cardbus_GetAdditionalResourceDescriptors(IN PPCI_CONFIGURATOR_CONTEXT Context, IN PPCI_COMMON_HEADER PciData, IN PIO_RESOURCE_DESCRIPTOR IoDescriptor)
Definition: cardbus.c:67
DRIVER_DISPATCH PciDispatchIrp
Definition: pci.h:541
struct _PCI_MJ_DISPATCH_TABLE * PPCI_MJ_DISPATCH_TABLE
BOOLEAN NTAPI PciIsDatacenter(VOID)
Definition: utils.c:131
NTSTATUS NTAPI PciPdoIrpQueryBusInformation(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:430
DRIVER_ADD_DEVICE PciAddDevice
Definition: pci.h:619
NTSTATUS NTAPI PciGetConfigHandlers(IN PPCI_FDO_EXTENSION FdoExtension)
Definition: config.c:224
NTSTATUS NTAPI PciPmeInterfaceConstructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: pmeintf.c:45
struct _PCI_HACK_ENTRY PCI_HACK_ENTRY
VOID(NTAPI * PCI_CONFIGURATOR_INITIALIZE)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:439
NTSTATUS NTAPI PciSendIoctl(IN PDEVICE_OBJECT DeviceObject, IN ULONG IoControlCode, IN PVOID InputBuffer, IN ULONG InputBufferLength, IN PVOID OutputBuffer, IN ULONG OutputBufferLength)
Definition: utils.c:531
struct _PCI_FDO_EXTENSION * PPCI_FDO_EXTENSION
VOID NTAPI Device_RestoreCurrent(IN PPCI_CONFIGURATOR_CONTEXT Context)
Definition: device.c:250
_PCI_SIGNATURE
Definition: pci.h:93
@ PciInterface_NativeIde
Definition: pci.h:107
@ PciFdoExtensionType
Definition: pci.h:95
@ PciPdoExtensionType
Definition: pci.h:94
@ PciInterface_PciCb
Definition: pci.h:103
@ PciInterface_IntRouteHandler
Definition: pci.h:102
@ PciArb_BusNumber
Definition: pci.h:99
@ PciInterface_Location
Definition: pci.h:109
@ PciArb_Io
Definition: pci.h:96
@ PciInterface_DevicePresent
Definition: pci.h:106
@ PciArb_Interrupt
Definition: pci.h:98
@ PciInterface_BusHandler
Definition: pci.h:101
@ PciTrans_Interrupt
Definition: pci.h:100
@ PciInterface_LegacyDeviceDetection
Definition: pci.h:104
@ PciArb_Memory
Definition: pci.h:97
@ PciInterface_AgpTarget
Definition: pci.h:108
@ PciInterface_PmeHandler
Definition: pci.h:105
NTSTATUS NTAPI armem_Initializer(IN PVOID Instance)
Definition: ar_memio.c:144
NTSTATUS NTAPI PciFdoIrpCancelStopDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:194
NTSTATUS NTAPI PciFdoIrpRemoveDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension)
Definition: fdo.c:138
NTSTATUS NTAPI devpresent_Initializer(IN PVOID Instance)
Definition: devhere.c:35
@ PdoExtension
Definition: precomp.h:49
@ FdoExtension
Definition: precomp.h:48
_Outptr_ PUSB_DEVICE_HANDLE _In_ PUSB_DEVICE_HANDLE _In_ USHORT _In_ PUSB_PORT_PATH _Out_ PUSB_CD_ERROR_INFORMATION _In_ USHORT _In_ PDEVICE_OBJECT PdoDeviceObject
Definition: hubbusif.h:95
* PNTSTATUS
Definition: strlen.c:14
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4715
_In_ const STRING _In_ BOOLEAN CaseInSensitive
Definition: rtlfuncs.h:2390
DRIVER_DISPATCH(nfs41_FsdDispatch)
ULONG ACCESS_MASK
Definition: nt_native.h:40
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
enum _DEVICE_POWER_STATE DEVICE_POWER_STATE
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
_Must_inspect_result_ _In_ KTMOBJECT_TYPE QueryType
Definition: nttmapi.h:404
#define CONST
Definition: pedump.c:81
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
static PMEMKEY RootKey
Definition: registry.c:55
Definition: shell.h:41
PPCI_FDO_EXTENSION BusFdoExtension
Definition: pci.h:405
PCI_SECONDARY_EXTENSION Header
Definition: pci.h:403
WCHAR InstanceName[24]
Definition: pci.h:406
ARBITER_INSTANCE CommonInstance
Definition: pci.h:407
PPCI_INTERFACE Interface
Definition: pci.h:404
SINGLE_LIST_ENTRY List
Definition: pci.h:393
PCI_SIGNATURE ExtensionType
Definition: pci.h:394
PPCI_CONFIGURATOR Configurator
Definition: pci.h:493
PPCI_PDO_EXTENSION PdoExtension
Definition: pci.h:490
USHORT SecondaryStatus
Definition: pci.h:494
PPCI_COMMON_HEADER Current
Definition: pci.h:491
PPCI_COMMON_HEADER PciData
Definition: pci.h:492
PCI_CONFIGURATOR_CHANGE_RESOURCE_SETTINGS ChangeResourceSettings
Definition: pci.h:480
PCI_CONFIGURATOR_RESTORE_CURRENT RestoreCurrent
Definition: pci.h:477
PCI_CONFIGURATOR_SAVE_LIMITS SaveLimits
Definition: pci.h:478
PCI_CONFIGURATOR_RESET_DEVICE ResetDevice
Definition: pci.h:482
PCI_CONFIGURATOR_GET_ADDITIONAL_RESOURCE_DESCRIPTORS GetAdditionalResourceDescriptors
Definition: pci.h:481
PCI_CONFIGURATOR_INITIALIZE Initialize
Definition: pci.h:476
PCI_CONFIGURATOR_SAVE_CURRENT_SETTINGS SaveCurrentSettings
Definition: pci.h:479
BOOLEAN DeviceState
Definition: pci.h:197
BOOLEAN Fake
Definition: pci.h:212
BOOLEAN LatencyTimer
Definition: pci.h:227
struct _PCI_PDO_EXTENSION * ChildBridgePdoList
Definition: pci.h:207
BOOLEAN ArbitersInitialized
Definition: pci.h:215
SINGLE_LIST_ENTRY SecondaryExtension
Definition: pci.h:219
BOOLEAN ChildDelete
Definition: pci.h:213
BOOLEAN CacheLineSize
Definition: pci.h:226
PDEVICE_OBJECT AttachedDeviceObject
Definition: pci.h:202
struct _PCI_FDO_EXTENSION::@627 HotPlugParameters
PDEVICE_OBJECT PhysicalDeviceObject
Definition: pci.h:200
LONG BusHackFlags
Definition: pci.h:231
PPCI_COMMON_CONFIG PreservedConfig
Definition: pci.h:221
struct _PCI_FDO_EXTENSION * ParentFdoExtension
Definition: pci.h:206
BOOLEAN EnablePERR
Definition: pci.h:228
PCI_LOCK Lock
Definition: pci.h:222
BOOLEAN TentativeNextState
Definition: pci.h:198
ULONG ExtensionType
Definition: pci.h:195
BOOLEAN EnableSERR
Definition: pci.h:229
PPCI_BUS_INTERFACE_STANDARD PciBusInterface
Definition: pci.h:208
BOOLEAN Acquired
Definition: pci.h:225
BUS_HANDLER * BusHandler
Definition: pci.h:210
struct _PCI_MJ_DISPATCH_TABLE * IrpDispatchTable
Definition: pci.h:196
SINGLE_LIST_ENTRY List
Definition: pci.h:194
PDEVICE_OBJECT FunctionalDeviceObject
Definition: pci.h:201
PCI_POWER_STATE PowerState
Definition: pci.h:218
struct _PCI_PDO_EXTENSION * ChildPdoList
Definition: pci.h:204
BOOLEAN BaseBus
Definition: pci.h:211
BOOLEAN BrokenVideoHackApplied
Definition: pci.h:216
KEVENT SecondaryExtLock
Definition: pci.h:199
struct _PCI_FDO_EXTENSION * BusRootFdoExtension
Definition: pci.h:205
BOOLEAN MaxSubordinateBus
Definition: pci.h:209
BOOLEAN Hibernated
Definition: pci.h:217
LONG ChildWaitWakeCount
Definition: pci.h:220
KEVENT ChildListLock
Definition: pci.h:203
BOOLEAN Scanned
Definition: pci.h:214
IO_RESOURCE_DESCRIPTOR Limit[7]
Definition: pci.h:236
CM_PARTIAL_RESOURCE_DESCRIPTOR Current[7]
Definition: pci.h:237
Definition: pci.h:153
ULONGLONG HackFlags
Definition: pci.h:158
USHORT SubSystemID
Definition: pci.h:157
USHORT VendorID
Definition: pci.h:154
USHORT RevisionID
Definition: pci.h:159
USHORT DeviceID
Definition: pci.h:155
UCHAR Flags
Definition: pci.h:160
USHORT SubVendorID
Definition: pci.h:156
ULONG Count
Definition: pci.h:426
ULONG StringSize[MAX_ANSI_STRINGS]
Definition: pci.h:428
CHAR BufferData[256]
Definition: pci.h:431
ANSI_STRING Strings[MAX_ANSI_STRINGS]
Definition: pci.h:427
ULONG TotalLength
Definition: pci.h:429
PCHAR CharBuffer
Definition: pci.h:430
USHORT MinSize
Definition: pci.h:378
USHORT Flags
Definition: pci.h:381
LONG ReferenceCount
Definition: pci.h:382
USHORT MaxVersion
Definition: pci.h:380
PCI_INTERFACE_CONSTRUCTOR Constructor
Definition: pci.h:384
PCI_SIGNATURE Signature
Definition: pci.h:383
PCI_INTERFACE_INITIALIZER Initializer
Definition: pci.h:385
USHORT MinVersion
Definition: pci.h:379
CONST GUID * InterfaceType
Definition: pci.h:377
LONG RunCount
Definition: pci.h:512
ULONG Barrier
Definition: pci.h:513
PVOID Context
Definition: pci.h:516
PCI_IPI_FUNCTION Function
Definition: pci.h:515
PVOID DeviceExtension
Definition: pci.h:514
UCHAR InterruptPin
Definition: pci.h:529
UCHAR SubClass
Definition: pci.h:531
UCHAR BaseClass
Definition: pci.h:530
PPCI_PDO_EXTENSION PdoExtension
Definition: pci.h:534
UCHAR InterruptLine
Definition: pci.h:528
PDEVICE_OBJECT PhysicalDeviceObject
Definition: pci.h:532
PDEVICE_OBJECT DeviceObject
Definition: pci.h:525
ROUTING_TOKEN RoutingToken
Definition: pci.h:533
struct _PCI_LEGACY_DEVICE * Next
Definition: pci.h:524
ULONG BusNumber
Definition: pci.h:526
ULONG SlotNumber
Definition: pci.h:527
Definition: pci.h:184
BOOLEAN OldIrql
Definition: pci.h:186
LONG Atom
Definition: pci.h:185
ULONG PnpIrpMaximumMinorFunction
Definition: pci.h:345
PCI_DISPATCH_FUNCTION SystemControlIrpDispatchFunction
Definition: pci.h:350
PPCI_MN_DISPATCH_TABLE PowerIrpDispatchTable
Definition: pci.h:348
PCI_DISPATCH_STYLE OtherIrpDispatchStyle
Definition: pci.h:351
PCI_DISPATCH_FUNCTION OtherIrpDispatchFunction
Definition: pci.h:352
ULONG PowerIrpMaximumMinorFunction
Definition: pci.h:347
PPCI_MN_DISPATCH_TABLE PnpIrpDispatchTable
Definition: pci.h:346
PCI_DISPATCH_STYLE SystemControlIrpDispatchStyle
Definition: pci.h:349
PCI_DISPATCH_STYLE DispatchStyle
Definition: pci.h:336
PCI_DISPATCH_FUNCTION DispatchFunction
Definition: pci.h:337
PCI_SLOT_NUMBER Slot
Definition: pci.h:272
PCI_FDO_EXTENSION * BridgeFdoExtension
Definition: pci.h:312
BOOLEAN DeviceState
Definition: pci.h:268
LONG BusInterfaceReferenceCount
Definition: pci.h:276
BOOLEAN ProgIf
Definition: pci.h:283
BOOLEAN BaseClass
Definition: pci.h:285
PCI_HEADER_TYPE_DEPENDENT Dependent
Definition: pci.h:309
PCI_POWER_STATE PowerState
Definition: pci.h:308
ULONGLONG HackFlags
Definition: pci.h:310
BOOLEAN AdjustedInterruptLine
Definition: pci.h:287
BOOLEAN InterruptPin
Definition: pci.h:288
PDEVICE_OBJECT PhysicalDeviceObject
Definition: pci.h:273
BOOLEAN RawInterruptLine
Definition: pci.h:289
USHORT SubsystemVendorId
Definition: pci.h:280
USHORT SubsystemId
Definition: pci.h:281
USHORT CommandEnables
Definition: pci.h:318
KEVENT SecondaryExtLock
Definition: pci.h:271
BOOLEAN SavedCacheLineSize
Definition: pci.h:292
BOOLEAN SavedLatencyTimer
Definition: pci.h:291
struct _PCI_PDO_EXTENSION * NextHashEntry
Definition: pci.h:314
BOOLEAN UpdateHardware
Definition: pci.h:299
USHORT DeviceId
Definition: pci.h:279
struct _PCI_PDO_EXTENSION * NextBridge
Definition: pci.h:313
BOOLEAN HeaderType
Definition: pci.h:293
ULONG ExtensionType
Definition: pci.h:266
USHORT InitialCommand
Definition: pci.h:319
BOOLEAN NeedsHotPlugConfiguration
Definition: pci.h:302
BOOLEAN SubClass
Definition: pci.h:284
BOOLEAN AdditionalResourceCount
Definition: pci.h:286
PCI_LOCK Lock
Definition: pci.h:315
BOOLEAN CapabilitiesPtr
Definition: pci.h:290
USHORT VendorId
Definition: pci.h:278
PVOID Next
Definition: pci.h:265
BOOLEAN OnDebugPath
Definition: pci.h:306
BOOLEAN LegacyDriver
Definition: pci.h:298
BOOLEAN BIOSAllowsIDESwitchToNativeMode
Definition: pci.h:304
BOOLEAN TargetAgpCapabilityId
Definition: pci.h:317
BOOLEAN MovedDevice
Definition: pci.h:300
SINGLE_LIST_ENTRY SecondaryExtension
Definition: pci.h:275
struct _PCI_MJ_DISPATCH_TABLE * IrpDispatchTable
Definition: pci.h:267
LONG AgpInterfaceReferenceCount
Definition: pci.h:277
BOOLEAN NotPresent
Definition: pci.h:294
BOOLEAN DisablePowerDown
Definition: pci.h:301
BOOLEAN ExpectedWritebackFailure
Definition: pci.h:296
BOOLEAN NoTouchPmeEnable
Definition: pci.h:297
BOOLEAN IoSpaceUnderNativeIdeControl
Definition: pci.h:305
PCI_PMC PowerCapabilities
Definition: pci.h:316
BOOLEAN IDEInNativeMode
Definition: pci.h:303
BOOLEAN TentativeNextState
Definition: pci.h:269
PCI_FUNCTION_RESOURCES * Resources
Definition: pci.h:311
BOOLEAN RevisionId
Definition: pci.h:282
PPCI_FDO_EXTENSION ParentFdoExtension
Definition: pci.h:274
BOOLEAN IoSpaceNotRequired
Definition: pci.h:307
BOOLEAN ReportedMissing
Definition: pci.h:295
LONG CrashDump
Definition: pci.h:177
DEVICE_POWER_STATE DeviceWakeLevel
Definition: pci.h:171
DEVICE_POWER_STATE CurrentDeviceState
Definition: pci.h:169
LONG Hibernate
Definition: pci.h:176
DEVICE_POWER_STATE SystemStateMapping[7]
Definition: pci.h:172
SYSTEM_POWER_STATE CurrentSystemState
Definition: pci.h:168
SYSTEM_POWER_STATE SystemWakeLevel
Definition: pci.h:170
PIRP WaitWakeIrp
Definition: pci.h:173
LONG Paging
Definition: pci.h:175
PVOID SavedCancelRoutine
Definition: pci.h:174
ULONG FailureCode
Definition: pci.h:415
VF_FAILURE_CLASS FailureClass
Definition: pci.h:416
PCHAR DebuggerMessageText
Definition: pci.h:418
ULONG AssertionControl
Definition: pci.h:417
Definition: ntbasedef.h:628
uint32_t * PULONG
Definition: typedefs.h:59
#define NTAPI
Definition: typedefs.h:36
uint16_t * PUSHORT
Definition: typedefs.h:56
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
uint16_t * PWCHAR
Definition: typedefs.h:56
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
#define OUT
Definition: typedefs.h:40
char * PCHAR
Definition: typedefs.h:51
struct _PCI_HEADER_TYPE_DEPENDENT::@630 type2
struct _PCI_HEADER_TYPE_DEPENDENT::@628 type0
struct _PCI_HEADER_TYPE_DEPENDENT::@629 type1
enum _VF_FAILURE_CLASS VF_FAILURE_CLASS
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
Definition: wdfchildlist.h:476
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
Definition: wdfdevice.h:1999
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2658
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
Definition: wdfdevice.h:3769
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
Definition: wdfdevice.h:2699
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2433
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
Definition: wdffdo.h:463
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
Definition: wdffdo.h:469
_In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
Definition: wdfio.h:325
_In_ WDFREQUEST _In_ size_t OutputBufferLength
Definition: wdfio.h:320
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
Definition: wdfio.h:322
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:863
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
Definition: wdfiotarget.h:953
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition: wdfregistry.h:243
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
Definition: wdfresource.h:309
_In_ WDFIORESREQLIST RequirementsList
Definition: wdfresource.h:65
_Must_inspect_result_ _In_ WDFCMRESLIST List
Definition: wdfresource.h:550
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
Definition: wdfresource.h:68
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
Definition: wdfsync.h:127
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_opt_ WDFWMIINSTANCE * Instance
Definition: wdfwmi.h:481
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
Definition: halfuncs.h:160
enum _BUS_QUERY_ID_TYPE BUS_QUERY_ID_TYPE
DEVICE_REGISTRY_PROPERTY
Definition: iotypes.h:1194
* PDEVICE_CAPABILITIES
Definition: iotypes.h:965
enum _DEVICE_TEXT_TYPE DEVICE_TEXT_TYPE
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180
char CHAR
Definition: xmlstorage.h:175