From 1a1adca58254a7ad900eac856f4aecb1592c1aa3 Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Thu, 23 Jun 2005 05:07:25 +0000 Subject: [PATCH] Fix two more build issues caused by greatlod's d3d header change and ndk bug svn path=/trunk/; revision=16239 --- reactos/include/ddk/d3dhal.h | 2 +- reactos/include/ndk/obtypes.h | 38 +++++++++++++++++++++++++++++++---- reactos/include/ndk/umtypes.h | 6 ++++++ 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/reactos/include/ddk/d3dhal.h b/reactos/include/ddk/d3dhal.h index d60fda2297a..9d3fc357913 100644 --- a/reactos/include/ddk/d3dhal.h +++ b/reactos/include/ddk/d3dhal.h @@ -26,7 +26,7 @@ extern "C" { #endif -#include +#include #include /***************************************************************************** diff --git a/reactos/include/ndk/obtypes.h b/reactos/include/ndk/obtypes.h index a5eb866f8f8..3c8b8c5c7dc 100644 --- a/reactos/include/ndk/obtypes.h +++ b/reactos/include/ndk/obtypes.h @@ -11,10 +11,6 @@ /* DEPENDENCIES **************************************************************/ -/* EXPORTED DATA *************************************************************/ -extern NTOSAPI POBJECT_TYPE ObDirectoryType; -extern NTOSAPI PDEVICE_MAP ObSystemDeviceMap; - /* CONSTANTS *****************************************************************/ /* Values for DosDeviceDriveType */ @@ -46,5 +42,39 @@ typedef struct _OBJECT_BASIC_INFORMATION } OBJECT_BASIC_INFORMATION, *POBJECT_BASIC_INFORMATION; /* FIXME: Add Object Structures Here */ +/* + * FIXME: These will eventually become centerfold in the compliant Ob Manager + * For now, they are only here so Device Map is properly defined before the header + * changes + */ +typedef struct _OBJECT_DIRECTORY_ENTRY +{ + struct _OBJECT_DIRECTORY_ENTRY *ChainLink; + PVOID Object; + ULONG HashValue; +} OBJECT_DIRECTORY_ENTRY, *POBJECT_DIRECTORY_ENTRY; + +#define NUMBER_HASH_BUCKETS 37 +typedef struct _OBJECT_DIRECTORY +{ + struct _OBJECT_DIRECTORY_ENTRY *HashBuckets[NUMBER_HASH_BUCKETS]; + struct _EX_PUSH_LOCK *Lock; + struct _DEVICE_MAP *DeviceMap; + ULONG SessionId; +} OBJECT_DIRECTORY, *POBJECT_DIRECTORY; + +typedef struct _DEVICE_MAP +{ + POBJECT_DIRECTORY DosDevicesDirectory; + POBJECT_DIRECTORY GlobalDosDevicesDirectory; + ULONG ReferenceCount; + ULONG DriveMap; + UCHAR DriveType[32]; +} DEVICE_MAP, *PDEVICE_MAP; + +/* EXPORTED DATA *************************************************************/ + +extern NTOSAPI POBJECT_TYPE ObDirectoryType; +extern NTOSAPI PDEVICE_MAP ObSystemDeviceMap; #endif diff --git a/reactos/include/ndk/umtypes.h b/reactos/include/ndk/umtypes.h index 4938d30951c..0557e471874 100644 --- a/reactos/include/ndk/umtypes.h +++ b/reactos/include/ndk/umtypes.h @@ -104,6 +104,12 @@ #define FSCTL_PIPE_INTERNAL_READ_OVFLOW \ CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2048, METHOD_BUFFERED, FILE_READ_DATA) +/* Macros for current Process/Thread built-in 'special' ID */ +#define NtCurrentProcess() ( (HANDLE)(LONG_PTR) -1 ) +#define ZwCurrentProcess() NtCurrentProcess() +#define NtCurrentThread() ( (HANDLE)(LONG_PTR) -2 ) +#define ZwCurrentThread() NtCurrentThread() + /* Kernel Shared Data Constants */ #define PROCESSOR_FEATURE_MAX 64 #define SharedUserData ((KUSER_SHARED_DATA * CONST) USER_SHARED_DATA)