From a6f1511ecba2d724fc13b8c3be4a85f82e27607c Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Tue, 13 Sep 2005 23:48:54 +0000 Subject: [PATCH] ntoskrnl header cleanups svn path=/trunk/; revision=17845 --- reactos/include/ndk/pstypes.h | 6 + reactos/ntoskrnl/include/internal/ob.h | 239 +++++++++++++---------- reactos/ntoskrnl/include/internal/po.h | 2 + reactos/ntoskrnl/include/internal/port.h | 224 +++++++++++---------- reactos/ntoskrnl/lpc/port.c | 4 +- reactos/ntoskrnl/ob/handle.c | 9 +- reactos/ntoskrnl/ob/namespc.c | 2 + reactos/ntoskrnl/ob/object.c | 2 + reactos/ntoskrnl/ob/sdcache.c | 5 + reactos/ntoskrnl/ob/symlink.c | 1 + reactos/ntoskrnl/po/power.c | 2 + 11 files changed, 286 insertions(+), 210 deletions(-) diff --git a/reactos/include/ndk/pstypes.h b/reactos/include/ndk/pstypes.h index 15684099070..9c170f60ecd 100644 --- a/reactos/include/ndk/pstypes.h +++ b/reactos/include/ndk/pstypes.h @@ -499,6 +499,12 @@ typedef struct _PS_IMPERSONATION_INFORMATION SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; } PS_IMPERSONATION_INFORMATION, *PPS_IMPERSONATION_INFORMATION; +typedef struct _TERMINATION_PORT +{ + struct _TERMINATION_PORT *Next; + PVOID Port; +} TERMINATION_PORT, *PTERMINATION_PORT; + #include typedef struct _ETHREAD { diff --git a/reactos/ntoskrnl/include/internal/ob.h b/reactos/ntoskrnl/include/internal/ob.h index 6545ee4cd29..ae3c5a7f3d6 100644 --- a/reactos/ntoskrnl/include/internal/ob.h +++ b/reactos/ntoskrnl/include/internal/ob.h @@ -11,42 +11,40 @@ struct _EPROCESS; +#define ICIF_QUERY 0x1 +#define ICIF_SET 0x2 +#define ICIF_QUERY_SIZE_VARIABLE 0x4 +#define ICIF_SET_SIZE_VARIABLE 0x8 +#define ICIF_SIZE_VARIABLE (ICIF_QUERY_SIZE_VARIABLE | ICIF_SET_SIZE_VARIABLE) + typedef struct _DIRECTORY_OBJECT { - CSHORT Type; - CSHORT Size; + CSHORT Type; + CSHORT Size; /* * PURPOSE: Head of the list of our subdirectories */ - LIST_ENTRY head; - KSPIN_LOCK Lock; + LIST_ENTRY head; + KSPIN_LOCK Lock; } DIRECTORY_OBJECT, *PDIRECTORY_OBJECT; typedef struct _SYMLINK_OBJECT { - CSHORT Type; - CSHORT Size; - UNICODE_STRING TargetName; - LARGE_INTEGER CreateTime; + CSHORT Type; + CSHORT Size; + UNICODE_STRING TargetName; + LARGE_INTEGER CreateTime; } SYMLINK_OBJECT, *PSYMLINK_OBJECT; -/* - * Enumeration of object types - */ -enum +typedef struct _INFORMATION_CLASS_INFO { - OBJTYP_INVALID, - OBJTYP_TYPE, - OBJTYP_DIRECTORY, - OBJTYP_SYMLNK, - OBJTYP_DEVICE, - OBJTYP_THREAD, - OBJTYP_FILE, - OBJTYP_PROCESS, - OBJTYP_SECTION, - OBJTYP_MAX, -}; + ULONG RequiredSizeQUERY; + ULONG RequiredSizeSET; + ULONG AlignmentSET; + ULONG AlignmentQUERY; + ULONG Flags; +} INFORMATION_CLASS_INFO, *PINFORMATION_CLASS_INFO; #define BODY_TO_HEADER(objbdy) \ CONTAINING_RECORD((objbdy), OBJECT_HEADER, Body) @@ -62,10 +60,6 @@ enum #define OBJECT_ALLOC_SIZE(ObjectSize) ((ObjectSize)+sizeof(OBJECT_HEADER)) -extern PDIRECTORY_OBJECT NameSpaceRoot; -extern POBJECT_TYPE ObSymbolicLinkType; -extern PHANDLE_TABLE ObpKernelHandleTable; - #define KERNEL_HANDLE_FLAG (1 << ((sizeof(HANDLE) * 8) - 1)) #define ObIsKernelHandle(Handle, ProcessorMode) \ (((ULONG_PTR)(Handle) & KERNEL_HANDLE_FLAG) && \ @@ -73,94 +67,152 @@ extern PHANDLE_TABLE ObpKernelHandleTable; #define ObKernelHandleToHandle(Handle) \ (HANDLE)((ULONG_PTR)(Handle) & ~KERNEL_HANDLE_FLAG) -VOID ObpAddEntryDirectory(PDIRECTORY_OBJECT Parent, - POBJECT_HEADER Header, - PWSTR Name); -VOID ObpRemoveEntryDirectory(POBJECT_HEADER Header); +extern PDIRECTORY_OBJECT NameSpaceRoot; +extern POBJECT_TYPE ObSymbolicLinkType; +extern PHANDLE_TABLE ObpKernelHandleTable; VOID +NTAPI +ObpAddEntryDirectory( + PDIRECTORY_OBJECT Parent, + POBJECT_HEADER Header, + PWSTR Name +); + +VOID +NTAPI +ObpRemoveEntryDirectory(POBJECT_HEADER Header); + +VOID +NTAPI ObInitSymbolicLinkImplementation(VOID); +NTSTATUS +NTAPI +ObpCreateHandle( + struct _EPROCESS* Process, + PVOID ObjectBody, + ACCESS_MASK GrantedAccess, + BOOLEAN Inherit, + PHANDLE Handle +); -NTSTATUS ObpCreateHandle(struct _EPROCESS* Process, - PVOID ObjectBody, - ACCESS_MASK GrantedAccess, - BOOLEAN Inherit, - PHANDLE Handle); -VOID ObCreateHandleTable(struct _EPROCESS* Parent, - BOOLEAN Inherit, - struct _EPROCESS* Process); -NTSTATUS ObFindObject(POBJECT_CREATE_INFORMATION ObjectCreateInfo, - PUNICODE_STRING ObjectName, - PVOID* ReturnedObject, - PUNICODE_STRING RemainingPath, - POBJECT_TYPE ObjectType); +VOID +NTAPI +ObCreateHandleTable( + struct _EPROCESS* Parent, + BOOLEAN Inherit, + struct _EPROCESS* Process +); NTSTATUS -ObpQueryHandleAttributes(HANDLE Handle, - POBJECT_HANDLE_ATTRIBUTE_INFORMATION HandleInfo); +NTAPI +ObFindObject( + POBJECT_CREATE_INFORMATION ObjectCreateInfo, + PUNICODE_STRING ObjectName, + PVOID* ReturnedObject, + PUNICODE_STRING RemainingPath, + POBJECT_TYPE ObjectType +); NTSTATUS -ObpSetHandleAttributes(HANDLE Handle, - POBJECT_HANDLE_ATTRIBUTE_INFORMATION HandleInfo); +NTAPI +ObpQueryHandleAttributes( + HANDLE Handle, + POBJECT_HANDLE_ATTRIBUTE_INFORMATION HandleInfo +); + +NTSTATUS +NTAPI +ObpSetHandleAttributes( + HANDLE Handle, + POBJECT_HANDLE_ATTRIBUTE_INFORMATION HandleInfo +); NTSTATUS STDCALL -ObpCreateTypeObject(struct _OBJECT_TYPE_INITIALIZER *ObjectTypeInitializer, - PUNICODE_STRING TypeName, - POBJECT_TYPE *ObjectType); +ObpCreateTypeObject( + struct _OBJECT_TYPE_INITIALIZER *ObjectTypeInitializer, + PUNICODE_STRING TypeName, + POBJECT_TYPE *ObjectType +); ULONG +NTAPI ObGetObjectHandleCount(PVOID Object); + NTSTATUS -ObDuplicateObject(PEPROCESS SourceProcess, - PEPROCESS TargetProcess, - HANDLE SourceHandle, - PHANDLE TargetHandle, - ACCESS_MASK DesiredAccess, - BOOLEAN InheritHandle, - ULONG Options); +NTAPI +ObDuplicateObject( + PEPROCESS SourceProcess, + PEPROCESS TargetProcess, + HANDLE SourceHandle, + PHANDLE TargetHandle, + ACCESS_MASK DesiredAccess, + BOOLEAN InheritHandle, + ULONG Options +); ULONG +NTAPI ObpGetHandleCountByHandleTable(PHANDLE_TABLE HandleTable); VOID STDCALL -ObQueryDeviceMapInformation(PEPROCESS Process, PPROCESS_DEVICEMAP_INFORMATION DeviceMapInfo); +ObQueryDeviceMapInformation( + PEPROCESS Process, + PPROCESS_DEVICEMAP_INFORMATION DeviceMapInfo +); -VOID FASTCALL -ObpSetPermanentObject (IN PVOID ObjectBody, IN BOOLEAN Permanent); +VOID +FASTCALL +ObpSetPermanentObject( + IN PVOID ObjectBody, + IN BOOLEAN Permanent +); VOID STDCALL ObKillProcess(PEPROCESS Process); + /* Security descriptor cache functions */ NTSTATUS +NTAPI ObpInitSdCache(VOID); NTSTATUS -ObpAddSecurityDescriptor(IN PSECURITY_DESCRIPTOR SourceSD, - OUT PSECURITY_DESCRIPTOR *DestinationSD); +NTAPI +ObpAddSecurityDescriptor( + IN PSECURITY_DESCRIPTOR SourceSD, + OUT PSECURITY_DESCRIPTOR *DestinationSD +); NTSTATUS +NTAPI ObpRemoveSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor); VOID +NTAPI ObpReferenceCachedSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor); VOID +NTAPI ObpDereferenceCachedSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor); VOID FASTCALL -ObInitializeFastReference(IN PEX_FAST_REF FastRef, - PVOID Object); +ObInitializeFastReference( + IN PEX_FAST_REF FastRef, + PVOID Object +); PVOID FASTCALL -ObFastReplaceObject(IN PEX_FAST_REF FastRef, - PVOID Object); +ObFastReplaceObject( + IN PEX_FAST_REF FastRef, + PVOID Object +); PVOID FASTCALL @@ -168,32 +220,30 @@ ObFastReferenceObject(IN PEX_FAST_REF FastRef); VOID FASTCALL -ObFastDereferenceObject(IN PEX_FAST_REF FastRef, - PVOID Object); +ObFastDereferenceObject( + IN PEX_FAST_REF FastRef, + PVOID Object +); /* Secure object information functions */ -typedef struct _CAPTURED_OBJECT_ATTRIBUTES -{ - HANDLE RootDirectory; - ULONG Attributes; - PSECURITY_DESCRIPTOR SecurityDescriptor; - PSECURITY_QUALITY_OF_SERVICE SecurityQualityOfService; -} CAPTURED_OBJECT_ATTRIBUTES, *PCAPTURED_OBJECT_ATTRIBUTES; +NTSTATUS +STDCALL +ObpCaptureObjectName( + IN PUNICODE_STRING CapturedName, + IN PUNICODE_STRING ObjectName, + IN KPROCESSOR_MODE AccessMode +); NTSTATUS STDCALL -ObpCaptureObjectName(IN PUNICODE_STRING CapturedName, - IN PUNICODE_STRING ObjectName, - IN KPROCESSOR_MODE AccessMode); - -NTSTATUS -STDCALL -ObpCaptureObjectAttributes(IN POBJECT_ATTRIBUTES ObjectAttributes, - IN KPROCESSOR_MODE AccessMode, - IN POBJECT_TYPE ObjectType, - IN POBJECT_CREATE_INFORMATION ObjectCreateInfo, - OUT PUNICODE_STRING ObjectName); +ObpCaptureObjectAttributes( + IN POBJECT_ATTRIBUTES ObjectAttributes, + IN KPROCESSOR_MODE AccessMode, + IN POBJECT_TYPE ObjectType, + IN POBJECT_CREATE_INFORMATION ObjectCreateInfo, + OUT PUNICODE_STRING ObjectName +); VOID STDCALL @@ -201,21 +251,6 @@ ObpReleaseCapturedAttributes(IN POBJECT_CREATE_INFORMATION ObjectCreateInfo); /* object information classes */ -#define ICIF_QUERY 0x1 -#define ICIF_SET 0x2 -#define ICIF_QUERY_SIZE_VARIABLE 0x4 -#define ICIF_SET_SIZE_VARIABLE 0x8 -#define ICIF_SIZE_VARIABLE (ICIF_QUERY_SIZE_VARIABLE | ICIF_SET_SIZE_VARIABLE) - -typedef struct _INFORMATION_CLASS_INFO -{ - ULONG RequiredSizeQUERY; - ULONG RequiredSizeSET; - ULONG AlignmentSET; - ULONG AlignmentQUERY; - ULONG Flags; -} INFORMATION_CLASS_INFO, *PINFORMATION_CLASS_INFO; - #define ICI_SQ_SAME(Size, Alignment, Flags) \ { Size, Size, Alignment, Alignment, Flags } diff --git a/reactos/ntoskrnl/include/internal/po.h b/reactos/ntoskrnl/include/internal/po.h index 6ecd3711d39..cbd0937d760 100644 --- a/reactos/ntoskrnl/include/internal/po.h +++ b/reactos/ntoskrnl/include/internal/po.h @@ -4,12 +4,14 @@ extern PDEVICE_NODE PopSystemPowerDeviceNode; VOID +NTAPI PoInit( PLOADER_PARAMETER_BLOCK LoaderBlock, BOOLEAN ForceAcpiDisable ); NTSTATUS +NTAPI PopSetSystemPowerState(SYSTEM_POWER_STATE PowerState); #endif /* __NTOSKRNL_INCLUDE_INTERNAL_PO_H */ diff --git a/reactos/ntoskrnl/include/internal/port.h b/reactos/ntoskrnl/include/internal/port.h index 0bdce16d3f4..f6c0ad4965d 100644 --- a/reactos/ntoskrnl/include/internal/port.h +++ b/reactos/ntoskrnl/include/internal/port.h @@ -1,69 +1,6 @@ #ifndef __INCLUDE_INTERNAL_PORT_H #define __INCLUDE_INTERNAL_PORT_H -typedef struct _EPORT_LISTENER -{ - HANDLE ListenerPid; - LIST_ENTRY ListenerListEntry; -} EPORT_LISTENER, *PEPORT_LISTENER; - -typedef struct _EPORT -{ - KSPIN_LOCK Lock; - KSEMAPHORE Semaphore; - - USHORT Type; - USHORT State; - - struct _EPORT * RequestPort; - struct _EPORT * OtherPort; - - ULONG QueueLength; - LIST_ENTRY QueueListHead; - - ULONG ConnectQueueLength; - LIST_ENTRY ConnectQueueListHead; - - ULONG MaxDataLength; - ULONG MaxConnectInfoLength; - ULONG MaxPoolUsage; /* size of NP zone */ -} EPORT, * PEPORT; - -typedef struct _EPORT_CONNECT_REQUEST_MESSAGE -{ - PORT_MESSAGE MessageHeader; - PEPROCESS ConnectingProcess; - struct _SECTION_OBJECT* SendSectionObject; - LARGE_INTEGER SendSectionOffset; - ULONG SendViewSize; - ULONG ConnectDataLength; - UCHAR ConnectData[0]; -} EPORT_CONNECT_REQUEST_MESSAGE, *PEPORT_CONNECT_REQUEST_MESSAGE; - -typedef struct _EPORT_CONNECT_REPLY_MESSAGE -{ - PORT_MESSAGE MessageHeader; - PVOID SendServerViewBase; - ULONG ReceiveClientViewSize; - PVOID ReceiveClientViewBase; - ULONG MaximumMessageSize; - ULONG ConnectDataLength; - UCHAR ConnectData[0]; -} EPORT_CONNECT_REPLY_MESSAGE, *PEPORT_CONNECT_REPLY_MESSAGE; - -typedef struct _TERMINATION_PORT { - struct _TERMINATION_PORT *Next; - PVOID Port; -} TERMINATION_PORT, *PTERMINATION_PORT; - -NTSTATUS STDCALL -LpcRequestPort (PEPORT Port, - PPORT_MESSAGE LpcMessage); -NTSTATUS -STDCALL -LpcSendTerminationPort (PEPORT Port, - LARGE_INTEGER CreationTime); - /* EPORT.Type */ #define EPORT_TYPE_SERVER_RQST_PORT (0) @@ -81,68 +18,143 @@ LpcSendTerminationPort (PEPORT Port, #define EPORT_CONNECTED_SERVER (6) #define EPORT_DISCONNECTED (7) -/* Pool Tags */ +extern POBJECT_TYPE LpcPortObjectType; +extern ULONG LpcpNextMessageId; +extern FAST_MUTEX LpcpLock; + +typedef struct _EPORT_LISTENER +{ + HANDLE ListenerPid; + LIST_ENTRY ListenerListEntry; +} EPORT_LISTENER, *PEPORT_LISTENER; + +typedef struct _EPORT +{ + KSPIN_LOCK Lock; + KSEMAPHORE Semaphore; + USHORT Type; + USHORT State; + struct _EPORT *RequestPort; + struct _EPORT *OtherPort; + ULONG QueueLength; + LIST_ENTRY QueueListHead; + ULONG ConnectQueueLength; + LIST_ENTRY ConnectQueueListHead; + ULONG MaxDataLength; + ULONG MaxConnectInfoLength; + ULONG MaxPoolUsage; /* size of NP zone */ +} EPORT, *PEPORT; + +typedef struct _EPORT_CONNECT_REQUEST_MESSAGE +{ + PORT_MESSAGE MessageHeader; + PEPROCESS ConnectingProcess; + struct _SECTION_OBJECT* SendSectionObject; + LARGE_INTEGER SendSectionOffset; + ULONG SendViewSize; + ULONG ConnectDataLength; + UCHAR ConnectData[0]; +} EPORT_CONNECT_REQUEST_MESSAGE, *PEPORT_CONNECT_REQUEST_MESSAGE; + +typedef struct _EPORT_CONNECT_REPLY_MESSAGE +{ + PORT_MESSAGE MessageHeader; + PVOID SendServerViewBase; + ULONG ReceiveClientViewSize; + PVOID ReceiveClientViewBase; + ULONG MaximumMessageSize; + ULONG ConnectDataLength; + UCHAR ConnectData[0]; +} EPORT_CONNECT_REPLY_MESSAGE, *PEPORT_CONNECT_REPLY_MESSAGE; typedef struct _QUEUEDMESSAGE { - PEPORT Sender; - LIST_ENTRY QueueListEntry; - PORT_MESSAGE Message; -} QUEUEDMESSAGE, *PQUEUEDMESSAGE; + PEPORT Sender; + LIST_ENTRY QueueListEntry; + PORT_MESSAGE Message; +} QUEUEDMESSAGE, *PQUEUEDMESSAGE; + +NTSTATUS +STDCALL +LpcRequestPort( + PEPORT Port, + PPORT_MESSAGE LpcMessage +); + +NTSTATUS +STDCALL +LpcSendTerminationPort( + PEPORT Port, + LARGE_INTEGER CreationTime +); /* Code in ntoskrnl/lpc/close.h */ -VOID STDCALL -LpcpClosePort (PVOID ObjectBody, - ULONG HandleCount); -VOID STDCALL -LpcpDeletePort (IN PVOID ObjectBody); +VOID +STDCALL +LpcpClosePort( + PVOID ObjectBody, + ULONG HandleCount +); + +VOID +STDCALL +LpcpDeletePort(IN PVOID ObjectBody); /* Code in ntoskrnl/lpc/queue.c */ -VOID STDCALL -EiEnqueueConnectMessagePort (IN OUT PEPORT Port, - IN PQUEUEDMESSAGE Message); -VOID STDCALL -EiEnqueueMessagePort (IN OUT PEPORT Port, - IN PQUEUEDMESSAGE Message); -VOID STDCALL -EiEnqueueMessageAtHeadPort (IN OUT PEPORT Port, - IN PQUEUEDMESSAGE Message); +VOID +STDCALL +EiEnqueueConnectMessagePort( + IN OUT PEPORT Port, + IN PQUEUEDMESSAGE Message +); + +VOID +STDCALL +EiEnqueueMessagePort( + IN OUT PEPORT Port, + IN PQUEUEDMESSAGE Message +); + +VOID +STDCALL +EiEnqueueMessageAtHeadPort( + IN OUT PEPORT Port, + IN PQUEUEDMESSAGE Message +); + PQUEUEDMESSAGE STDCALL -EiDequeueConnectMessagePort (IN OUT PEPORT Port); -PQUEUEDMESSAGE STDCALL -EiDequeueMessagePort (IN OUT PEPORT Port); +EiDequeueConnectMessagePort(IN OUT PEPORT Port); -/* Code in ntoskrnl/lpc/create.c */ - -NTSTATUS STDCALL -NiCreatePort (PVOID ObjectBody, - PVOID Parent, - PWSTR RemainingPath, - POBJECT_ATTRIBUTES ObjectAttributes); +PQUEUEDMESSAGE +STDCALL +EiDequeueMessagePort(IN OUT PEPORT Port); /* Code in ntoskrnl/lpc/port.c */ -NTSTATUS STDCALL -LpcpInitializePort (IN OUT PEPORT Port, - IN USHORT Type, - IN PEPORT Parent OPTIONAL); NTSTATUS -LpcpInitSystem (VOID); +STDCALL +LpcpInitializePort( + IN OUT PEPORT Port, + IN USHORT Type, + IN PEPORT Parent OPTIONAL +); -extern POBJECT_TYPE LpcPortObjectType; -extern ULONG LpcpNextMessageId; -extern FAST_MUTEX LpcpLock; +NTSTATUS +NTAPI +LpcpInitSystem (VOID); /* Code in ntoskrnl/lpc/reply.c */ -NTSTATUS STDCALL -EiReplyOrRequestPort (IN PEPORT Port, - IN PPORT_MESSAGE LpcReply, - IN ULONG MessageType, - IN PEPORT Sender); - +NTSTATUS +STDCALL +EiReplyOrRequestPort( + IN PEPORT Port, + IN PPORT_MESSAGE LpcReply, + IN ULONG MessageType, + IN PEPORT Sender +); #endif /* __INCLUDE_INTERNAL_PORT_H */ diff --git a/reactos/ntoskrnl/lpc/port.c b/reactos/ntoskrnl/lpc/port.c index 6f361e2c8b8..7a0a4350fa0 100644 --- a/reactos/ntoskrnl/lpc/port.c +++ b/reactos/ntoskrnl/lpc/port.c @@ -32,7 +32,9 @@ static GENERIC_MAPPING LpcpPortMapping = /* FUNCTIONS *****************************************************************/ -NTSTATUS INIT_FUNCTION +NTSTATUS +INIT_FUNCTION +NTAPI LpcpInitSystem (VOID) { OBJECT_TYPE_INITIALIZER ObjectTypeInitializer; diff --git a/reactos/ntoskrnl/ob/handle.c b/reactos/ntoskrnl/ob/handle.c index bb09d3654da..617676611a9 100644 --- a/reactos/ntoskrnl/ob/handle.c +++ b/reactos/ntoskrnl/ob/handle.c @@ -85,6 +85,7 @@ ObpDecrementHandleCount(PVOID ObjectBody) NTSTATUS +NTAPI ObpQueryHandleAttributes(HANDLE Handle, POBJECT_HANDLE_ATTRIBUTE_INFORMATION HandleInfo) { @@ -128,6 +129,7 @@ ObpQueryHandleAttributes(HANDLE Handle, NTSTATUS +NTAPI ObpSetHandleAttributes(HANDLE Handle, POBJECT_HANDLE_ATTRIBUTE_INFORMATION HandleInfo) { @@ -227,6 +229,7 @@ ObpDeleteHandle(PHANDLE_TABLE HandleTable, NTSTATUS +NTAPI ObDuplicateObject(PEPROCESS SourceProcess, PEPROCESS TargetProcess, HANDLE SourceHandle, @@ -540,7 +543,9 @@ DuplicateHandleCallback(PHANDLE_TABLE HandleTable, return Ret; } -VOID ObCreateHandleTable(PEPROCESS Parent, +VOID +NTAPI +ObCreateHandleTable(PEPROCESS Parent, BOOLEAN Inherit, PEPROCESS Process) /* @@ -582,6 +587,7 @@ ObKillProcess(PEPROCESS Process) NTSTATUS +NTAPI ObpCreateHandle(PEPROCESS Process, PVOID ObjectBody, ACCESS_MASK GrantedAccess, @@ -1139,6 +1145,7 @@ ObInsertObject(IN PVOID Object, ULONG +NTAPI ObpGetHandleCountByHandleTable(PHANDLE_TABLE HandleTable) { return HandleTable->HandleCount; diff --git a/reactos/ntoskrnl/ob/namespc.c b/reactos/ntoskrnl/ob/namespc.c index 31be0d2da70..0add8fa48a5 100644 --- a/reactos/ntoskrnl/ob/namespc.c +++ b/reactos/ntoskrnl/ob/namespc.c @@ -239,6 +239,7 @@ ObQueryDeviceMapInformation(PEPROCESS Process, } VOID +NTAPI ObpAddEntryDirectory(PDIRECTORY_OBJECT Parent, POBJECT_HEADER Header, PWSTR Name) @@ -262,6 +263,7 @@ ObpAddEntryDirectory(PDIRECTORY_OBJECT Parent, VOID +NTAPI ObpRemoveEntryDirectory(POBJECT_HEADER Header) /* * FUNCTION: Remove an entry from a namespace directory diff --git a/reactos/ntoskrnl/ob/object.c b/reactos/ntoskrnl/ob/object.c index f931029fd22..8cf4de135f6 100644 --- a/reactos/ntoskrnl/ob/object.c +++ b/reactos/ntoskrnl/ob/object.c @@ -288,6 +288,7 @@ ObpReleaseCapturedAttributes(IN POBJECT_CREATE_INFORMATION ObjectCreateInfo) * RETURN VALUE */ NTSTATUS +NTAPI ObFindObject(POBJECT_CREATE_INFORMATION ObjectCreateInfo, PUNICODE_STRING ObjectName, PVOID* ReturnedObject, @@ -1247,6 +1248,7 @@ ObGetObjectPointerCount(PVOID Object) * Reference count. */ ULONG +NTAPI ObGetObjectHandleCount(PVOID Object) { POBJECT_HEADER Header; diff --git a/reactos/ntoskrnl/ob/sdcache.c b/reactos/ntoskrnl/ob/sdcache.c index c7c300d43b8..d7dffbf7e01 100644 --- a/reactos/ntoskrnl/ob/sdcache.c +++ b/reactos/ntoskrnl/ob/sdcache.c @@ -36,6 +36,7 @@ FAST_MUTEX ObpSdCacheMutex; /* FUNCTIONS ****************************************************************/ NTSTATUS +NTAPI ObpInitSdCache(VOID) { ULONG i; @@ -207,6 +208,7 @@ ObpCompareSecurityDescriptors(IN PSECURITY_DESCRIPTOR Sd1, NTSTATUS +NTAPI ObpAddSecurityDescriptor(IN PSECURITY_DESCRIPTOR SourceSD, OUT PSECURITY_DESCRIPTOR *DestinationSD) { @@ -277,6 +279,7 @@ ObpAddSecurityDescriptor(IN PSECURITY_DESCRIPTOR SourceSD, NTSTATUS +NTAPI ObpRemoveSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor) { PSD_CACHE_ENTRY CacheEntry; @@ -305,6 +308,7 @@ ObpRemoveSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor) VOID +NTAPI ObpReferenceCachedSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor) { PSD_CACHE_ENTRY CacheEntry; @@ -325,6 +329,7 @@ ObpReferenceCachedSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor) VOID +NTAPI ObpDereferenceCachedSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor) { DPRINT("ObpDereferenceCachedSecurityDescriptor() called\n"); diff --git a/reactos/ntoskrnl/ob/symlink.c b/reactos/ntoskrnl/ob/symlink.c index 896bbe9778c..371cc9b1039 100644 --- a/reactos/ntoskrnl/ob/symlink.c +++ b/reactos/ntoskrnl/ob/symlink.c @@ -131,6 +131,7 @@ ObpParseSymbolicLink(PVOID Object, */ VOID INIT_FUNCTION +NTAPI ObInitSymbolicLinkImplementation (VOID) { UNICODE_STRING Name; diff --git a/reactos/ntoskrnl/po/power.c b/reactos/ntoskrnl/po/power.c index b813944efc1..51aae8677b1 100644 --- a/reactos/ntoskrnl/po/power.c +++ b/reactos/ntoskrnl/po/power.c @@ -229,6 +229,7 @@ PoUnregisterSystemState( } NTSTATUS +NTAPI PopSetSystemPowerState( SYSTEM_POWER_STATE PowerState) { @@ -291,6 +292,7 @@ PopSetSystemPowerState( VOID INIT_FUNCTION +NTAPI PoInit(PLOADER_PARAMETER_BLOCK LoaderBlock, BOOLEAN ForceAcpiDisable) {