2 * PROJECT: ReactOS Native Headers
3 * FILE: include/ndk/obtypes.h
4 * PURPOSE: Defintions for Object Manager Types not defined in DDK/IFS
5 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
12 /* DEPENDENCIES **************************************************************/
14 /* CONSTANTS *****************************************************************/
16 /* Values for DosDeviceDriveType */
17 #define DOSDEVICE_DRIVE_UNKNOWN 0
18 #define DOSDEVICE_DRIVE_CALCULATE 1
19 #define DOSDEVICE_DRIVE_REMOVABLE 2
20 #define DOSDEVICE_DRIVE_FIXED 3
21 #define DOSDEVICE_DRIVE_REMOTE 4
22 #define DOSDEVICE_DRIVE_CDROM 5
23 #define DOSDEVICE_DRIVE_RAMDISK 6
25 /* ENUMERATIONS **************************************************************/
27 /* TYPES *********************************************************************/
29 typedef struct _OBJECT_BASIC_INFORMATION
32 ACCESS_MASK GrantedAccess
;
36 ULONG NonPagedPoolUsage
;
38 ULONG NameInformationLength
;
39 ULONG TypeInformationLength
;
40 ULONG SecurityDescriptorLength
;
41 LARGE_INTEGER CreateTime
;
42 } OBJECT_BASIC_INFORMATION
, *POBJECT_BASIC_INFORMATION
;
44 /* FIXME: Add Object Structures Here */
46 * FIXME: These will eventually become centerfold in the compliant Ob Manager
47 * For now, they are only here so Device Map is properly defined before the header
50 typedef struct _OBJECT_DIRECTORY_ENTRY
52 struct _OBJECT_DIRECTORY_ENTRY
*ChainLink
;
55 } OBJECT_DIRECTORY_ENTRY
, *POBJECT_DIRECTORY_ENTRY
;
57 #define NUMBER_HASH_BUCKETS 37
58 typedef struct _OBJECT_DIRECTORY
60 struct _OBJECT_DIRECTORY_ENTRY
*HashBuckets
[NUMBER_HASH_BUCKETS
];
61 struct _EX_PUSH_LOCK
*Lock
;
62 struct _DEVICE_MAP
*DeviceMap
;
64 } OBJECT_DIRECTORY
, *POBJECT_DIRECTORY
;
66 typedef struct _DEVICE_MAP
68 POBJECT_DIRECTORY DosDevicesDirectory
;
69 POBJECT_DIRECTORY GlobalDosDevicesDirectory
;
73 } DEVICE_MAP
, *PDEVICE_MAP
;
75 /* EXPORTED DATA *************************************************************/
77 extern NTOSAPI POBJECT_TYPE ObDirectoryType
;
78 extern NTOSAPI PDEVICE_MAP ObSystemDeviceMap
;