Added PnP and Power structures

svn path=/trunk/; revision=1793
This commit is contained in:
Casper Hornstrup 2001-04-16 00:44:54 +00:00
parent 1648d6ba62
commit e8fc884c37
9 changed files with 77 additions and 38 deletions

View file

@ -17,6 +17,7 @@ typedef struct _AFD_SOCKET_INFORMATION {
PVOID HelperContext;
DWORD NotificationEvents;
UNICODE_STRING TdiDeviceName;
SOCKADDR Name;
} AFD_SOCKET_INFORMATION, *PAFD_SOCKET_INFORMATION;

View file

@ -197,18 +197,6 @@ enum
#define OPTIONAL
#endif
/*
* PURPOSE: Power IRP minor function numbers
*/
enum
{
IRP_MN_QUERY_POWER,
IRP_MN_SET_POWER,
IRP_MN_WAIT_WAKE,
IRP_MN_QUERY_CAPABILITIES,
IRP_MN_POWER_SEQUENCE,
};
/*
* PURPOSE: Arguments to MmProbeAndLockPages
*/
@ -226,26 +214,25 @@ enum
/*
* IRQ levels
*/
#if 0
#define PASSIVE_LEVEL (1)
#define APC_LEVEL (2)
#define DISPATCH_LEVEL (3)
#define FIRST_DEVICE_SPECIFIC_LEVEL (4)
#define HIGH_LEVEL (FIRST_DEVICE_SPECIFIC_LEVEL + NR_DEVICE_SPECIFIC_LEVELS)
#else
/* NT's IRQL */
#if 0
#define PASSIVE_LEVEL 0 // Passive release level
#define LOW_LEVEL 0 // Lowest interrupt level
#define APC_LEVEL 1 // APC interrupt level
#define DISPATCH_LEVEL 2 // Dispatcher level
#define PROFILE_LEVEL 27 // timer used for profiling.
#define CLOCK1_LEVEL 28 // Interval clock 1 level - Not used on x86
#define CLOCK2_LEVEL 28 // Interval clock 2 level
#define IPI_LEVEL 29 // Interprocessor interrupt level
#define POWER_LEVEL 30 // Power failure level
#define HIGH_LEVEL 31 // Highest interrupt level
#define SYNCH_LEVEL (IPI_LEVEL-1) // synchronization level
#define PASSIVE_LEVEL 0 // Passive release level
#define LOW_LEVEL 0 // Lowest interrupt level
#define APC_LEVEL 1 // APC interrupt level
#define DISPATCH_LEVEL 2 // Dispatcher level
#define PROFILE_LEVEL 27 // Timer used for profiling
#define CLOCK1_LEVEL 28 // Interval clock 1 level - Not used on x86
#define CLOCK2_LEVEL 28 // Interval clock 2 level
#define IPI_LEVEL 29 // Interprocessor interrupt level
#define POWER_LEVEL 30 // Power failure level
#define HIGH_LEVEL 31 // Highest interrupt level
#define SYNCH_LEVEL (IPI_LEVEL-1) // Synchronization level
#endif
#endif /* __ASM__ */

View file

@ -191,9 +191,6 @@ typedef enum _INTERFACE_TYPE
} INTERFACE_TYPE, *PINTERFACE_TYPE;
/*
* FIXME: These are not in the correct order
*/
enum
{
IRP_MJ_CREATE,
@ -218,12 +215,12 @@ enum
IRP_MJ_CREATE_MAILSLOT,
IRP_MJ_QUERY_SECURITY,
IRP_MJ_SET_SECURITY,
IRP_MJ_QUERY_POWER,//IRP_MJ_POWER ?
IRP_MJ_SET_POWER,//IRP_MJ_SYSTEM_CONTROL ?
IRP_MJ_POWER,
IRP_MJ_SYSTEM_CONTROL,
IRP_MJ_DEVICE_CHANGE,
IRP_MJ_QUERY_QUOTA,
IRP_MJ_SET_QUOTA,
IRP_MJ_PNP_POWER,//=IRP_MJ_PNP
IRP_MJ_PNP,
IRP_MJ_MAXIMUM_FUNCTION,
};
@ -235,6 +232,43 @@ enum
#define IRP_MN_VERIFY_VOLUME 0x02
#define IRP_MN_LOAD_FILE_SYSTEM 0x03
/*
* Minor function codes for IRP_MJ_POWER
*/
#define IRP_MN_WAIT_WAKE 0x00
#define IRP_MN_POWER_SEQUENCE 0x01
#define IRP_MN_SET_POWER 0x02
#define IRP_MN_QUERY_POWER 0x03
/*
* Minor function codes for IRP_MJ_PNP
*/
#define IRP_MN_START_DEVICE 0x00
#define IRP_MN_QUERY_REMOVE_DEVICE 0x01
#define IRP_MN_REMOVE_DEVICE 0x02
#define IRP_MN_CANCEL_REMOVE_DEVICE 0x03
#define IRP_MN_STOP_DEVICE 0x04
#define IRP_MN_QUERY_STOP_DEVICE 0x05
#define IRP_MN_CANCEL_STOP_DEVICE 0x06
#define IRP_MN_QUERY_DEVICE_RELATIONS 0x07
#define IRP_MN_QUERY_INTERFACE 0x08
#define IRP_MN_QUERY_CAPABILITIES 0x09
#define IRP_MN_QUERY_RESOURCES 0x0A
#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS 0x0B
#define IRP_MN_QUERY_DEVICE_TEXT 0x0C
#define IRP_MN_FILTER_RESOURCE_REQUIREMENTS 0x0D
#define IRP_MN_READ_CONFIG 0x0F
#define IRP_MN_WRITE_CONFIG 0x10
#define IRP_MN_EJECT 0x11
#define IRP_MN_SET_LOCK 0x12
#define IRP_MN_QUERY_ID 0x13
#define IRP_MN_QUERY_PNP_DEVICE_STATE 0x14
#define IRP_MN_QUERY_BUS_INFORMATION 0x15
#define IRP_MN_DEVICE_USAGE_NOTIFICATION 0x16
#define IRP_MN_SURPRISE_REMOVAL 0x17
#define IRP_MN_QUERY_LEGACY_BUS_INFORMATION 0x18
/*
* Priority increments
*/

View file

@ -1,4 +1,4 @@
/* $Id: iotypes.h,v 1.24 2001/03/31 16:01:03 phreak Exp $
/* $Id: iotypes.h,v 1.25 2001/04/16 00:44:54 chorns Exp $
*
*/
@ -473,6 +473,13 @@ typedef VOID STDCALL (*PDRIVER_STARTIO)(IN PDEVICE_OBJECT DeviceObject, IN PIRP
*/
typedef NTSTATUS (*PDRIVER_UNLOAD)(struct _DRIVER_OBJECT*);
typedef
NTSTATUS
(*PDRIVER_ADD_DEVICE)(
IN struct _DRIVER_OBJECT *DriverObject,
IN struct _DEVICE_OBJECT *PhysicalDeviceObject);
typedef struct _DRIVER_EXTENSION
{
struct _DRIVER_OBJECT* DriverObject;

View file

@ -190,8 +190,6 @@ typedef struct _KEVENT_PAIR
} KEVENT_PAIR, *PKEVENT_PAIR;
typedef VOID (*PDRIVER_ADD_DEVICE)(VOID);
struct _KDPC;
/*

View file

@ -1,4 +1,4 @@
/* $Id: ntddk.h,v 1.19 2001/02/02 20:45:36 ekohl Exp $
/* $Id: ntddk.h,v 1.20 2001/04/16 00:44:54 chorns Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -44,6 +44,8 @@ extern "C"
#include <ddk/setypes.h>
#include <ddk/mmtypes.h>
#include <ddk/iotypes.h>
#include <ddk/potypes.h>
#include <ddk/pnptypes.h>
#include <ddk/extypes.h>
#include <ddk/pstypes.h>
#include <ddk/zwtypes.h>
@ -58,6 +60,8 @@ extern "C"
#include <ddk/kdfuncs.h>
#include <ddk/kefuncs.h>
#include <ddk/iofuncs.h>
#include <ddk/pofuncs.h>
#include <ddk/pnpfuncs.h>
#include <ddk/psfuncs.h>
#include <ddk/obfuncs.h>
#include <ddk/dbgfuncs.h>

View file

@ -216,6 +216,9 @@ typedef ULONG ULONG_PTR, *PULONG_PTR;
#if defined(NDIS_MINIPORT_DRIVER) || !defined(_MSC_VER)
#ifndef GUID_DEFINED
#define GUID_DEFINED
typedef struct _GUID {
ULONG Data1;
USHORT Data2;
@ -223,6 +226,8 @@ typedef struct _GUID {
UCHAR Data4[8];
} GUID;
#endif /* GUID_DEFINED */
#endif /* NDIS_MINIPORT_DRIVER || _MSC_VER */

View file

@ -2768,7 +2768,9 @@ typedef struct _SERVICE_ADDRESSES {
DWORD dwAddressCount;
SERVICE_ADDRESS Addresses[1];
} SERVICE_ADDRESSES, *LPSERVICE_ADDRESSES;
#ifndef GUID_DEFINED
#define GUID_DEFINED
typedef struct _GUID
{
unsigned long Data1;
@ -2776,6 +2778,7 @@ typedef struct _GUID
unsigned short Data3;
unsigned char Data4[8];
} GUID, *LPGUID;
#endif
typedef GUID CLSID, *LPCLSID;
typedef struct _SERVICE_INFO {

View file

@ -365,7 +365,7 @@ typedef struct _WSAOVERLAPPED {
typedef struct __WSABUF {
ULONG len; // buffer length
CHAR FAR* buf; // poINTer to buffer
CHAR FAR* buf; // pointer to buffer
} WSABUF, FAR* LPWSABUF;