Large partial cleanup of ntoskrnl internal headers, mostly to delete obsoleted or...
[reactos.git] / reactos / ntoskrnl / include / internal / ob.h
index 43bb708..1fadcd3 100644 (file)
@@ -9,213 +9,8 @@
 #ifndef __INCLUDE_INTERNAL_OBJMGR_H
 #define __INCLUDE_INTERNAL_OBJMGR_H
 
-#define TAG_OBJECT_TYPE TAG('O', 'b', 'j', 'T')
-
 struct _EPROCESS;
 
-typedef enum _OB_OPEN_REASON
-{    
-    ObCreateHandle,
-    ObOpenHandle,
-    ObDuplicateHandle,
-    ObInheritHandle,
-    ObMaxOpenReason
-} OB_OPEN_REASON;
-    
-/* TEMPORARY HACK */
-typedef NTSTATUS
-(STDCALL *OB_CREATE_METHOD)(
-  PVOID  ObjectBody,
-  PVOID  Parent,
-  PWSTR  RemainingPath,
-  struct _OBJECT_ATTRIBUTES*  ObjectAttributes);
-                         
-/* Object Callbacks */
-typedef NTSTATUS
-(STDCALL *OB_OPEN_METHOD)(
-  OB_OPEN_REASON  Reason,
-  PVOID  ObjectBody,
-  PEPROCESS  Process,
-  ULONG  HandleCount,
-  ACCESS_MASK  GrantedAccess);
-
-typedef NTSTATUS 
-(STDCALL *OB_PARSE_METHOD)(
-  PVOID  Object,
-  PVOID  *NextObject,
-  PUNICODE_STRING  FullPath,
-  PWSTR  *Path,
-  ULONG  Attributes);
-                        
-typedef VOID 
-(STDCALL *OB_DELETE_METHOD)(
-  PVOID  DeletedObject);
-
-typedef VOID 
-(STDCALL *OB_CLOSE_METHOD)(
-  PVOID  ClosedObject,
-  ULONG  HandleCount);
-
-typedef VOID
-(STDCALL *OB_DUMP_METHOD)(
-  VOID);
-
-typedef NTSTATUS 
-(STDCALL *OB_OKAYTOCLOSE_METHOD)(
-  VOID);
-
-typedef NTSTATUS 
-(STDCALL *OB_QUERYNAME_METHOD)(
-  PVOID  ObjectBody,
-  POBJECT_NAME_INFORMATION  ObjectNameInfo,
-  ULONG  Length,
-  PULONG  ReturnLength);
-
-typedef PVOID 
-(STDCALL *OB_FIND_METHOD)(
-  PVOID  WinStaObject,
-  PWSTR  Name,
-  ULONG  Attributes);
-
-typedef NTSTATUS 
-(STDCALL *OB_SECURITY_METHOD)(
-  PVOID  ObjectBody,
-  SECURITY_OPERATION_CODE  OperationCode,
-  SECURITY_INFORMATION  SecurityInformation,
-  PSECURITY_DESCRIPTOR  SecurityDescriptor,
-  PULONG  BufferLength);
-
-typedef struct _OBJECT_HEADER_NAME_INFO
-{
-  struct _DIRECTORY_OBJECT  *Directory;
-  UNICODE_STRING  Name;
-  ULONG  QueryReferences;
-  ULONG  Reserved2;
-  ULONG  DbgReferenceCount;
-} OBJECT_HEADER_NAME_INFO, *POBJECT_HEADER_NAME_INFO;
-
-typedef struct _OBJECT_CREATE_INFORMATION 
-{
-  ULONG  Attributes;
-  HANDLE  RootDirectory;
-  PVOID  ParseContext;
-  KPROCESSOR_MODE  ProbeMode;
-  ULONG  PagedPoolCharge;
-  ULONG  NonPagedPoolCharge;
-  ULONG  SecurityDescriptorCharge;
-  PSECURITY_DESCRIPTOR  SecurityDescriptor;
-  PSECURITY_QUALITY_OF_SERVICE  SecurityQos;
-  SECURITY_QUALITY_OF_SERVICE  SecurityQualityOfService;
-} OBJECT_CREATE_INFORMATION, *POBJECT_CREATE_INFORMATION;
-
-typedef struct _OBJECT_TYPE_INITIALIZER
-{
-  WORD  Length;
-  UCHAR  UseDefaultObject;
-  UCHAR  CaseInsensitive;
-  ULONG  InvalidAttributes;
-  GENERIC_MAPPING  GenericMapping;
-  ULONG  ValidAccessMask;
-  UCHAR  SecurityRequired;
-  UCHAR  MaintainHandleCount;
-  UCHAR  MaintainTypeList;
-  POOL_TYPE  PoolType;
-  ULONG  DefaultPagedPoolCharge;
-  ULONG  DefaultNonPagedPoolCharge;
-  OB_DUMP_METHOD  DumpProcedure;
-  OB_OPEN_METHOD  OpenProcedure;
-  OB_CLOSE_METHOD  CloseProcedure;
-  OB_DELETE_METHOD  DeleteProcedure;
-  OB_PARSE_METHOD  ParseProcedure;
-  OB_SECURITY_METHOD  SecurityProcedure;
-  OB_QUERYNAME_METHOD  QueryNameProcedure;
-  OB_OKAYTOCLOSE_METHOD  OkayToCloseProcedure;
-} OBJECT_TYPE_INITIALIZER, *POBJECT_TYPE_INITIALIZER;
-
-typedef struct _OBJECT_TYPE
-{
-  ERESOURCE  Mutex;                    /* Used to lock the Object Type */
-  LIST_ENTRY  TypeList;                /* Links all the Types Together for Debugging */
-  UNICODE_STRING  Name;                /* Name of the Type */
-  PVOID  DefaultObject;                /* What Object to use during a Wait (ie, FileObjects wait on FileObject->Event) */
-  ULONG  Index;                        /* Index of this Type in the Object Directory */
-  ULONG  TotalNumberOfObjects;         /* Total number of objects of this type */
-  ULONG  TotalNumberOfHandles;         /* Total number of handles of this type */
-  ULONG  HighWaterNumberOfObjects;     /* Peak number of objects of this type */
-  ULONG  HighWaterNumberOfHandles;     /* Peak number of handles of this type */
-  OBJECT_TYPE_INITIALIZER  TypeInfo;   /* Information captured during type creation */
-  ULONG  Key;                          /* Key to use when allocating objects of this type */
-  ERESOURCE  ObjectLocks[4];           /* Locks for locking the Objects */
-} OBJECT_TYPE;
-
-typedef struct _OBJECT_HANDLE_COUNT_ENTRY
-{
-    struct _EPROCESS *Process;
-    ULONG HandleCount;
-} OBJECT_HANDLE_COUNT_ENTRY, *POBJECT_HANDLE_COUNT_ENTRY;
-                        
-typedef struct _OBJECT_HANDLE_COUNT_DATABASE
-{
-    ULONG CountEntries;
-    POBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];
-} OBJECT_HANDLE_COUNT_DATABASE, *POBJECT_HANDLE_COUNT_DATABASE;
-                        
-typedef struct _OBJECT_HEADER_HANDLE_INFO
-{
-    union {
-        POBJECT_HANDLE_COUNT_DATABASE HandleCountDatabase;
-        OBJECT_HANDLE_COUNT_ENTRY SingleEntry;
-    };
-} OBJECT_HEADER_HANDLE_INFO, *POBJECT_HEADER_HANDLE_INFO;
-                        
-typedef struct _OBJECT_HEADER_CREATOR_INFO
-{
-    LIST_ENTRY TypeList;
-    PVOID CreatorUniqueProcess;
-    USHORT CreatorBackTraceIndex;
-    USHORT Reserved;
-} OBJECT_HEADER_CREATOR_INFO, *POBJECT_HEADER_CREATOR_INFO;
-
-typedef PVOID POBJECT;
-
-typedef struct _QUAD
-{
-    union {
-        LONGLONG UseThisFieldToCopy;
-        float DoNotUseThisField;
-    };
-} QUAD, *PQUAD;
-
-#define OB_FLAG_CREATE_INFO    0x01 // has OBJECT_CREATE_INFO
-#define OB_FLAG_KERNEL_MODE    0x02 // created by kernel
-#define OB_FLAG_CREATOR_INFO   0x04 // has OBJECT_CREATOR_INFO
-#define OB_FLAG_EXCLUSIVE      0x08 // OBJ_EXCLUSIVE
-#define OB_FLAG_PERMANENT      0x10 // OBJ_PERMANENT
-#define OB_FLAG_SECURITY       0x20 // has security descriptor
-#define OB_FLAG_SINGLE_PROCESS 0x40 // no HandleDBList
-
-/* Will be moved to public headers once "Entry" is gone */
-typedef struct _OBJECT_HEADER
-{
-    LIST_ENTRY Entry;
-    LONG PointerCount;
-    union {
-        LONG HandleCount;
-        PVOID NextToFree;
-    };
-    POBJECT_TYPE Type;
-    UCHAR NameInfoOffset;
-    UCHAR HandleInfoOffset;
-    UCHAR QuotaInfoOffset;
-    UCHAR Flags;
-    union {
-        POBJECT_CREATE_INFORMATION ObjectCreateInfo;
-        PVOID QuotaBlockCharged;
-    };
-    PSECURITY_DESCRIPTOR SecurityDescriptor;
-    QUAD Body;
-} OBJECT_HEADER, *POBJECT_HEADER;
-
 typedef struct _DIRECTORY_OBJECT
 {
    CSHORT Type;