2 * PROJECT: ReactOS Native Headers
3 * FILE: include/ndk/iotypes.h
4 * PURPOSE: Definitions for exported I/O Manager Types not defined in DDK/IFS
5 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
13 /* DEPENDENCIES **************************************************************/
15 /* EXPORTED DATA *************************************************************/
16 extern POBJECT_TYPE NTOSAPI IoAdapterObjectType
;
17 extern POBJECT_TYPE NTOSAPI IoDeviceHandlerObjectType
;
18 extern POBJECT_TYPE NTOSAPI IoDeviceObjectType
;
19 extern POBJECT_TYPE NTOSAPI IoDriverObjectType
;
20 extern POBJECT_TYPE NTOSAPI IoFileObjectType
;
22 /* CONSTANTS *****************************************************************/
23 #define DOE_UNLOAD_PENDING 0x1
24 #define DOE_DELETE_PENDING 0x2
25 #define DOE_REMOVE_PENDING 0x4
26 #define DOE_REMOVE_PROCESSED 0x8
27 #define DOE_START_PENDING 0x10
29 /* ENUMERATIONS **************************************************************/
31 /* TYPES *********************************************************************/
33 typedef struct _MAILSLOT_CREATE_PARAMETERS
36 ULONG MaximumMessageSize
;
37 LARGE_INTEGER ReadTimeout
;
38 BOOLEAN TimeoutSpecified
;
39 } MAILSLOT_CREATE_PARAMETERS
, *PMAILSLOT_CREATE_PARAMETERS
;
41 typedef struct _NAMED_PIPE_CREATE_PARAMETERS
46 ULONG MaximumInstances
;
49 LARGE_INTEGER DefaultTimeout
;
50 BOOLEAN TimeoutSpecified
;
51 } NAMED_PIPE_CREATE_PARAMETERS
, *PNAMED_PIPE_CREATE_PARAMETERS
;
53 typedef struct _IO_TIMER
57 LIST_ENTRY IoTimerList
;
58 PIO_TIMER_ROUTINE TimerRoutine
;
60 PDEVICE_OBJECT DeviceObject
;
61 } IO_TIMER
, *PIO_TIMER
;