mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
- Add Rtl*SecurityObject stubs.
- Export RtlpUnWaitCriticalSection and RtlWaitForCriticalSection. - Replace DWORDs by ULONGs. svn path=/trunk/; revision=16308
This commit is contained in:
parent
a484af08a4
commit
53dea75f28
5 changed files with 162 additions and 15 deletions
|
@ -564,6 +564,43 @@ BOOLEAN
|
|||
STDCALL
|
||||
RtlValidAcl(PACL Acl);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlDeleteSecurityObject(
|
||||
IN PSECURITY_DESCRIPTOR *ObjectDescriptor
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlNewSecurityObject(
|
||||
IN PSECURITY_DESCRIPTOR ParentDescriptor,
|
||||
IN PSECURITY_DESCRIPTOR CreatorDescriptor,
|
||||
OUT PSECURITY_DESCRIPTOR *NewDescriptor,
|
||||
IN BOOLEAN IsDirectoryObject,
|
||||
IN HANDLE Token,
|
||||
IN PGENERIC_MAPPING GenericMapping
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlQuerySecurityObject(
|
||||
IN PSECURITY_DESCRIPTOR ObjectDescriptor,
|
||||
IN SECURITY_INFORMATION SecurityInformation,
|
||||
OUT PSECURITY_DESCRIPTOR ResultantDescriptor,
|
||||
IN ULONG DescriptorLength,
|
||||
OUT PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlSetSecurityObject(
|
||||
IN SECURITY_INFORMATION SecurityInformation,
|
||||
IN PSECURITY_DESCRIPTOR ModificationDescriptor,
|
||||
OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
|
||||
IN PGENERIC_MAPPING GenericMapping,
|
||||
IN HANDLE Token
|
||||
);
|
||||
|
||||
/*
|
||||
* Single-Character Functions
|
||||
*/
|
||||
|
@ -1147,32 +1184,44 @@ RtlSetEnvironmentVariable(
|
|||
NTSTATUS
|
||||
STDCALL
|
||||
RtlDeleteCriticalSection (
|
||||
PRTL_CRITICAL_SECTION CriticalSection
|
||||
IN PRTL_CRITICAL_SECTION CriticalSection
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlEnterCriticalSection(
|
||||
PRTL_CRITICAL_SECTION CriticalSection
|
||||
IN PRTL_CRITICAL_SECTION CriticalSection
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlInitializeCriticalSection(
|
||||
PRTL_CRITICAL_SECTION CriticalSection
|
||||
IN PRTL_CRITICAL_SECTION CriticalSection
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlInitializeCriticalSectionAndSpinCount(
|
||||
PRTL_CRITICAL_SECTION CriticalSection,
|
||||
ULONG SpinCount
|
||||
IN PRTL_CRITICAL_SECTION CriticalSection,
|
||||
IN ULONG SpinCount
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlLeaveCriticalSection(
|
||||
PRTL_CRITICAL_SECTION CriticalSection
|
||||
IN PRTL_CRITICAL_SECTION CriticalSection
|
||||
);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlpUnWaitCriticalSection(
|
||||
IN PRTL_CRITICAL_SECTION CriticalSection
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlpWaitForCriticalSection(
|
||||
IN PRTL_CRITICAL_SECTION CriticalSection
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
|
|
|
@ -379,7 +379,7 @@ RtlDeleteOwnersRanges@8
|
|||
RtlDeleteRange@24
|
||||
RtlDeleteRegistryValue@12
|
||||
RtlDeleteResource@4
|
||||
;RtlDeleteSecurityObject
|
||||
RtlDeleteSecurityObject@4
|
||||
RtlDeleteTimer@12
|
||||
RtlDeleteTimerQueue@4
|
||||
RtlDeleteTimerQueueEx@8
|
||||
|
@ -559,7 +559,7 @@ RtlMultiByteToUnicodeN@20
|
|||
RtlMultiByteToUnicodeSize@12
|
||||
;RtlNewInstanceSecurityObject
|
||||
;RtlNewSecurityGrantedAccess
|
||||
;RtlNewSecurityObject
|
||||
RtlNewSecurityObject@24
|
||||
RtlNormalizeProcessParams@4
|
||||
RtlNtPathNameToDosPathName@16
|
||||
RtlNtStatusToDosError@4
|
||||
|
@ -584,7 +584,7 @@ RtlQueryProcessDebugInformation@12
|
|||
;RtlQueryProcessHeapInformation
|
||||
;RtlQueryProcessLockInformation
|
||||
RtlQueryRegistryValues@20
|
||||
;RtlQuerySecurityObject
|
||||
RtlQuerySecurityObject@20
|
||||
;RtlQueryTagHeap
|
||||
RtlQueryTimeZoneInformation@4
|
||||
RtlRaiseException@4
|
||||
|
@ -621,7 +621,7 @@ RtlSetLastWin32ErrorAndNtStatusFromNtStatus@4
|
|||
RtlSetOwnerSecurityDescriptor@12
|
||||
RtlSetSaclSecurityDescriptor@16
|
||||
RtlSetSecurityDescriptorRMControl@8
|
||||
;RtlSetSecurityObject
|
||||
RtlSetSecurityObject@20
|
||||
RtlSetTimeZoneInformation@4
|
||||
;RtlSetUnicodeCallouts
|
||||
;RtlSetUserFlagsHeap
|
||||
|
@ -687,8 +687,8 @@ RtlpNtMakeTemporaryKey@4
|
|||
RtlpNtOpenKey@16
|
||||
RtlpNtQueryValueKey@20
|
||||
RtlpNtSetValueKey@16
|
||||
;RtlpUnWaitCriticalSection
|
||||
;RtlpWaitForCriticalSection
|
||||
RtlpUnWaitCriticalSection@4
|
||||
RtlpWaitForCriticalSection@4
|
||||
RtlxAnsiStringToUnicodeSize@4
|
||||
RtlxOemStringToUnicodeSize@4
|
||||
RtlxUnicodeStringToAnsiSize@4
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
<file>propvar.c</file>
|
||||
<file>rangelist.c</file>
|
||||
<file>resource.c</file>
|
||||
<file>secobj.c</file>
|
||||
<file>teb.c</file>
|
||||
<file>timerqueue.c</file>
|
||||
</directory>
|
||||
|
|
|
@ -99,10 +99,10 @@ DWORD
|
|||
STDCALL
|
||||
RtlSetCriticalSectionSpinCount(
|
||||
PRTL_CRITICAL_SECTION CriticalSection,
|
||||
DWORD SpinCount
|
||||
ULONG SpinCount
|
||||
)
|
||||
{
|
||||
DWORD OldCount = CriticalSection->SpinCount;
|
||||
ULONG OldCount = CriticalSection->SpinCount;
|
||||
|
||||
/* Set to parameter if MP, or to 0 if this is Uniprocessor */
|
||||
CriticalSection->SpinCount = (NtCurrentPeb()->NumberOfProcessors > 1) ? SpinCount : 0;
|
||||
|
@ -214,7 +214,7 @@ NTSTATUS
|
|||
STDCALL
|
||||
RtlInitializeCriticalSectionAndSpinCount (
|
||||
PRTL_CRITICAL_SECTION CriticalSection,
|
||||
DWORD SpinCount)
|
||||
ULONG SpinCount)
|
||||
{
|
||||
PRTL_CRITICAL_SECTION_DEBUG CritcalSectionDebugData;
|
||||
|
||||
|
|
97
reactos/lib/ntdll/rtl/secobj.c
Normal file
97
reactos/lib/ntdll/rtl/secobj.c
Normal file
|
@ -0,0 +1,97 @@
|
|||
/*
|
||||
* ReactOS kernel
|
||||
* Copyright (C) 2005 Eric Kohl
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
* PURPOSE: Security object implementation
|
||||
* FILE: lib/ntdll/rtl/secobj.c
|
||||
*/
|
||||
|
||||
/* INCLUDES ****************************************************************/
|
||||
|
||||
#include <ntdll.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlDeleteSecurityObject(IN PSECURITY_DESCRIPTOR *ObjectDescriptor)
|
||||
{
|
||||
DPRINT("RtlDeleteSecurityObject(%p)\n", ObjectDescriptor);
|
||||
|
||||
RtlFreeHeap(RtlGetProcessHeap(),
|
||||
0,
|
||||
*ObjectDescriptor);
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlNewSecurityObject(IN PSECURITY_DESCRIPTOR ParentDescriptor,
|
||||
IN PSECURITY_DESCRIPTOR CreatorDescriptor,
|
||||
OUT PSECURITY_DESCRIPTOR *NewDescriptor,
|
||||
IN BOOLEAN IsDirectoryObject,
|
||||
IN HANDLE Token,
|
||||
IN PGENERIC_MAPPING GenericMapping)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlQuerySecurityObject(IN PSECURITY_DESCRIPTOR ObjectDescriptor,
|
||||
IN SECURITY_INFORMATION SecurityInformation,
|
||||
OUT PSECURITY_DESCRIPTOR ResultantDescriptor,
|
||||
IN ULONG DescriptorLength,
|
||||
OUT PULONG ReturnLength)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlSetSecurityObject(IN SECURITY_INFORMATION SecurityInformation,
|
||||
IN PSECURITY_DESCRIPTOR ModificationDescriptor,
|
||||
OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
|
||||
IN PGENERIC_MAPPING GenericMapping,
|
||||
IN HANDLE Token)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/* EOF */
|
Loading…
Reference in a new issue