ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

acpisys.h
Go to the documentation of this file.
00001 /*
00002  * PROJECT: ReactOS ACPI bus driver
00003  * FILE:    acpi/ospm/include/acpisys.h
00004  * PURPOSE: ACPI bus driver definitions
00005  */
00006 typedef enum _DEVICE_PNP_STATE {
00007 
00008     NotStarted = 0,         // Not started yet
00009     Started,                // Device has received the START_DEVICE IRP
00010     StopPending,            // Device has received the QUERY_STOP IRP
00011     Stopped,                // Device has received the STOP_DEVICE IRP
00012     UnKnown                 // Unknown state
00013 
00014 } DEVICE_PNP_STATE;
00015 
00016 //
00017 // A common header for the device extensions of the PDOs and FDO
00018 //
00019 
00020 typedef struct _COMMON_DEVICE_DATA
00021 {
00022     PDEVICE_OBJECT  Self;
00023     BOOLEAN         IsFDO;
00024     DEVICE_PNP_STATE DevicePnPState;
00025     DEVICE_PNP_STATE PreviousPnPState;
00026     SYSTEM_POWER_STATE  SystemPowerState;
00027     DEVICE_POWER_STATE  DevicePowerState;
00028 } COMMON_DEVICE_DATA, *PCOMMON_DEVICE_DATA;
00029 
00030 typedef struct _PDO_DEVICE_DATA
00031 {
00032     COMMON_DEVICE_DATA Common;
00033     ACPI_HANDLE AcpiHandle;
00034     // A back pointer to the bus
00035     PDEVICE_OBJECT  ParentFdo;
00036     // An array of (zero terminated wide character strings).
00037     // The array itself also null terminated
00038     PWCHAR      HardwareIDs;
00039     // Link point to hold all the PDOs for a single bus together
00040     LIST_ENTRY  Link;
00041     ULONG       InterfaceRefCount;
00042     UNICODE_STRING InterfaceName;
00043 
00044 } PDO_DEVICE_DATA, *PPDO_DEVICE_DATA;
00045 
00046 //
00047 // The device extension of the bus itself.  From whence the PDO's are born.
00048 //
00049 
00050 typedef struct _FDO_DEVICE_DATA
00051 {
00052     COMMON_DEVICE_DATA Common;
00053     PDEVICE_OBJECT  UnderlyingPDO;
00054 
00055     // The underlying bus PDO and the actual device object to which our
00056     // FDO is attached
00057     PDEVICE_OBJECT  NextLowerDriver;
00058 
00059     // List of PDOs created so far
00060     LIST_ENTRY      ListOfPDOs;
00061 
00062     // The PDOs currently enumerated.
00063     ULONG           NumPDOs;
00064 
00065     // A synchronization for access to the device extension.
00066     FAST_MUTEX      Mutex;
00067 
00068 } FDO_DEVICE_DATA, *PFDO_DEVICE_DATA;
00069 
00070 #define FDO_FROM_PDO(pdoData) \
00071           ((PFDO_DEVICE_DATA) (pdoData)->ParentFdo->DeviceExtension)
00072 
00073 #define INITIALIZE_PNP_STATE(_Data_)    \
00074         (_Data_).DevicePnPState =  NotStarted;\
00075         (_Data_).PreviousPnPState = NotStarted;
00076 
00077 #define SET_NEW_PNP_STATE(_Data_, _state_) \
00078         (_Data_).PreviousPnPState =  (_Data_).DevicePnPState;\
00079         (_Data_).DevicePnPState = (_state_);
00080 
00081 #define RESTORE_PREVIOUS_PNP_STATE(_Data_)   \
00082         (_Data_).DevicePnPState =   (_Data_).PreviousPnPState;\
00083 
00084 /* acpienum.c */
00085 
00086 NTSTATUS
00087 ACPIEnumerateDevices(
00088   PFDO_DEVICE_DATA DeviceExtension);
00089 
00090 NTSTATUS
00091 NTAPI
00092 Bus_PDO_EvalMethod(PPDO_DEVICE_DATA DeviceData,
00093                    PIRP Irp);
00094 
00095 NTSTATUS
00096 NTAPI
00097 Bus_CreateClose (
00098     PDEVICE_OBJECT  DeviceObject,
00099     PIRP            Irp
00100     );
00101 
00102 VOID
00103 Bus_DriverUnload (
00104     PDRIVER_OBJECT DriverObject
00105     );
00106 
00107 PCHAR
00108 PnPMinorFunctionString (
00109     UCHAR MinorFunction
00110 );
00111 
00112 NTSTATUS
00113 NTAPI
00114 Bus_AddDevice(
00115     PDRIVER_OBJECT DriverObject,
00116     PDEVICE_OBJECT PhysicalDeviceObject
00117     );
00118 
00119 NTSTATUS
00120 Bus_SendIrpSynchronously (
00121     PDEVICE_OBJECT DeviceObject,
00122     PIRP Irp
00123     );
00124 
00125 NTSTATUS
00126 NTAPI
00127 Bus_PnP (
00128     PDEVICE_OBJECT   DeviceObject,
00129     PIRP             Irp
00130     );
00131 
00132 NTSTATUS
00133 NTAPI
00134 Bus_CompletionRoutine(
00135      PDEVICE_OBJECT   DeviceObject,
00136      PIRP             Irp,
00137      PVOID            Context
00138     );
00139 
00140 VOID
00141 Bus_InitializePdo (
00142     PDEVICE_OBJECT      Pdo,
00143     PFDO_DEVICE_DATA    FdoData
00144     );
00145 
00146 
00147 void
00148 Bus_RemoveFdo (
00149      PFDO_DEVICE_DATA    FdoData
00150     );
00151 
00152 NTSTATUS
00153 Bus_DestroyPdo (
00154     PDEVICE_OBJECT      Device,
00155     PPDO_DEVICE_DATA    PdoData
00156     );
00157 
00158 
00159 NTSTATUS
00160 Bus_FDO_PnP (
00161      PDEVICE_OBJECT       DeviceObject,
00162      PIRP                 Irp,
00163      PIO_STACK_LOCATION   IrpStack,
00164      PFDO_DEVICE_DATA     DeviceData
00165     );
00166 
00167 
00168 NTSTATUS
00169 Bus_StartFdo (
00170       PFDO_DEVICE_DATA            FdoData,
00171       PIRP   Irp );
00172 
00173 PCHAR
00174 DbgDeviceIDString(
00175     BUS_QUERY_ID_TYPE Type
00176     );
00177 
00178 PCHAR
00179 DbgDeviceRelationString(
00180      DEVICE_RELATION_TYPE Type
00181     );
00182 
00183 NTSTATUS
00184 Bus_FDO_Power (
00185     PFDO_DEVICE_DATA    FdoData,
00186     PIRP                Irp
00187     );
00188 
00189 NTSTATUS
00190 Bus_PDO_Power (
00191     PPDO_DEVICE_DATA    PdoData,
00192     PIRP                Irp
00193     );
00194 
00195 NTSTATUS
00196 NTAPI
00197 Bus_Power (
00198      PDEVICE_OBJECT DeviceObject,
00199      PIRP Irp
00200     );
00201 
00202 PCHAR
00203 PowerMinorFunctionString (
00204     UCHAR MinorFunction
00205 );
00206 
00207 PCHAR
00208 DbgSystemPowerString(
00209      SYSTEM_POWER_STATE Type
00210     );
00211 
00212 PCHAR
00213 DbgDevicePowerString(
00214      DEVICE_POWER_STATE Type
00215     );
00216 
00217 NTSTATUS
00218 Bus_PDO_PnP (
00219      PDEVICE_OBJECT       DeviceObject,
00220      PIRP                 Irp,
00221      PIO_STACK_LOCATION   IrpStack,
00222      PPDO_DEVICE_DATA     DeviceData
00223     );
00224 
00225 NTSTATUS
00226 Bus_PDO_QueryDeviceCaps(
00227      PPDO_DEVICE_DATA     DeviceData,
00228       PIRP   Irp );
00229 
00230 NTSTATUS
00231 Bus_PDO_QueryDeviceId(
00232      PPDO_DEVICE_DATA     DeviceData,
00233       PIRP   Irp );
00234 
00235 
00236 NTSTATUS
00237 Bus_PDO_QueryDeviceText(
00238      PPDO_DEVICE_DATA     DeviceData,
00239       PIRP   Irp );
00240 
00241 NTSTATUS
00242 Bus_PDO_QueryResources(
00243      PPDO_DEVICE_DATA     DeviceData,
00244       PIRP   Irp );
00245 
00246 NTSTATUS
00247 Bus_PDO_QueryResourceRequirements(
00248      PPDO_DEVICE_DATA     DeviceData,
00249       PIRP   Irp );
00250 
00251 NTSTATUS
00252 Bus_PDO_QueryDeviceRelations(
00253      PPDO_DEVICE_DATA     DeviceData,
00254       PIRP   Irp );
00255 
00256 NTSTATUS
00257 Bus_PDO_QueryBusInformation(
00258      PPDO_DEVICE_DATA     DeviceData,
00259       PIRP   Irp );
00260 
00261 NTSTATUS
00262 Bus_GetDeviceCapabilities(
00263       PDEVICE_OBJECT          DeviceObject,
00264       PDEVICE_CAPABILITIES    DeviceCapabilities
00265     );
00266 
00267 NTSTATUS
00268 Bus_PDO_QueryInterface(
00269      PPDO_DEVICE_DATA     DeviceData,
00270       PIRP   Irp );
00271 
00272 BOOLEAN
00273 Bus_GetCrispinessLevel(
00274        PVOID Context,
00275       PUCHAR Level
00276     );
00277 BOOLEAN
00278 Bus_SetCrispinessLevel(
00279        PVOID Context,
00280       UCHAR Level
00281     );
00282 BOOLEAN
00283 Bus_IsSafetyLockEnabled(
00284      PVOID Context
00285     );
00286 VOID
00287 Bus_InterfaceReference (
00288     PVOID Context
00289    );
00290 VOID
00291 Bus_InterfaceDereference (
00292     PVOID Context
00293    );
00294 
00295 /* EOF */

Generated on Sun May 27 2012 04:27:26 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.