- Implement RtlGetLastNtStatus, RtlGetLastWin32Error, RtlRestoreLastWin32Error, RtlSe...
[reactos.git] / reactos / include / ntos / rtl.h
index e3276f8..6623ea5 100755 (executable)
@@ -521,7 +521,7 @@ PushEntryList (
 
 NTSTATUS STDCALL
 RtlAbsoluteToSelfRelativeSD (PSECURITY_DESCRIPTOR AbsSD,
-                            PSECURITY_DESCRIPTOR RelSD,
+                            PSECURITY_DESCRIPTOR_RELATIVE RelSD,
                             PULONG BufferLength);
 
 NTSTATUS STDCALL
@@ -852,6 +852,10 @@ NTSTATUS STDCALL
 RtlCreateSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
                             ULONG Revision);
 
+NTSTATUS STDCALL
+RtlCreateSecurityDescriptorRelative (PSECURITY_DESCRIPTOR_RELATIVE SecurityDescriptor,
+                                    ULONG Revision);
+
 NTSTATUS
 STDCALL
 RtlCreateSystemVolumeInformationFolder(
@@ -1315,6 +1319,12 @@ RtlGetGroupSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
                               PSID* Group,
                               PBOOLEAN GroupDefaulted);
 
+NTSTATUS STDCALL
+RtlGetLastNtStatus(VOID);
+
+ULONG STDCALL
+RtlGetLastWin32Error(VOID);
+
 NTSTATUS STDCALL
 RtlGetNextRange (IN OUT PRTL_RANGE_LIST_ITERATOR Iterator,
                 OUT PRTL_RANGE *Range,
@@ -1337,6 +1347,10 @@ RtlGetSaclSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
                              PACL* Sacl,
                              PBOOLEAN SaclDefaulted);
 
+BOOLEAN STDCALL
+RtlGetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR SecurityDescriptor,
+                                 PUCHAR RMControl);
+
 NTSTATUS
 STDCALL
 RtlGetSetBootStatusData(
@@ -1995,7 +2009,7 @@ RtlLookupElementGenericTableFullAvl (
 
 NTSTATUS STDCALL
 RtlMakeSelfRelativeSD (PSECURITY_DESCRIPTOR AbsSD,
-                      PSECURITY_DESCRIPTOR RelSD,
+                      PSECURITY_DESCRIPTOR_RELATIVE RelSD,
                       PULONG BufferLength);
 
 VOID STDCALL
@@ -2210,6 +2224,9 @@ RtlReserveChunk (
 VOID STDCALL
 RtlResetRtlTranslations (IN PNLSTABLEINFO NlsTable);
 
+VOID STDCALL
+RtlRestoreLastWin32Error(IN ULONG Error);
+
 /*
  * VOID
  * RtlRetrieveUlong (
@@ -2257,7 +2274,7 @@ RtlSecondsSince1980ToTime (ULONG SecondsSince1980,
                           PLARGE_INTEGER Time);
 
 NTSTATUS STDCALL
-RtlSelfRelativeToAbsoluteSD (PSECURITY_DESCRIPTOR RelSD,
+RtlSelfRelativeToAbsoluteSD (PSECURITY_DESCRIPTOR_RELATIVE RelSD,
                             PSECURITY_DESCRIPTOR AbsSD,
                             PULONG AbsSDSize,
                             PACL Dacl,
@@ -2272,13 +2289,18 @@ RtlSelfRelativeToAbsoluteSD (PSECURITY_DESCRIPTOR RelSD,
 NTSTATUS
 STDCALL
 RtlSelfRelativeToAbsoluteSD2(
-       PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
+       PSECURITY_DESCRIPTOR_RELATIVE SelfRelativeSecurityDescriptor,
        PULONG BufferSize
        );
 
 VOID STDCALL
 RtlSetAllBits (IN PRTL_BITMAP BitMapHeader);
 
+NTSTATUS STDCALL
+RtlSetAttributesSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
+                                  IN SECURITY_DESCRIPTOR_CONTROL Control,
+                                  OUT PULONG Revision);
+
 VOID
 STDCALL
 RtlSetBit (
@@ -2310,6 +2332,18 @@ RtlSetGroupSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
                               PSID Group,
                               BOOLEAN GroupDefaulted);
 
+NTSTATUS STDCALL
+RtlSetInformationAcl (PACL Acl,
+                     PVOID Information,
+                     ULONG InformationLength,
+                     ACL_INFORMATION_CLASS InformationClass);
+
+VOID STDCALL
+RtlSetLastWin32Error(IN ULONG Error);
+
+VOID STDCALL
+RtlSetLastWin32ErrorAndNtStatusFromNtStatus(IN NTSTATUS Status);
+
 NTSTATUS STDCALL
 RtlSetOwnerSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
                               PSID Owner,
@@ -2321,11 +2355,9 @@ RtlSetSaclSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
                              PACL Sacl,
                              BOOLEAN SaclDefaulted);
 
-NTSTATUS STDCALL
-RtlSetInformationAcl (PACL Acl,
-                     PVOID Information,
-                     ULONG InformationLength,
-                     ACL_INFORMATION_CLASS InformationClass);
+VOID STDCALL
+RtlSetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR SecurityDescriptor,
+                                 PUCHAR RMControl);
 
 NTSTATUS STDCALL
 RtlSetTimeZoneInformation (IN OUT PTIME_ZONE_INFORMATION TimeZoneInformation);
@@ -2651,7 +2683,7 @@ RtlValidateHeap (
 BOOLEAN
 STDCALL
 RtlValidRelativeSecurityDescriptor (
-       IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,
+       IN PSECURITY_DESCRIPTOR_RELATIVE SecurityDescriptorInput,
        IN ULONG SecurityDescriptorLength,
        IN SECURITY_INFORMATION RequiredInformation
        );