ReactOS 0.4.17-dev-806-gffa4164
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 Arbiter Interface Version
76//
77#define ARBITER_INTERFACE_VERSION 0
78
79//
80// PCI Debugging Device Support
81//
82#define MAX_DEBUGGING_DEVICES_SUPPORTED 0x04
83
84//
85// PCI Driver Verifier Failures
86//
87#define PCI_VERIFIER_CODES 0x04
88
89//
90// PCI ID Buffer ANSI Strings
91//
92#define MAX_ANSI_STRINGS 0x08
93
94//
95// Device Extension, Interface, Translator and Arbiter Signatures
96//
97typedef enum _PCI_SIGNATURE
98{
101 PciArb_Io = 'icP2',
114 PciInterface_Location = 'icP?'
116
117//
118// Driver-handled PCI Device Types
119//
121{
128
129//
130// Device Extension Logic States
131//
132typedef enum _PCI_STATE
133{
142
143//
144// IRP Dispatch Logic Style
145//
147{
153
154//
155// PCI Hack Entry Information
156//
157typedef struct _PCI_HACK_ENTRY
158{
167
168//
169// Power State Information for Device Extension
170//
171typedef struct _PCI_POWER_STATE
172{
184
185//
186// Internal PCI Lock Structure
187//
188typedef struct _PCI_LOCK
189{
193
194//
195// Device Extension for a Bus FDO
196//
197typedef struct _PCI_FDO_EXTENSION
198{
228 struct
229 {
239
241{
245
247{
248 struct
249 {
252 struct
253 {
263 struct
264 {
265 UCHAR Spare[4];
268
269typedef struct _PCI_PDO_EXTENSION
270{
276
327
328//
329// IRP Dispatch Function Type
330//
332 IN PIRP Irp,
334 IN PVOID DeviceExtension
335);
336
337//
338// IRP Dispatch Minor Table
339//
341{
345
346//
347// IRP Dispatch Major Table
348//
350{
360
361//
362// Generic PCI Interface Constructor and Initializer
363//
364struct _PCI_INTERFACE;
366 IN PVOID DeviceExtension,
368 IN PVOID InterfaceData,
370 IN USHORT Size,
372);
373
376);
377
378//
379// Generic PCI Interface (Interface, Translator, Arbiter)
380//
381typedef struct _PCI_INTERFACE
382{
393
394//
395// Generic Secondary Extension Instance Header (Interface, Translator, Arbiter)
396//
398{
403
404//
405// PCI Arbiter Instance
406//
408{
415
416//
417// PCI Verifier Data
418//
419typedef struct _PCI_VERIFIER_DATA
420{
426
427//
428// PCI ID Buffer Descriptor
429//
430typedef struct _PCI_ID_BUFFER
431{
439
440//
441// PCI Configuration Callbacks
442//
444
447);
448
451);
452
455);
456
459);
460
464);
465
469 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
470);
471
475);
476
477//
478// PCI Configurator
479//
480typedef struct _PCI_CONFIGURATOR
481{
490
491//
492// PCI Configurator Context
493//
495{
504
505//
506// PCI IPI Function
507//
511);
512
513//
514// PCI IPI Context
515//
516typedef struct _PCI_IPI_CONTEXT
517{
524
525//
526// PCI Legacy Device Location Cache
527//
528typedef struct _PCI_LEGACY_DEVICE
529{
542
543//
544// IRP Dispatch Routines
545//
546
548
550NTAPI
553 IN PIRP Irp
554);
555
557NTAPI
559 IN PIRP Irp,
561 IN PPCI_FDO_EXTENSION DeviceExtension
562);
563
565NTAPI
567 IN PPCI_FDO_EXTENSION DeviceExtension,
568 IN PIRP Irp
569);
570
572NTAPI
574 IN PPCI_FDO_EXTENSION DeviceExtension,
575 IN PIRP Irp
576);
577
579NTAPI
581 IN PIRP Irp,
583 IN PPCI_FDO_EXTENSION DeviceExtension
584);
585
586//
587// Power Routines
588//
590NTAPI
592 IN PIRP Irp,
594 IN PPCI_FDO_EXTENSION DeviceExtension
595);
596
598NTAPI
600 IN PIRP Irp,
602 IN PPCI_FDO_EXTENSION DeviceExtension
603);
604
606NTAPI
608 IN PIRP Irp,
610 IN PPCI_FDO_EXTENSION DeviceExtension
611);
612
614NTAPI
616 IN PPCI_PDO_EXTENSION DeviceExtension,
618 IN BOOLEAN IrpSet
619);
620
621//
622// Bus FDO Routines
623//
624
625DRIVER_ADD_DEVICE PciAddDevice;
626
628NTAPI
632);
633
635NTAPI
637 IN PIRP Irp,
639 IN PPCI_FDO_EXTENSION DeviceExtension
640);
641
643NTAPI
645 IN PIRP Irp,
647 IN PPCI_FDO_EXTENSION DeviceExtension
648);
649
651NTAPI
653 IN PIRP Irp,
655 IN PPCI_FDO_EXTENSION DeviceExtension
656);
657
659NTAPI
661 IN PIRP Irp,
663 IN PPCI_FDO_EXTENSION DeviceExtension
664);
665
667NTAPI
669 IN PIRP Irp,
671 IN PPCI_FDO_EXTENSION DeviceExtension
672);
673
675NTAPI
677 IN PIRP Irp,
679 IN PPCI_FDO_EXTENSION DeviceExtension
680);
681
683NTAPI
685 IN PIRP Irp,
687 IN PPCI_FDO_EXTENSION DeviceExtension
688);
689
691NTAPI
693 IN PIRP Irp,
695 IN PPCI_FDO_EXTENSION DeviceExtension
696);
697
699NTAPI
701 IN PIRP Irp,
703 IN PPCI_FDO_EXTENSION DeviceExtension
704);
705
707NTAPI
709 IN PIRP Irp,
711 IN PPCI_FDO_EXTENSION DeviceExtension
712);
713
715NTAPI
717 IN PIRP Irp,
719 IN PPCI_FDO_EXTENSION DeviceExtension
720);
721
723NTAPI
725 IN PIRP Irp,
727 IN PPCI_FDO_EXTENSION DeviceExtension
728);
729
731NTAPI
733 IN PIRP Irp,
735 IN PPCI_FDO_EXTENSION DeviceExtension
736);
737
738//
739// Device PDO Routines
740//
742NTAPI
744 IN PPCI_FDO_EXTENSION DeviceExtension,
745 IN PCI_SLOT_NUMBER Slot,
747);
748
750NTAPI
752 IN PIRP Irp,
754 IN PPCI_PDO_EXTENSION DeviceExtension
755);
756
758NTAPI
760 IN PIRP Irp,
762 IN PPCI_PDO_EXTENSION DeviceExtension
763);
764
766NTAPI
768 IN PIRP Irp,
770 IN PPCI_PDO_EXTENSION DeviceExtension
771);
772
774NTAPI
776 IN PIRP Irp,
778 IN PPCI_PDO_EXTENSION DeviceExtension
779);
780
782NTAPI
784 IN PIRP Irp,
786 IN PPCI_PDO_EXTENSION DeviceExtension
787);
788
790NTAPI
792 IN PIRP Irp,
794 IN PPCI_PDO_EXTENSION DeviceExtension
795);
796
798NTAPI
800 IN PIRP Irp,
802 IN PPCI_PDO_EXTENSION DeviceExtension
803);
804
806NTAPI
808 IN PIRP Irp,
810 IN PPCI_PDO_EXTENSION DeviceExtension
811);
812
814NTAPI
816 IN PIRP Irp,
818 IN PPCI_PDO_EXTENSION DeviceExtension
819);
820
822NTAPI
824 IN PIRP Irp,
826 IN PPCI_PDO_EXTENSION DeviceExtension
827);
828
830NTAPI
832 IN PIRP Irp,
834 IN PPCI_PDO_EXTENSION DeviceExtension
835);
836
838NTAPI
840 IN PIRP Irp,
842 IN PPCI_PDO_EXTENSION DeviceExtension
843);
844
846NTAPI
848 IN PIRP Irp,
850 IN PPCI_PDO_EXTENSION DeviceExtension
851);
852
854NTAPI
856 IN PIRP Irp,
858 IN PPCI_PDO_EXTENSION DeviceExtension
859);
860
862NTAPI
864 IN PIRP Irp,
866 IN PPCI_PDO_EXTENSION DeviceExtension
867);
868
870NTAPI
872 IN PIRP Irp,
874 IN PPCI_PDO_EXTENSION DeviceExtension
875);
876
878NTAPI
880 IN PIRP Irp,
882 IN PPCI_PDO_EXTENSION DeviceExtension
883);
884
886NTAPI
888 IN PIRP Irp,
890 IN PPCI_PDO_EXTENSION DeviceExtension
891);
892
894NTAPI
896 IN PIRP Irp,
898 IN PPCI_PDO_EXTENSION DeviceExtension
899);
900
902NTAPI
904 IN PIRP Irp,
906 IN PPCI_PDO_EXTENSION DeviceExtension
907);
908
910NTAPI
912 IN PIRP Irp,
914 IN PPCI_PDO_EXTENSION DeviceExtension
915);
916
918NTAPI
920 IN PIRP Irp,
922 IN PPCI_PDO_EXTENSION DeviceExtension
923);
924
926NTAPI
928 IN PIRP Irp,
930 IN PPCI_PDO_EXTENSION DeviceExtension
931);
932
934NTAPI
936 IN PIRP Irp,
938 IN PPCI_PDO_EXTENSION DeviceExtension
939);
940
941
942//
943// HAL Callback/Hook Routines
944//
945VOID
946NTAPI
948 VOID
949);
950
951//
952// PCI Verifier Routines
953//
954VOID
955NTAPI
958);
959
961NTAPI
963 IN ULONG FailureCode
964);
965
966//
967// Utility Routines
968//
970NTAPI
974);
975
977NTAPI
979 VOID
980);
981
983NTAPI
985 VOID
986);
987
989NTAPI
991 IN PUNICODE_STRING InputString,
992 IN PCUNICODE_STRING EqualString,
994);
995
997NTAPI
1003 OUT PNTSTATUS KeyStatus
1004);
1005
1007NTAPI
1011 IN HANDLE RootHandle,
1012 IN ULONG Type,
1014 OUT PULONG OutputLength
1015);
1016
1018NTAPI
1022);
1023
1024VOID
1025NTAPI
1027 IN PSINGLE_LIST_ENTRY ListHead,
1028 IN PPCI_FDO_EXTENSION DeviceExtension,
1030);
1031
1033NTAPI
1038);
1039
1041NTAPI
1049);
1050
1051VOID
1052NTAPI
1055 IN PVOID Lock,
1056 IN PPCI_SECONDARY_EXTENSION SecondaryExtension,
1057 IN PCI_SIGNATURE ExtensionType,
1058 IN PVOID Destructor
1059);
1060
1062NTAPI
1064 IN PSINGLE_LIST_ENTRY ListHead,
1065 IN PCI_SIGNATURE ExtensionType
1066);
1067
1069NTAPI
1071 IN USHORT VendorId,
1072 IN USHORT DeviceId,
1073 IN USHORT SubVendorId,
1074 IN USHORT SubSystemId,
1075 IN UCHAR RevisionId
1076);
1077
1079NTAPI
1081 IN PPCI_FDO_EXTENSION DeviceExtension,
1082 IN ULONG FunctionNumber,
1083 IN PPCI_COMMON_HEADER PciData
1084);
1085
1086BOOLEAN
1087NTAPI
1091);
1092
1093BOOLEAN
1094NTAPI
1096 IN PPCI_PDO_EXTENSION DeviceExtension
1097);
1098
1100NTAPI
1102 IN PPCI_PDO_EXTENSION DeviceExtension,
1103 OUT PPCI_COMMON_HEADER PciData
1104);
1105
1107NTAPI
1109 IN PPCI_PDO_EXTENSION DeviceExtension,
1110 OUT PPCI_COMMON_HEADER PciData
1111);
1112
1113UCHAR
1114NTAPI
1116 IN PPCI_PDO_EXTENSION DeviceExtension,
1117 IN UCHAR Offset,
1118 IN ULONG CapabilityId,
1121);
1122
1123BOOLEAN
1124NTAPI
1126 IN PPCI_PDO_EXTENSION DeviceExtension,
1129 IN BOOLEAN ForPowerDown
1130);
1131
1133NTAPI
1136);
1137
1139
1141NTAPI
1143 IN ULONG_PTR IpiContext
1144);
1145
1146BOOLEAN
1147NTAPI
1149 PIO_RESOURCE_DESCRIPTOR ResourceDescriptor,
1150 IN PULONG BarArray,
1151 IN BOOLEAN Rom
1152);
1153
1154BOOLEAN
1155NTAPI
1158 IN ULONG Method
1159);
1160
1161VOID
1162NTAPI
1167);
1168
1170NTAPI
1174);
1175
1177NTAPI
1180 IN OUT PDEVICE_CAPABILITIES DeviceCapability
1181);
1182
1183//
1184// Configuration Routines
1185//
1187NTAPI
1190);
1191
1192VOID
1193NTAPI
1195 IN PPCI_FDO_EXTENSION DeviceExtension,
1196 IN PCI_SLOT_NUMBER Slot,
1197 IN PVOID Buffer,
1198 IN ULONG Offset,
1200);
1201
1202VOID
1203NTAPI
1205 IN PPCI_PDO_EXTENSION DeviceExtension,
1206 IN PVOID Buffer,
1207 IN ULONG Offset,
1209);
1210
1211VOID
1212NTAPI
1214 IN PPCI_PDO_EXTENSION DeviceExtension,
1215 IN PVOID Buffer,
1216 IN ULONG Offset,
1218);
1219
1220UCHAR
1221NTAPI
1224);
1225
1226//
1227// State Machine Logic Transition Routines
1228//
1229VOID
1230NTAPI
1232 IN PPCI_FDO_EXTENSION DeviceExtension
1233);
1234
1236NTAPI
1238 IN PPCI_FDO_EXTENSION DeviceExtension,
1239 IN PCI_STATE NewState
1240);
1241
1243NTAPI
1245 IN PPCI_FDO_EXTENSION DeviceExtension,
1246 IN PCI_STATE NewState
1247);
1248
1249VOID
1250NTAPI
1252 IN PPCI_FDO_EXTENSION DeviceExtension,
1253 IN PCI_STATE NewState
1254);
1255
1256//
1257// Arbiter Support
1258//
1260NTAPI
1263);
1264
1266NTAPI
1268 IN PPCI_FDO_EXTENSION DeviceExtension,
1270);
1271
1272//
1273// Debug Helpers
1274//
1275BOOLEAN
1276NTAPI
1279 IN PPCI_FDO_EXTENSION DeviceExtension,
1280 IN USHORT MaxMinor
1281);
1282
1283VOID
1284NTAPI
1286 IN PPCI_COMMON_HEADER PciData
1287);
1288
1289VOID
1290NTAPI
1292 IN PDEVICE_CAPABILITIES DeviceCaps
1293);
1294
1295VOID
1296NTAPI
1299);
1300
1301VOID
1302NTAPI
1305);
1306
1307VOID
1308NTAPI
1310 IN PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialResource
1311);
1312
1313//
1314// Interface Support
1315//
1317NTAPI
1319 IN PPCI_FDO_EXTENSION DeviceExtension,
1321 IN ULONG Size,
1323 IN PVOID InterfaceData,
1325 IN BOOLEAN LastChance
1326);
1327
1329NTAPI
1332);
1333
1335NTAPI
1338);
1339
1341NTAPI
1344);
1345
1347NTAPI
1350 _Out_ PULONGLONG Minimum,
1351 _Out_ PULONGLONG Maximum,
1354);
1355
1357NTAPI
1362);
1363
1365NTAPI
1370);
1371
1372INT32
1373NTAPI
1376);
1377
1379NTAPI
1382);
1383
1385NTAPI
1388);
1389
1391NTAPI
1394);
1395
1397NTAPI
1400);
1401
1403NTAPI
1406);
1407
1409NTAPI
1412);
1413
1415NTAPI
1418);
1419
1421NTAPI
1424);
1425
1427NTAPI
1430);
1431
1433NTAPI
1435 IN PVOID DeviceExtension,
1437 IN PVOID InterfaceData,
1439 IN USHORT Size,
1441);
1442
1444NTAPI
1446 IN PVOID DeviceExtension,
1448 IN PVOID InterfaceData,
1450 IN USHORT Size,
1452);
1453
1455NTAPI
1457 IN PVOID DeviceExtension,
1459 IN PVOID InterfaceData,
1461 IN USHORT Size,
1463);
1464
1466NTAPI
1468 IN PVOID DeviceExtension,
1470 IN PVOID InterfaceData,
1472 IN USHORT Size,
1474);
1475
1477NTAPI
1479 IN PVOID DeviceExtension,
1481 IN PVOID InterfaceData,
1483 IN USHORT Size,
1485);
1486
1488NTAPI
1490 IN PVOID DeviceExtension,
1492 IN PVOID InterfaceData,
1494 IN USHORT Size,
1496);
1497
1498VOID
1499NTAPI
1502);
1503
1505NTAPI
1508 _Out_ PULONGLONG Minimum,
1509 _Out_ PULONGLONG Maximum,
1512);
1513
1515NTAPI
1520);
1521
1523NTAPI
1528);
1529
1530INT32
1531NTAPI
1534);
1535
1537NTAPI
1540 _Out_ PULONGLONG Minimum,
1541 _Out_ PULONGLONG Maximum,
1544);
1545
1547NTAPI
1552);
1553
1555NTAPI
1560);
1561
1562INT32
1563NTAPI
1566);
1567
1568VOID
1569NTAPI
1572);
1573
1574VOID
1575NTAPI
1578);
1579
1581NTAPI
1584 _In_ PCI_SIGNATURE ArbiterType,
1586);
1587
1589NTAPI
1591 IN PVOID DeviceExtension,
1593 IN PVOID InterfaceData,
1595 IN USHORT Size,
1597);
1598
1600NTAPI
1602 IN PVOID DeviceExtension,
1604 IN PVOID InterfaceData,
1606 IN USHORT Size,
1608);
1609
1611NTAPI
1613 IN PVOID DeviceExtension,
1615 IN PVOID InterfaceData,
1617 IN USHORT Size,
1619);
1620
1622NTAPI
1624 IN PVOID DeviceExtension,
1626 IN PVOID InterfaceData,
1628 IN USHORT Size,
1630);
1631
1633NTAPI
1635 IN PVOID DeviceExtension,
1637 IN PVOID InterfaceData,
1639 IN USHORT Size,
1641);
1642
1644NTAPI
1646 IN PVOID DeviceExtension,
1648 IN PVOID InterfaceData,
1650 IN USHORT Size,
1652);
1653
1654//
1655// PCI Enumeration and Resources
1656//
1658NTAPI
1660 IN PPCI_FDO_EXTENSION DeviceExtension,
1661 IN OUT PDEVICE_RELATIONS *pDeviceRelations
1662);
1663
1665NTAPI
1669);
1670
1672NTAPI
1675 IN OUT PDEVICE_RELATIONS *pDeviceRelations
1676);
1677
1679NTAPI
1682 IN OUT PDEVICE_RELATIONS *pDeviceRelations
1683);
1684
1686NTAPI
1690);
1691
1692BOOLEAN
1693NTAPI
1697);
1698
1700NTAPI
1703 IN BOOLEAN DoReset,
1704 IN BOOLEAN SomethingSomethingDarkSide
1705);
1706
1708NTAPI
1711 IN PPCI_COMMON_HEADER PciData,
1713);
1714
1715//
1716// Identification Functions
1717//
1718PWCHAR
1719NTAPI
1723);
1724
1726NTAPI
1730 IN ULONG Locale,
1732);
1733
1735NTAPI
1737 IN PPCI_PDO_EXTENSION DeviceExtension,
1740);
1741
1742//
1743// CardBUS Support
1744//
1745VOID
1746NTAPI
1749);
1750
1751VOID
1752NTAPI
1755);
1756
1757VOID
1758NTAPI
1761);
1762
1763VOID
1764NTAPI
1767);
1768
1769VOID
1770NTAPI
1773 IN PPCI_COMMON_HEADER PciData,
1774 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
1775);
1776
1777VOID
1778NTAPI
1781 IN PPCI_COMMON_HEADER PciData
1782);
1783
1784VOID
1785NTAPI
1788 IN PPCI_COMMON_HEADER PciData
1789);
1790
1791//
1792// PCI Device Support
1793//
1794VOID
1795NTAPI
1798);
1799
1800VOID
1801NTAPI
1804);
1805
1806VOID
1807NTAPI
1810);
1811
1812VOID
1813NTAPI
1816);
1817
1818VOID
1819NTAPI
1822 IN PPCI_COMMON_HEADER PciData,
1823 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
1824);
1825
1826VOID
1827NTAPI
1830 IN PPCI_COMMON_HEADER PciData
1831);
1832
1833VOID
1834NTAPI
1837 IN PPCI_COMMON_HEADER PciData
1838);
1839
1840//
1841// PCI-to-PCI Bridge Device Support
1842//
1843VOID
1844NTAPI
1847);
1848
1849VOID
1850NTAPI
1853);
1854
1855VOID
1856NTAPI
1859);
1860
1861VOID
1862NTAPI
1865);
1866
1867VOID
1868NTAPI
1871 IN PPCI_COMMON_HEADER PciData,
1872 IN PIO_RESOURCE_DESCRIPTOR IoDescriptor
1873);
1874
1875VOID
1876NTAPI
1879 IN PPCI_COMMON_HEADER PciData
1880);
1881
1882VOID
1883NTAPI
1886 IN PPCI_COMMON_HEADER PciData
1887);
1888
1889//
1890// Bus Number Routines
1891//
1892BOOLEAN
1893NTAPI
1896);
1897
1898//
1899// Routine Interface
1900//
1902NTAPI
1913 OUT PDEVICE_OBJECT *pFoundDeviceObject
1914);
1915
1916//
1917// External Resources
1918//
1920extern KEVENT PciGlobalLock;
1931//extern PCI_INTERFACE PciNativeIdeInterface;
1942
1943/* Exported by NTOS, should this go in the NDK? */
1945
1946#endif /* _PCIX_PCH_ */
static _Out_opt_ PULONGLONG Start
Type
Definition: Type.h:7
#define VOID
Definition: acefi.h:82
unsigned char BOOLEAN
Definition: actypes.h:127
LONG NTSTATUS
Definition: precomp.h:26
#define NTSYSAPI
Definition: ntoskrnl.h:12
PDEVICE_OBJECT PhysicalDeviceObject
Definition: btrfs_drv.h:1157
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource _Inout_ PERESOURCE Resource
Definition: cdprocs.h:843
_In_ ULONG_PTR HackFlags
Definition: cdrom.h:983
Definition: bufpool.h:45
_In_ PIRP Irp
Definition: csq.h:116
#define NTSTATUS
Definition: precomp.h:19
NTSTATUS NTAPI PciInitializeArbiterRanges(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCM_RESOURCE_LIST Resources)
Definition: arb_comn.c:181
PCI_INTERFACE PciDevicePresentInterface
Definition: devhere.c:18
BOOLEAN PciEnableNativeModeATA
Definition: init.c:24
#define MAX_ANSI_STRINGS
Definition: pci.h:92
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:153
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:542
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:121
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:142
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:466
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 arbusno_PackResource(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _In_ ULONGLONG Start, _Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource)
Definition: ar_busno.c:54
NTSTATUS NTAPI PciPdoSetPowerState(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:93
VOID NTAPI PciArbiter_Reference(_In_ PVOID Context)
Definition: arb_comn.c:30
VOID NTAPI PciDebugDumpCommonConfig(IN PPCI_COMMON_HEADER PciData)
Definition: debug.c:207
NTSTATUS NTAPI PciQueryBusInformation(IN PPCI_PDO_EXTENSION PdoExtension, OUT PPNP_BUS_INFORMATION *Buffer)
Definition: utils.c:1316
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:132
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:2240
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
INT32 NTAPI arbusno_ScoreRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor)
Definition: ar_busno.c:85
_PCI_STATE
Definition: pci.h:133
@ PciMaxObjectState
Definition: pci.h:140
@ PciSurpriseRemoved
Definition: pci.h:138
@ PciDeleted
Definition: pci.h:136
@ PciStarted
Definition: pci.h:135
@ PciSynchronizedOperation
Definition: pci.h:139
@ PciStopped
Definition: pci.h:137
@ PciNotStarted
Definition: pci.h:134
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:472
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:153
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:327
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:514
NTSTATUS NTAPI PciBuildRequirementsList(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData, OUT PIO_RESOURCE_REQUIREMENTS_LIST *Buffer)
Definition: enum.c:565
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:119
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:143
NTSTATUS NTAPI PciPdoIrpQueryInterface(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:304
VOID NTAPI PciArbiter_Dereference(_In_ PVOID Context)
Definition: arb_comn.c:39
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:1728
VOID(NTAPI * PCI_CONFIGURATOR_SAVE_LIMITS)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:453
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:374
struct _PCI_CONFIGURATOR PCI_CONFIGURATOR
struct _PCI_CONFIGURATOR_CONTEXT PCI_CONFIGURATOR_CONTEXT
NTSTATUS NTAPI arbusno_UnpackRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _Out_ PULONGLONG Minimum, _Out_ PULONGLONG Maximum, _Out_ PULONGLONG Length, _Out_ PULONGLONG Alignment)
Definition: ar_busno.c:35
NTSTATUS NTAPI PciQueryEjectionRelations(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PDEVICE_RELATIONS *pDeviceRelations)
Definition: enum.c:552
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
NTSTATUS NTAPI armem_UnpackResource(_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource, _Out_ PULONGLONG Start, _Out_ PULONGLONG Length)
Definition: ar_memio.c:258
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:395
NTSTATUS NTAPI PciQueryRequirements(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PIO_RESOURCE_REQUIREMENTS_LIST *RequirementsList)
Definition: enum.c:668
VOID NTAPI ario_ApplyBrokenVideoHack(IN PPCI_FDO_EXTENSION FdoExtension)
Definition: ar_memio.c:181
NTSTATUS NTAPI PciQueryTargetDeviceRelations(IN PPCI_PDO_EXTENSION PdoExtension, IN OUT PDEVICE_RELATIONS *pDeviceRelations)
Definition: enum.c:525
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:411
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:147
@ IRP_UPWARD
Definition: pci.h:150
@ IRP_COMPLETE
Definition: pci.h:148
@ IRP_DISPATCH
Definition: pci.h:151
@ IRP_DOWNWARD
Definition: pci.h:149
KEVENT PciGlobalLock
Definition: init.c:20
NTSTATUS NTAPI PciQueryDeviceRelations(IN PPCI_FDO_EXTENSION DeviceExtension, IN OUT PDEVICE_RELATIONS *pDeviceRelations)
Definition: enum.c:2119
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
NTSTATUS NTAPI ario_PackResource(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _In_ ULONGLONG Start, _Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource)
Definition: ar_memio.c:67
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 * PCI_DISPATCH_FUNCTION)(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PVOID DeviceExtension)
Definition: pci.h:331
NTSTATUS NTAPI PciPdoIrpQueryDeviceState(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:486
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
INT32 NTAPI armem_ScoreRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor)
Definition: ar_memio.c:272
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:458
NTSTATUS NTAPI PciPdoIrpQueryLegacyBusInformation(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:528
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:90
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:428
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
NTSTATUS NTAPI PciArbiterConstructor(_In_ PPCI_FDO_EXTENSION FdoExtension, _In_ PCI_SIGNATURE ArbiterType, _Out_ PARBITER_INTERFACE Interface)
Definition: arb_comn.c:48
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:330
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:472
NTSTATUS NTAPI armem_PackResource(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _In_ ULONGLONG Start, _Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource)
Definition: ar_memio.c:241
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:364
NTSTATUS NTAPI PciPdoIrpStartDevice(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:121
INT32 NTAPI ario_ScoreRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor)
Definition: ar_memio.c:98
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
NTSTATUS NTAPI arbusno_UnpackResource(_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource, _Out_ PULONGLONG Start, _Out_ PULONGLONG Length)
Definition: ar_busno.c:71
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:110
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:508
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:121
@ PciTypeHostBridge
Definition: pci.h:123
@ PciTypeDevice
Definition: pci.h:126
@ PciTypePciBridge
Definition: pci.h:124
@ PciTypeInvalid
Definition: pci.h:122
@ PciTypeCardbusBridge
Definition: pci.h:125
NTSTATUS NTAPI PciPdoIrpDeviceUsageNotification(IN PIRP Irp, IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_PDO_EXTENSION DeviceExtension)
Definition: pdo.c:500
VOID(NTAPI * PCI_CONFIGURATOR_CHANGE_RESOURCE_SETTINGS)(IN PPCI_PDO_EXTENSION PdoExtension, IN PPCI_COMMON_HEADER PciData)
Definition: pci.h:461
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:457
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:1138
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:380
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:137
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:365
struct PCI_SECONDARY_EXTENSION * PPCI_SECONDARY_EXTENSION
NTSTATUS NTAPI PciQueryResources(IN PPCI_PDO_EXTENSION PdoExtension, OUT PCM_RESOURCE_LIST *Buffer)
Definition: enum.c:368
NTSTATUS NTAPI armem_UnpackRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _Out_ PULONGLONG Minimum, _Out_ PULONGLONG Maximum, _Out_ PULONGLONG Length, _Out_ PULONGLONG Alignment)
Definition: ar_memio.c:222
NTSTATUS NTAPI ario_UnpackRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _Out_ PULONGLONG Minimum, _Out_ PULONGLONG Maximum, _Out_ PULONGLONG Length, _Out_ PULONGLONG Alignment)
Definition: ar_memio.c:48
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:449
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:547
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:442
DRIVER_ADD_DEVICE PciAddDevice
Definition: pci.h:625
NTSTATUS NTAPI PciGetConfigHandlers(IN PPCI_FDO_EXTENSION FdoExtension)
Definition: config.c:254
NTSTATUS NTAPI PciPmeInterfaceConstructor(IN PVOID DeviceExtension, IN PVOID Instance, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
Definition: pmeintf.c:74
NTSTATUS NTAPI ario_UnpackResource(_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource, _Out_ PULONGLONG Start, _Out_ PULONGLONG Length)
Definition: ar_memio.c:84
struct _PCI_HACK_ENTRY PCI_HACK_ENTRY
VOID(NTAPI * PCI_CONFIGURATOR_INITIALIZE)(IN struct _PCI_CONFIGURATOR_CONTEXT *Context)
Definition: pci.h:445
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:98
@ PciInterface_NativeIde
Definition: pci.h:112
@ PciFdoExtensionType
Definition: pci.h:100
@ PciPdoExtensionType
Definition: pci.h:99
@ PciInterface_PciCb
Definition: pci.h:108
@ PciInterface_IntRouteHandler
Definition: pci.h:107
@ PciArb_BusNumber
Definition: pci.h:104
@ PciInterface_Location
Definition: pci.h:114
@ PciArb_Io
Definition: pci.h:101
@ PciInterface_DevicePresent
Definition: pci.h:111
@ PciArb_Interrupt
Definition: pci.h:103
@ PciInterface_BusHandler
Definition: pci.h:106
@ PciTrans_Interrupt
Definition: pci.h:105
@ PciInterface_LegacyDeviceDetection
Definition: pci.h:109
@ PciArb_Memory
Definition: pci.h:102
@ PciInterface_AgpTarget
Definition: pci.h:113
@ PciInterface_PmeHandler
Definition: pci.h:110
NTSTATUS NTAPI armem_Initializer(IN PVOID Instance)
Definition: ar_memio.c:293
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:2437
DRIVER_DISPATCH(nfs41_FsdDispatch)
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
ULONG ACCESS_MASK
Definition: nt_native.h:40
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
Definition: ntbasedef.h:395
_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
_In_ ULONG BusNumber
Definition: pciidex.h:65
#define CONST
Definition: pedump.c:81
short WCHAR
Definition: pedump.c:58
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
char CHAR
Definition: pedump.c:57
static PMEMKEY RootKey
Definition: registry.c:55
_In_ PVOID Context
Definition: storport.h:2269
Definition: shell.h:41
PPCI_FDO_EXTENSION BusFdoExtension
Definition: pci.h:411
PCI_SECONDARY_EXTENSION Header
Definition: pci.h:409
WCHAR InstanceName[24]
Definition: pci.h:412
ARBITER_INSTANCE CommonInstance
Definition: pci.h:413
PPCI_INTERFACE Interface
Definition: pci.h:410
SINGLE_LIST_ENTRY List
Definition: pci.h:399
PCI_SIGNATURE ExtensionType
Definition: pci.h:400
PPCI_CONFIGURATOR Configurator
Definition: pci.h:499
PPCI_PDO_EXTENSION PdoExtension
Definition: pci.h:496
USHORT SecondaryStatus
Definition: pci.h:500
PPCI_COMMON_HEADER Current
Definition: pci.h:497
PPCI_COMMON_HEADER PciData
Definition: pci.h:498
PCI_CONFIGURATOR_CHANGE_RESOURCE_SETTINGS ChangeResourceSettings
Definition: pci.h:486
PCI_CONFIGURATOR_RESTORE_CURRENT RestoreCurrent
Definition: pci.h:483
PCI_CONFIGURATOR_SAVE_LIMITS SaveLimits
Definition: pci.h:484
PCI_CONFIGURATOR_RESET_DEVICE ResetDevice
Definition: pci.h:488
PCI_CONFIGURATOR_GET_ADDITIONAL_RESOURCE_DESCRIPTORS GetAdditionalResourceDescriptors
Definition: pci.h:487
PCI_CONFIGURATOR_INITIALIZE Initialize
Definition: pci.h:482
PCI_CONFIGURATOR_SAVE_CURRENT_SETTINGS SaveCurrentSettings
Definition: pci.h:485
BOOLEAN DeviceState
Definition: pci.h:202
BOOLEAN Fake
Definition: pci.h:217
BOOLEAN LatencyTimer
Definition: pci.h:232
struct _PCI_PDO_EXTENSION * ChildBridgePdoList
Definition: pci.h:212
BOOLEAN ArbitersInitialized
Definition: pci.h:220
SINGLE_LIST_ENTRY SecondaryExtension
Definition: pci.h:224
BOOLEAN ChildDelete
Definition: pci.h:218
BOOLEAN CacheLineSize
Definition: pci.h:231
PDEVICE_OBJECT AttachedDeviceObject
Definition: pci.h:207
PDEVICE_OBJECT PhysicalDeviceObject
Definition: pci.h:205
struct _PCI_FDO_EXTENSION::@746 HotPlugParameters
LONG BusHackFlags
Definition: pci.h:236
PPCI_COMMON_CONFIG PreservedConfig
Definition: pci.h:226
struct _PCI_FDO_EXTENSION * ParentFdoExtension
Definition: pci.h:211
BOOLEAN EnablePERR
Definition: pci.h:233
PCI_LOCK Lock
Definition: pci.h:227
BOOLEAN TentativeNextState
Definition: pci.h:203
ULONG ExtensionType
Definition: pci.h:200
BOOLEAN EnableSERR
Definition: pci.h:234
PPCI_BUS_INTERFACE_STANDARD PciBusInterface
Definition: pci.h:213
LONG PciPmeInterfaceCount
Definition: pci.h:237
BOOLEAN Acquired
Definition: pci.h:230
BUS_HANDLER * BusHandler
Definition: pci.h:215
struct _PCI_MJ_DISPATCH_TABLE * IrpDispatchTable
Definition: pci.h:201
SINGLE_LIST_ENTRY List
Definition: pci.h:199
PDEVICE_OBJECT FunctionalDeviceObject
Definition: pci.h:206
PCI_POWER_STATE PowerState
Definition: pci.h:223
struct _PCI_PDO_EXTENSION * ChildPdoList
Definition: pci.h:209
BOOLEAN BaseBus
Definition: pci.h:216
BOOLEAN BrokenVideoHackApplied
Definition: pci.h:221
KEVENT SecondaryExtLock
Definition: pci.h:204
struct _PCI_FDO_EXTENSION * BusRootFdoExtension
Definition: pci.h:210
BOOLEAN MaxSubordinateBus
Definition: pci.h:214
BOOLEAN Hibernated
Definition: pci.h:222
LONG ChildWaitWakeCount
Definition: pci.h:225
KEVENT ChildListLock
Definition: pci.h:208
BOOLEAN Scanned
Definition: pci.h:219
IO_RESOURCE_DESCRIPTOR Limit[7]
Definition: pci.h:242
CM_PARTIAL_RESOURCE_DESCRIPTOR Current[7]
Definition: pci.h:243
Definition: pci.h:158
ULONGLONG HackFlags
Definition: pci.h:163
USHORT SubSystemID
Definition: pci.h:162
USHORT VendorID
Definition: pci.h:159
USHORT RevisionID
Definition: pci.h:164
USHORT DeviceID
Definition: pci.h:160
UCHAR Flags
Definition: pci.h:165
USHORT SubVendorID
Definition: pci.h:161
ULONG Count
Definition: pci.h:432
ULONG StringSize[MAX_ANSI_STRINGS]
Definition: pci.h:434
CHAR BufferData[256]
Definition: pci.h:437
ANSI_STRING Strings[MAX_ANSI_STRINGS]
Definition: pci.h:433
ULONG TotalLength
Definition: pci.h:435
PCHAR CharBuffer
Definition: pci.h:436
USHORT MinSize
Definition: pci.h:384
USHORT Flags
Definition: pci.h:387
LONG ReferenceCount
Definition: pci.h:388
USHORT MaxVersion
Definition: pci.h:386
PCI_INTERFACE_CONSTRUCTOR Constructor
Definition: pci.h:390
PCI_SIGNATURE Signature
Definition: pci.h:389
PCI_INTERFACE_INITIALIZER Initializer
Definition: pci.h:391
USHORT MinVersion
Definition: pci.h:385
CONST GUID * InterfaceType
Definition: pci.h:383
LONG RunCount
Definition: pci.h:518
ULONG Barrier
Definition: pci.h:519
PVOID Context
Definition: pci.h:522
PCI_IPI_FUNCTION Function
Definition: pci.h:521
PVOID DeviceExtension
Definition: pci.h:520
UCHAR InterruptPin
Definition: pci.h:535
UCHAR SubClass
Definition: pci.h:537
UCHAR BaseClass
Definition: pci.h:536
PPCI_PDO_EXTENSION PdoExtension
Definition: pci.h:540
UCHAR InterruptLine
Definition: pci.h:534
PDEVICE_OBJECT PhysicalDeviceObject
Definition: pci.h:538
PDEVICE_OBJECT DeviceObject
Definition: pci.h:531
ROUTING_TOKEN RoutingToken
Definition: pci.h:539
struct _PCI_LEGACY_DEVICE * Next
Definition: pci.h:530
ULONG BusNumber
Definition: pci.h:532
ULONG SlotNumber
Definition: pci.h:533
Definition: pci.h:189
BOOLEAN OldIrql
Definition: pci.h:191
LONG Atom
Definition: pci.h:190
ULONG PnpIrpMaximumMinorFunction
Definition: pci.h:351
PCI_DISPATCH_FUNCTION SystemControlIrpDispatchFunction
Definition: pci.h:356
PPCI_MN_DISPATCH_TABLE PowerIrpDispatchTable
Definition: pci.h:354
PCI_DISPATCH_STYLE OtherIrpDispatchStyle
Definition: pci.h:357
PCI_DISPATCH_FUNCTION OtherIrpDispatchFunction
Definition: pci.h:358
ULONG PowerIrpMaximumMinorFunction
Definition: pci.h:353
PPCI_MN_DISPATCH_TABLE PnpIrpDispatchTable
Definition: pci.h:352
PCI_DISPATCH_STYLE SystemControlIrpDispatchStyle
Definition: pci.h:355
PCI_DISPATCH_STYLE DispatchStyle
Definition: pci.h:342
PCI_DISPATCH_FUNCTION DispatchFunction
Definition: pci.h:343
PCI_SLOT_NUMBER Slot
Definition: pci.h:278
PCI_FDO_EXTENSION * BridgeFdoExtension
Definition: pci.h:318
BOOLEAN DeviceState
Definition: pci.h:274
LONG BusInterfaceReferenceCount
Definition: pci.h:282
BOOLEAN ProgIf
Definition: pci.h:289
BOOLEAN BaseClass
Definition: pci.h:291
PCI_HEADER_TYPE_DEPENDENT Dependent
Definition: pci.h:315
PCI_POWER_STATE PowerState
Definition: pci.h:314
ULONGLONG HackFlags
Definition: pci.h:316
BOOLEAN AdjustedInterruptLine
Definition: pci.h:293
BOOLEAN InterruptPin
Definition: pci.h:294
PDEVICE_OBJECT PhysicalDeviceObject
Definition: pci.h:279
BOOLEAN RawInterruptLine
Definition: pci.h:295
USHORT SubsystemVendorId
Definition: pci.h:286
USHORT SubsystemId
Definition: pci.h:287
USHORT CommandEnables
Definition: pci.h:324
KEVENT SecondaryExtLock
Definition: pci.h:277
BOOLEAN SavedCacheLineSize
Definition: pci.h:298
BOOLEAN SavedLatencyTimer
Definition: pci.h:297
struct _PCI_PDO_EXTENSION * NextHashEntry
Definition: pci.h:320
BOOLEAN UpdateHardware
Definition: pci.h:305
USHORT DeviceId
Definition: pci.h:285
struct _PCI_PDO_EXTENSION * NextBridge
Definition: pci.h:319
BOOLEAN HeaderType
Definition: pci.h:299
ULONG ExtensionType
Definition: pci.h:272
USHORT InitialCommand
Definition: pci.h:325
BOOLEAN NeedsHotPlugConfiguration
Definition: pci.h:308
BOOLEAN SubClass
Definition: pci.h:290
BOOLEAN AdditionalResourceCount
Definition: pci.h:292
PCI_LOCK Lock
Definition: pci.h:321
BOOLEAN CapabilitiesPtr
Definition: pci.h:296
USHORT VendorId
Definition: pci.h:284
PVOID Next
Definition: pci.h:271
BOOLEAN OnDebugPath
Definition: pci.h:312
BOOLEAN LegacyDriver
Definition: pci.h:304
BOOLEAN BIOSAllowsIDESwitchToNativeMode
Definition: pci.h:310
BOOLEAN TargetAgpCapabilityId
Definition: pci.h:323
BOOLEAN MovedDevice
Definition: pci.h:306
SINGLE_LIST_ENTRY SecondaryExtension
Definition: pci.h:281
struct _PCI_MJ_DISPATCH_TABLE * IrpDispatchTable
Definition: pci.h:273
LONG AgpInterfaceReferenceCount
Definition: pci.h:283
BOOLEAN NotPresent
Definition: pci.h:300
BOOLEAN DisablePowerDown
Definition: pci.h:307
BOOLEAN ExpectedWritebackFailure
Definition: pci.h:302
BOOLEAN NoTouchPmeEnable
Definition: pci.h:303
BOOLEAN IoSpaceUnderNativeIdeControl
Definition: pci.h:311
PCI_PMC PowerCapabilities
Definition: pci.h:322
BOOLEAN IDEInNativeMode
Definition: pci.h:309
BOOLEAN TentativeNextState
Definition: pci.h:275
PCI_FUNCTION_RESOURCES * Resources
Definition: pci.h:317
BOOLEAN RevisionId
Definition: pci.h:288
PPCI_FDO_EXTENSION ParentFdoExtension
Definition: pci.h:280
BOOLEAN IoSpaceNotRequired
Definition: pci.h:313
BOOLEAN ReportedMissing
Definition: pci.h:301
LONG CrashDump
Definition: pci.h:182
DEVICE_POWER_STATE DeviceWakeLevel
Definition: pci.h:176
DEVICE_POWER_STATE CurrentDeviceState
Definition: pci.h:174
LONG Hibernate
Definition: pci.h:181
DEVICE_POWER_STATE SystemStateMapping[7]
Definition: pci.h:177
SYSTEM_POWER_STATE CurrentSystemState
Definition: pci.h:173
SYSTEM_POWER_STATE SystemWakeLevel
Definition: pci.h:175
PIRP WaitWakeIrp
Definition: pci.h:178
LONG Paging
Definition: pci.h:180
PVOID SavedCancelRoutine
Definition: pci.h:179
ULONG FailureCode
Definition: pci.h:421
VF_FAILURE_CLASS FailureClass
Definition: pci.h:422
PCHAR DebuggerMessageText
Definition: pci.h:424
ULONG AssertionControl
Definition: pci.h:423
Definition: ntbasedef.h:640
int32_t INT32
Definition: typedefs.h:58
uint32_t * PULONG
Definition: typedefs.h:59
unsigned char UCHAR
Definition: typedefs.h:53
#define NTAPI
Definition: typedefs.h:36
uint64_t ULONGLONG
Definition: typedefs.h:67
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
#define OUT
Definition: typedefs.h:40
char * PCHAR
Definition: typedefs.h:51
struct _PCI_HEADER_TYPE_DEPENDENT::@749 type2
struct _PCI_HEADER_TYPE_DEPENDENT::@747 type0
struct _PCI_HEADER_TYPE_DEPENDENT::@748 type1
_In_ PIO_STACK_LOCATION IoStackLocation
Definition: usbdlib.h:265
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:2061
_In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
Definition: wdfdevice.h:2005
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2664
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4539
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY DeviceProperty
Definition: wdfdevice.h:3775
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
Definition: wdfdevice.h:2705
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2439
_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_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
Definition: wdfresource.h:342
_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
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