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
;
21 extern ULONG NTOSAPI IoReadOperationCount
;
22 extern ULONGLONG NTOSAPI IoReadTransferCount
;
23 extern ULONG NTOSAPI IoWriteOperationCount
;
24 extern ULONGLONG NTOSAPI IoWriteTransferCount
;
25 extern KSPIN_LOCK NTOSAPI IoStatisticsLock
;
27 /* CONSTANTS *****************************************************************/
30 #define IO_TYPE_DRIVER 4L
31 #define IO_TYPE_TIMER 9L
33 /* ENUMERATIONS **************************************************************/
35 /* TYPES *********************************************************************/
37 typedef struct _MAILSLOT_CREATE_PARAMETERS
40 ULONG MaximumMessageSize
;
41 LARGE_INTEGER ReadTimeout
;
42 BOOLEAN TimeoutSpecified
;
43 } MAILSLOT_CREATE_PARAMETERS
, *PMAILSLOT_CREATE_PARAMETERS
;
45 typedef struct _NAMED_PIPE_CREATE_PARAMETERS
50 ULONG MaximumInstances
;
53 LARGE_INTEGER DefaultTimeout
;
54 BOOLEAN TimeoutSpecified
;
55 } NAMED_PIPE_CREATE_PARAMETERS
, *PNAMED_PIPE_CREATE_PARAMETERS
;
57 typedef struct _IO_TIMER
61 LIST_ENTRY IoTimerList
;
62 PIO_TIMER_ROUTINE TimerRoutine
;
64 PDEVICE_OBJECT DeviceObject
;
65 } IO_TIMER
, *PIO_TIMER
;