Fix some NDK things and missing w32api defines.
[reactos.git] / reactos / include / ndk / iotypes.h
1 /*
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)
6 * UPDATE HISTORY:
7 * Created 06/10/04
8 */
9
10 #ifndef _IOTYPES_H
11 #define _IOTYPES_H
12
13 /* DEPENDENCIES **************************************************************/
14
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
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
28
29 /* ENUMERATIONS **************************************************************/
30
31 /* TYPES *********************************************************************/
32
33 typedef struct _MAILSLOT_CREATE_PARAMETERS
34 {
35 ULONG MailslotQuota;
36 ULONG MaximumMessageSize;
37 LARGE_INTEGER ReadTimeout;
38 BOOLEAN TimeoutSpecified;
39 } MAILSLOT_CREATE_PARAMETERS, *PMAILSLOT_CREATE_PARAMETERS;
40
41 typedef struct _NAMED_PIPE_CREATE_PARAMETERS
42 {
43 ULONG NamedPipeType;
44 ULONG ReadMode;
45 ULONG CompletionMode;
46 ULONG MaximumInstances;
47 ULONG InboundQuota;
48 ULONG OutboundQuota;
49 LARGE_INTEGER DefaultTimeout;
50 BOOLEAN TimeoutSpecified;
51 } NAMED_PIPE_CREATE_PARAMETERS, *PNAMED_PIPE_CREATE_PARAMETERS;
52
53 typedef struct _IO_TIMER
54 {
55 USHORT Type;
56 USHORT TimerEnabled;
57 LIST_ENTRY IoTimerList;
58 PIO_TIMER_ROUTINE TimerRoutine;
59 PVOID Context;
60 PDEVICE_OBJECT DeviceObject;
61 } IO_TIMER, *PIO_TIMER;
62
63 #endif
64