- More NDK + MSDDK/IFS Compatibility fixes
authorAlex Ionescu <aionescu@gmail.com>
Mon, 5 Sep 2005 18:06:20 +0000 (18:06 +0000)
committerAlex Ionescu <aionescu@gmail.com>
Mon, 5 Sep 2005 18:06:20 +0000 (18:06 +0000)
- Prototype fixes

svn path=/trunk/; revision=17660

16 files changed:
reactos/include/ndk/rtlfuncs.h
reactos/include/ndk/rtltypes.h
reactos/include/ndk/umfuncs.h
reactos/include/ndk/umtypes.h
reactos/lib/advapi32/sec/ac.c
reactos/lib/advapi32/sec/sec.c
reactos/lib/kernel32/file/file.c
reactos/lib/kernel32/include/kernel32.h
reactos/lib/rtl/acl.c
reactos/lib/rtl/nls.c
reactos/lib/rtl/sd.c
reactos/lib/rtl/sid.c
reactos/lib/rtl/unicode.c
reactos/w32api/include/ddk/ntifs.h
reactos/w32api/include/ddk/winddk.h
reactos/w32api/include/ntdef.h

index 72614db..18d0a6a 100644 (file)
 /*
  * Error and Exception Functions
  */
+NTSYSAPI
 PVOID
-STDCALL
+NTAPI
 RtlAddVectoredExceptionHandler(
     IN ULONG FirstHandler,
     IN PVECTORED_EXCEPTION_HANDLER VectoredHandler
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlAssert(
     PVOID FailedAssertion,
     PVOID FileName,
@@ -33,53 +35,62 @@ RtlAssert(
     PCHAR Message
 );
 
+NTSYSAPI
 PVOID
-STDCALL
+NTAPI
 RtlEncodePointer(IN PVOID Pointer);
 
+NTSYSAPI
 PVOID
-STDCALL
+NTAPI
 RtlDecodePointer(IN PVOID Pointer);
 
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlNtStatusToDosError(IN NTSTATUS Status);
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlRaiseException(IN PEXCEPTION_RECORD ExceptionRecord);
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlRaiseStatus(NTSTATUS Status);
 
+NTSYSAPI
 LONG
-STDCALL
+NTAPI
 RtlUnhandledExceptionFilter(struct _EXCEPTION_POINTERS* ExceptionInfo);
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlUnwind(
     PEXCEPTION_REGISTRATION RegistrationFrame,
     PVOID ReturnAddress,
     PEXCEPTION_RECORD ExceptionRecord,
-    DWORD EaxValue
+    ULONG EaxValue
 );
 
 /*
  * Heap Functions
  */
 
+NTSYSAPI
 PVOID
-STDCALL
+NTAPI
 RtlAllocateHeap(
     IN HANDLE HeapHandle,
     IN ULONG Flags,
     IN ULONG Size
 );
 
+NTSYSAPI
 PVOID
-STDCALL
+NTAPI
 RtlCreateHeap(
     IN ULONG Flags,
     IN PVOID BaseAddress OPTIONAL,
@@ -89,19 +100,21 @@ RtlCreateHeap(
     IN PRTL_HEAP_PARAMETERS Parameters OPTIONAL
 );
 
-DWORD
-STDCALL
+ULONG
+NTAPI
 RtlCompactHeap(
     HANDLE heap,
     ULONG flags
 );
 
+NTSYSAPI
 HANDLE
-STDCALL
+NTAPI
 RtlDestroyHeap(HANDLE hheap);
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlFreeHeap(
     IN HANDLE HeapHandle,
     IN ULONG Flags,
@@ -109,14 +122,14 @@ RtlFreeHeap(
 );
 
 ULONG
-STDCALL
+NTAPI
 RtlGetProcessHeaps(
     ULONG HeapCount,
     HANDLE *HeapArray
 );
 
 PVOID
-STDCALL
+NTAPI
 RtlReAllocateHeap(
     HANDLE Heap,
     ULONG Flags,
@@ -125,15 +138,15 @@ RtlReAllocateHeap(
 );
 
 BOOLEAN
-STDCALL
+NTAPI
 RtlLockHeap(IN HANDLE Heap);
 
 BOOLEAN
-STDCALL
+NTAPI
 RtlUnlockHeap(IN HANDLE Heap);
 
 ULONG
-STDCALL
+NTAPI
 RtlSizeHeap(
     IN PVOID HeapHandle,
     IN ULONG Flags,
@@ -141,7 +154,7 @@ RtlSizeHeap(
 );
 
 BOOLEAN
-STDCALL
+NTAPI
 RtlValidateHeap(
     HANDLE Heap,
     ULONG Flags,
@@ -154,16 +167,18 @@ RtlValidateHeap(
 /*
  * Security Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlAbsoluteToSelfRelativeSD(
     IN PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
-    IN OUT PISECURITY_DESCRIPTOR_RELATIVE SelfRelativeSecurityDescriptor,
+    IN OUT PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
     IN PULONG BufferLength
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlAddAccessAllowedAce(
     PACL Acl,
     ULONG Revision,
@@ -172,17 +187,17 @@ RtlAddAccessAllowedAce(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 RtlAddAccessAllowedAceEx(
     IN OUT PACL pAcl,
-    IN DWORD dwAceRevision,
-    IN DWORD AceFlags,
-    IN DWORD AccessMask,
+    IN ULONG dwAceRevision,
+    IN ULONG AceFlags,
+    IN ULONG AccessMask,
     IN PSID pSid
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 RtlAddAccessDeniedAce(
     PACL Acl,
     ULONG Revision,
@@ -191,7 +206,7 @@ RtlAddAccessDeniedAce(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 RtlAddAccessDeniedAceEx(
     IN OUT PACL Acl,
     IN ULONG Revision,
@@ -201,7 +216,7 @@ RtlAddAccessDeniedAceEx(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 RtlAddAuditAccessAceEx(
     IN OUT PACL Acl,
     IN ULONG Revision,
@@ -212,18 +227,19 @@ RtlAddAuditAccessAceEx(
     IN BOOLEAN Failure
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlAddAce(
     PACL Acl,
-    ULONG Revision,
-    ULONG StartingIndex,
-    PACE AceList,
+    ULONG AceRevision,
+    ULONG StartingAceIndex,
+    PVOID AceList,
     ULONG AceListLength
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 RtlAddAuditAccessAce(
     PACL Acl,
     ULONG Revision,
@@ -234,7 +250,7 @@ RtlAddAuditAccessAce(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 RtlAdjustPrivilege(
     IN ULONG Privilege,
     IN BOOLEAN NewValue,
@@ -242,8 +258,9 @@ RtlAdjustPrivilege(
     OUT PBOOLEAN OldValue
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlAllocateAndInitializeSid(
     IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority,
     IN UCHAR SubAuthorityCount,
@@ -259,28 +276,29 @@ RtlAllocateAndInitializeSid(
 );
 
 BOOLEAN
-STDCALL
+NTAPI
 RtlAreAllAccessesGranted(
     ACCESS_MASK GrantedAccess,
     ACCESS_MASK DesiredAccess
 );
 
 BOOLEAN
-STDCALL
+NTAPI
 RtlAreAnyAccessesGranted(
     ACCESS_MASK GrantedAccess,
     ACCESS_MASK DesiredAccess
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlCopyLuid(
     IN PLUID LuidDest,
     IN PLUID LuidSrc
 );
 
 VOID
-STDCALL
+NTAPI
 RtlCopyLuidAndAttributesArray(
     ULONG Count,
     PLUID_AND_ATTRIBUTES Src,
@@ -288,7 +306,7 @@ RtlCopyLuidAndAttributesArray(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 RtlCopySidAndAttributesArray(
     ULONG Count,
     PSID_AND_ATTRIBUTES Src,
@@ -300,95 +318,105 @@ RtlCopySidAndAttributesArray(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 RtlConvertSidToUnicodeString(
     OUT PUNICODE_STRING DestinationString,
     IN PSID Sid,
     IN BOOLEAN AllocateDestinationString
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCopySid(
     IN ULONG Length,
     IN PSID Destination,
     IN PSID Source
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCreateAcl(
     PACL Acl,
     ULONG AclSize,
     ULONG AclRevision
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCreateSecurityDescriptor(
     PSECURITY_DESCRIPTOR SecurityDescriptor,
     ULONG Revision
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCreateSecurityDescriptorRelative(
     PISECURITY_DESCRIPTOR_RELATIVE SecurityDescriptor,
     ULONG Revision
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDeleteAce(
     PACL Acl,
     ULONG AceIndex
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlEqualPrefixSid(
     PSID Sid1,
     PSID Sid2
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlEqualSid (
     IN PSID Sid1,
     IN PSID Sid2
 );
 
 BOOLEAN
-STDCALL
+NTAPI
 RtlFirstFreeAce(
     PACL Acl,
     PACE* Ace
 );
 
+NTSYSAPI
 PVOID
-STDCALL
+NTAPI
 RtlFreeSid (
     IN PSID Sid
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlGetAce(
     PACL Acl,
     ULONG AceIndex,
-    PACE *Ace
+    PVOID *Ace
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 RtlGetControlSecurityDescriptor(
     PSECURITY_DESCRIPTOR SecurityDescriptor,
     PSECURITY_DESCRIPTOR_CONTROL Control,
     PULONG Revision
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlGetDaclSecurityDescriptor(
     IN PSECURITY_DESCRIPTOR SecurityDescriptor,
     OUT PBOOLEAN DaclPresent,
@@ -396,8 +424,9 @@ RtlGetDaclSecurityDescriptor(
     OUT PBOOLEAN DaclDefaulted
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlGetSaclSecurityDescriptor(
     PSECURITY_DESCRIPTOR SecurityDescriptor,
     PBOOLEAN SaclPresent,
@@ -405,62 +434,72 @@ RtlGetSaclSecurityDescriptor(
     PBOOLEAN SaclDefaulted
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlGetGroupSecurityDescriptor(
     IN PSECURITY_DESCRIPTOR SecurityDescriptor,
     OUT PSID *Group,
     OUT PBOOLEAN GroupDefaulted
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlGetOwnerSecurityDescriptor(
     IN PSECURITY_DESCRIPTOR SecurityDescriptor,
     OUT PSID *Owner,
     OUT PBOOLEAN OwnerDefaulted
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlGetSecurityDescriptorRMControl(
     PSECURITY_DESCRIPTOR SecurityDescriptor,
     PUCHAR RMControl
 );
 
+NTSYSAPI
 PSID_IDENTIFIER_AUTHORITY
-STDCALL
+NTAPI
 RtlIdentifierAuthoritySid(PSID Sid);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlImpersonateSelf(IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlInitializeSid(
     IN OUT PSID Sid,
     IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority,
     IN UCHAR SubAuthorityCount
 );
 
+NTSYSAPI
 ULONG
-STDCALL
-RtlLengthRequiredSid(IN UCHAR SubAuthorityCount);
+NTAPI
+RtlLengthRequiredSid(IN ULONG SubAuthorityCount);
 
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlLengthSid(IN PSID Sid);
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlMapGenericMask(
     PACCESS_MASK AccessMask,
     PGENERIC_MAPPING GenericMapping
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlQueryInformationAcl(
     PACL Acl,
     PVOID Information,
@@ -468,10 +507,11 @@ RtlQueryInformationAcl(
     ACL_INFORMATION_CLASS InformationClass
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlSelfRelativeToAbsoluteSD(
-    IN PISECURITY_DESCRIPTOR_RELATIVE SelfRelativeSD,
+    IN PSECURITY_DESCRIPTOR SelfRelativeSD,
     OUT PSECURITY_DESCRIPTOR AbsoluteSD,
     IN PULONG AbsoluteSDSize,
     IN PACL Dacl,
@@ -484,16 +524,18 @@ RtlSelfRelativeToAbsoluteSD(
     IN PULONG PrimaryGroupSize
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlSetControlSecurityDescriptor(
     IN PSECURITY_DESCRIPTOR SecurityDescriptor,
     IN SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest,
     IN SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlSetDaclSecurityDescriptor (
     PSECURITY_DESCRIPTOR SecurityDescriptor,
     BOOLEAN DaclPresent,
@@ -501,16 +543,18 @@ RtlSetDaclSecurityDescriptor (
     BOOLEAN DaclDefaulted
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlSetGroupSecurityDescriptor(
     IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
     IN PSID Group,
     IN BOOLEAN GroupDefaulted
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlSetInformationAcl(
     PACL Acl,
     PVOID Information,
@@ -518,16 +562,18 @@ RtlSetInformationAcl(
     ACL_INFORMATION_CLASS InformationClass
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlSetOwnerSecurityDescriptor(
     IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
     IN PSID Owner,
     IN BOOLEAN OwnerDefaulted
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlSetSaclSecurityDescriptor(
     IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
     IN BOOLEAN SaclPresent,
@@ -535,54 +581,63 @@ RtlSetSaclSecurityDescriptor(
     IN BOOLEAN SaclDefaulted
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlSetSecurityDescriptorRMControl(
     PSECURITY_DESCRIPTOR SecurityDescriptor,
     PUCHAR RMControl
 );
 
+NTSYSAPI
 PUCHAR
-STDCALL
+NTAPI
 RtlSubAuthorityCountSid(
     IN PSID Sid
 );
 
+NTSYSAPI
 PULONG
-STDCALL
+NTAPI
 RtlSubAuthoritySid(
     IN PSID Sid,
     IN ULONG SubAuthority
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlValidRelativeSecurityDescriptor(
-    IN PISECURITY_DESCRIPTOR_RELATIVE SecurityDescriptorInput,
+    IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,
     IN ULONG SecurityDescriptorLength,
     IN SECURITY_INFORMATION RequiredInformation
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlValidSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptor);
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlValidSid(IN PSID Sid);
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlValidAcl(PACL Acl);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDeleteSecurityObject(
     IN PSECURITY_DESCRIPTOR *ObjectDescriptor
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlNewSecurityObject(
     IN PSECURITY_DESCRIPTOR ParentDescriptor,
     IN PSECURITY_DESCRIPTOR CreatorDescriptor,
@@ -592,8 +647,9 @@ RtlNewSecurityObject(
     IN PGENERIC_MAPPING GenericMapping
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlQuerySecurityObject(
     IN PSECURITY_DESCRIPTOR ObjectDescriptor,
     IN SECURITY_INFORMATION SecurityInformation,
@@ -602,8 +658,9 @@ RtlQuerySecurityObject(
     OUT PULONG ReturnLength
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlSetSecurityObject(
     IN SECURITY_INFORMATION SecurityInformation,
     IN PSECURITY_DESCRIPTOR ModificationDescriptor,
@@ -615,8 +672,9 @@ RtlSetSecurityObject(
 /*
  * Single-Character Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlLargeIntegerToChar(
     IN PLARGE_INTEGER Value,
     IN ULONG Base,
@@ -624,20 +682,24 @@ RtlLargeIntegerToChar(
     IN OUT PCHAR String
 );
 
+NTSYSAPI
 CHAR
-STDCALL
+NTAPI
 RtlUpperChar(CHAR Source);
 
+NTSYSAPI
 WCHAR
-STDCALL
+NTAPI
 RtlUpcaseUnicodeChar(WCHAR Source);
 
+NTSYSAPI
 WCHAR
-STDCALL
+NTAPI
 RtlDowncaseUnicodeChar(IN WCHAR Source);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlIntegerToChar(
     IN ULONG Value,
     IN ULONG Base,
@@ -645,8 +707,9 @@ RtlIntegerToChar(
     IN OUT PCHAR String
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlIntegerToUnicode(
     IN ULONG Value,
     IN ULONG Base  OPTIONAL,
@@ -654,70 +717,102 @@ RtlIntegerToUnicode(
     IN OUT LPWSTR String
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlIntegerToUnicodeString(
     IN ULONG Value,
     IN ULONG Base,
     IN OUT PUNICODE_STRING String
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCharToInteger(
     PCSZ String,
     ULONG Base,
     PULONG Value
 );
 
+#if (defined(_M_IX86) && (_MSC_FULL_VER > 13009037)) || ((defined(_M_AMD64) || defined(_M_IA64)) && (_MSC_FULL_VER > 13009175))
+unsigned short __cdecl _byteswap_ushort(unsigned short);
+unsigned long  __cdecl _byteswap_ulong (unsigned long);
+unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64);
+#pragma intrinsic(_byteswap_ushort)
+#pragma intrinsic(_byteswap_ulong)
+#pragma intrinsic(_byteswap_uint64)
+#define RtlUshortByteSwap(_x) _byteswap_ushort((USHORT)(_x))
+#define RtlUlongByteSwap(_x) _byteswap_ulong((_x))
+#define RtlUlonglongByteSwap(_x) _byteswap_uint64((_x))
+#else
+
 USHORT
 FASTCALL
 RtlUshortByteSwap(IN USHORT Source);
 
+ULONG
+FASTCALL
+RtlUlongByteSwap(IN ULONG Source);
+
+ULONGLONG
+FASTCALL
+RtlUlonglongByteSwap(IN ULONGLONG Source);
+
+#endif
+
 /*
  * Unicode->Ansi String Functions
  */
+/* FIXME: Use macro */
+#undef RtlUnicodeStringToAnsiSize
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlUnicodeStringToAnsiSize(IN PUNICODE_STRING UnicodeString);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlUnicodeStringToAnsiString(
     PANSI_STRING DestinationString,
-    PUNICODE_STRING SourceString,
+    PCUNICODE_STRING SourceString,
     BOOLEAN AllocateDestinationString
 );
 
 /*
  * Unicode->OEM String Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlUpcaseUnicodeStringToOemString(
     POEM_STRING DestinationString,
-    PUNICODE_STRING SourceString,
+    PCUNICODE_STRING SourceString,
     BOOLEAN AllocateDestinationString
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlUpcaseUnicodeStringToCountedOemString(
     IN OUT POEM_STRING DestinationString,
-    IN PUNICODE_STRING SourceString,
+    IN PCUNICODE_STRING SourceString,
     IN BOOLEAN AllocateDestinationString
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlUnicodeStringToOemString(
     POEM_STRING DestinationString,
-    PUNICODE_STRING SourceString,
+    PCUNICODE_STRING SourceString,
     BOOLEAN AllocateDestinationString
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlUpcaseUnicodeToOemN(
     PCHAR OemString,
     ULONG OemSize,
@@ -726,12 +821,16 @@ RtlUpcaseUnicodeToOemN(
     ULONG UnicodeSize
 );
 
+/* FIXME: Use macro */
+#undef RtlUnicodeStringToOemSize
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlUnicodeStringToOemSize(IN PUNICODE_STRING UnicodeString);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlUnicodeToOemN(
     PCHAR OemString,
     ULONG OemSize,
@@ -743,8 +842,9 @@ RtlUnicodeToOemN(
 /*
  * Unicode->MultiByte String Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlUnicodeToMultiByteN(
     PCHAR MbString,
     ULONG MbSize,
@@ -753,8 +853,9 @@ RtlUnicodeToMultiByteN(
     ULONG UnicodeSize
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlUpcaseUnicodeToMultiByteN(
     PCHAR MbString,
     ULONG MbSize,
@@ -763,8 +864,9 @@ RtlUpcaseUnicodeToMultiByteN(
     ULONG UnicodeSize
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlUnicodeToMultiByteSize(
     PULONG MbSize,
     PWCHAR UnicodeString,
@@ -774,20 +876,25 @@ RtlUnicodeToMultiByteSize(
 /*
  * OEM to Unicode Functions
  */
+/* FIXME: Use macro */
+#undef RtlOemStringToUnicodeSize
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlOemStringToUnicodeSize(POEM_STRING AnsiString);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlOemStringToUnicodeString(
     PUNICODE_STRING DestinationString,
-    POEM_STRING SourceString,
+    PCOEM_STRING SourceString,
     BOOLEAN AllocateDestinationString
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlOemToUnicodeN(
     PWSTR UnicodeString,
     ULONG MaxBytesInUnicodeString,
@@ -800,21 +907,25 @@ RtlOemToUnicodeN(
  * Ansi->Unicode String Functions
  */
 NTSTATUS
-STDCALL
+NTAPI
 RtlAnsiStringToUnicodeString(
     PUNICODE_STRING DestinationString,
-    PANSI_STRING SourceString,
+    PCANSI_STRING SourceString,
     BOOLEAN AllocateDestinationString
 );
 
+/* FIXME: Use macro */
+#undef RtlAnsiStringToUnicodeSize
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlAnsiStringToUnicodeSize(
     PANSI_STRING AnsiString
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlCreateUnicodeStringFromAsciiz(
     OUT PUNICODE_STRING Destination,
     IN PCSZ Source
@@ -823,72 +934,82 @@ RtlCreateUnicodeStringFromAsciiz(
 /*
  * Unicode String Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlAppendUnicodeToString(
     PUNICODE_STRING Destination,
     PCWSTR Source
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlAppendUnicodeStringToString(
     PUNICODE_STRING Destination,
-    PUNICODE_STRING Source
+    PCUNICODE_STRING Source
 );
 
+NTSYSAPI
 LONG
-STDCALL
+NTAPI
 RtlCompareUnicodeString(
-    PUNICODE_STRING String1,
-    PUNICODE_STRING String2,
+    PCUNICODE_STRING String1,
+    PCUNICODE_STRING String2,
     BOOLEAN CaseInsensitive
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlCopyUnicodeString(
     PUNICODE_STRING DestinationString,
-    PUNICODE_STRING SourceString
+    PCUNICODE_STRING SourceString
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlCreateUnicodeString(
     PUNICODE_STRING DestinationString,
     PCWSTR SourceString
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDowncaseUnicodeString(
     IN OUT PUNICODE_STRING UniDest,
-    IN PUNICODE_STRING UniSource,
+    IN PCUNICODE_STRING UniSource,
     IN BOOLEAN AllocateDestinationString
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDuplicateUnicodeString(
-    IN INT AddNull,
-    IN PUNICODE_STRING SourceString,
+    IN ULONG Flags,
+    IN PCUNICODE_STRING SourceString,
     OUT PUNICODE_STRING DestinationString
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlEqualUnicodeString(
     PCUNICODE_STRING String1,
     PCUNICODE_STRING String2,
     BOOLEAN CaseInsensitive
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlFreeUnicodeString(IN PUNICODE_STRING UnicodeString);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlHashUnicodeString(
     IN CONST UNICODE_STRING *String,
     IN BOOLEAN CaseInSensitive,
@@ -896,40 +1017,45 @@ RtlHashUnicodeString(
     OUT PULONG HashValue
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlInitUnicodeString(
   IN OUT PUNICODE_STRING DestinationString,
   IN PCWSTR SourceString);
 
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlIsTextUnicode(
     PVOID Buffer,
     ULONG Length,
     ULONG *Flags
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlPrefixUnicodeString(
-    PUNICODE_STRING String1,
-    PUNICODE_STRING String2,
+    PCUNICODE_STRING String1,
+    PCUNICODE_STRING String2,
     BOOLEAN CaseInsensitive
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlUpcaseUnicodeString(
     PUNICODE_STRING DestinationString,
     PCUNICODE_STRING SourceString,
     BOOLEAN AllocateDestinationString
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlUnicodeStringToInteger(
-    PUNICODE_STRING String,
+    PCUNICODE_STRING String,
     ULONG Base,
     PULONG Value
 );
@@ -937,12 +1063,14 @@ RtlUnicodeStringToInteger(
 /*
  * Ansi String Functions
  */
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlFreeAnsiString(IN PANSI_STRING AnsiString);
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlInitAnsiString(
     PANSI_STRING DestinationString,
     PCSZ SourceString
@@ -951,62 +1079,70 @@ RtlInitAnsiString(
 /*
  * OEM String Functions
  */
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlFreeOemString(IN POEM_STRING OemString);
 
 /*
  * MultiByte->Unicode String Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlMultiByteToUnicodeN(
     PWCHAR UnicodeString,
     ULONG UnicodeSize,
     PULONG ResultSize,
-    const PCHAR MbString,
+    PCSTR MbString,
     ULONG MbSize
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlMultiByteToUnicodeSize(
     PULONG UnicodeSize,
-    PCHAR MbString,
+    PCSTR MbString,
     ULONG MbSize
 );
 
 /*
  * Atom Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlAddAtomToAtomTable(
     IN PRTL_ATOM_TABLE AtomTable,
     IN PWSTR AtomName,
     OUT PRTL_ATOM Atom
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCreateAtomTable(
     IN ULONG TableSize,
     IN OUT PRTL_ATOM_TABLE *AtomTable
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDeleteAtomFromAtomTable(
     IN PRTL_ATOM_TABLE AtomTable,
     IN RTL_ATOM Atom
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDestroyAtomTable(IN PRTL_ATOM_TABLE AtomTable);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlQueryAtomInAtomTable(
     IN PRTL_ATOM_TABLE AtomTable,
     IN RTL_ATOM Atom,
@@ -1016,8 +1152,9 @@ RtlQueryAtomInAtomTable(
     IN OUT PULONG NameLength OPTIONAL
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlLookupAtomInAtomTable(
     IN PRTL_ATOM_TABLE AtomTable,
     IN PWSTR AtomName,
@@ -1027,8 +1164,9 @@ RtlLookupAtomInAtomTable(
 /*
  * Memory Functions
  */
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlFillMemoryUlong(
     IN PVOID Destination,
     IN ULONG Length,
@@ -1038,12 +1176,14 @@ RtlFillMemoryUlong(
 /*
  * Process Management Functions
  */
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlAcquirePebLock(VOID);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCreateProcessParameters (
     OUT PRTL_USER_PROCESS_PARAMETERS *ProcessParameters,
     IN PUNICODE_STRING ImagePathName OPTIONAL,
@@ -1057,8 +1197,9 @@ RtlCreateProcessParameters (
     IN PUNICODE_STRING RuntimeInfo OPTIONAL
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCreateUserProcess(
     IN PUNICODE_STRING ImageFileName,
     IN ULONG Attributes,
@@ -1072,8 +1213,9 @@ RtlCreateUserProcess(
     OUT PRTL_USER_PROCESS_INFORMATION ProcessInfo
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCreateUserThread(
     IN HANDLE ProcessHandle,
     IN PSECURITY_DESCRIPTOR SecurityDescriptor,
@@ -1087,20 +1229,24 @@ RtlCreateUserThread(
     IN OUT PCLIENT_ID ClientId
 );
 
+NTSYSAPI
 PRTL_USER_PROCESS_PARAMETERS
-STDCALL
+NTAPI
 RtlDeNormalizeProcessParams(IN PRTL_USER_PROCESS_PARAMETERS ProcessParameters);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDestroyProcessParameters(IN PRTL_USER_PROCESS_PARAMETERS ProcessParameters);
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlExitUserThread(NTSTATUS Status);
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlInitializeContext(
     IN HANDLE ProcessHandle,
     OUT PCONTEXT ThreadContext,
@@ -1109,38 +1255,45 @@ RtlInitializeContext(
     IN PINITIAL_TEB InitialTeb
 );
 
+NTSYSAPI
 PRTL_USER_PROCESS_PARAMETERS
-STDCALL
+NTAPI
 RtlNormalizeProcessParams(IN PRTL_USER_PROCESS_PARAMETERS ProcessParameters);
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlReleasePebLock(VOID);
 
 /*
  * Environment/Path Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCreateEnvironment(
     BOOLEAN Inherit,
     PWSTR *Environment
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlDestroyEnvironment(PWSTR Environment);
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlDoesFileExists_U(PWSTR FileName);
 
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlDetermineDosPathNameType_U(PCWSTR Path);
 
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlDosSearchPath_U(
     WCHAR *sp,
     WCHAR *name,
@@ -1150,8 +1303,9 @@ RtlDosSearchPath_U(
     WCHAR **shortname
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlDosPathNameToNtPathName_U(
     PWSTR DosName,
     PUNICODE_STRING NtName,
@@ -1159,8 +1313,9 @@ RtlDosPathNameToNtPathName_U(
     PCURDIR CurrentDirectory
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlExpandEnvironmentStrings_U(
     PWSTR Environment,
     PUNICODE_STRING Source,
@@ -1168,15 +1323,17 @@ RtlExpandEnvironmentStrings_U(
     PULONG Length
 );
 
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlGetCurrentDirectory_U(
     ULONG MaximumLength,
     PWSTR Buffer
 );
 
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlGetFullPathName_U(
     const WCHAR *dosname,
     ULONG size,
@@ -1184,28 +1341,32 @@ RtlGetFullPathName_U(
     WCHAR **shortname
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlIsNameLegalDOS8Dot3(
     IN PUNICODE_STRING UnicodeName,
     IN PANSI_STRING AnsiName,
     PBOOLEAN Unknown
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlQueryEnvironmentVariable_U(
     PWSTR Environment,
     PUNICODE_STRING Name,
     PUNICODE_STRING Value
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlSetCurrentDirectory_U(PUNICODE_STRING name);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlSetEnvironmentVariable(
     PWSTR *Environment,
     PUNICODE_STRING Name,
@@ -1215,95 +1376,110 @@ RtlSetEnvironmentVariable(
 /*
  * Critical Section/Resource Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDeleteCriticalSection (
     IN PRTL_CRITICAL_SECTION CriticalSection
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlEnterCriticalSection(
     IN PRTL_CRITICAL_SECTION CriticalSection
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlInitializeCriticalSection(
     IN PRTL_CRITICAL_SECTION CriticalSection
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlInitializeCriticalSectionAndSpinCount(
     IN PRTL_CRITICAL_SECTION CriticalSection,
     IN ULONG SpinCount
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlLeaveCriticalSection(
     IN PRTL_CRITICAL_SECTION CriticalSection
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlpUnWaitCriticalSection(
     IN PRTL_CRITICAL_SECTION CriticalSection
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlpWaitForCriticalSection(
     IN PRTL_CRITICAL_SECTION CriticalSection
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlAcquireResourceExclusive(
     IN PRTL_RESOURCE Resource,
     IN BOOLEAN Wait
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlAcquireResourceShared(
     IN PRTL_RESOURCE Resource,
     IN BOOLEAN Wait
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlConvertExclusiveToShared(
     IN PRTL_RESOURCE Resource
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlConvertSharedToExclusive(
     IN PRTL_RESOURCE Resource
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlDeleteResource(
     IN PRTL_RESOURCE Resource
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlDumpResource(
     IN PRTL_RESOURCE Resource
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlInitializeResource(
     IN PRTL_RESOURCE Resource
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlReleaseResource(
     IN PRTL_RESOURCE Resource
 );
@@ -1311,8 +1487,9 @@ RtlReleaseResource(
 /*
  * Compression Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCompressBuffer(
     IN USHORT CompressionFormatAndEngine,
     IN PUCHAR UncompressedBuffer,
@@ -1324,8 +1501,9 @@ RtlCompressBuffer(
     IN PVOID WorkSpace
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDecompressBuffer(
     IN USHORT CompressionFormat,
     OUT PUCHAR UncompressedBuffer,
@@ -1335,8 +1513,9 @@ RtlDecompressBuffer(
     OUT PULONG FinalUncompressedSize
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlGetCompressionWorkSpaceSize(
     IN USHORT CompressionFormatAndEngine,
     OUT PULONG CompressBufferWorkSpaceSize,
@@ -1346,19 +1525,22 @@ RtlGetCompressionWorkSpaceSize(
 /*
  * Debug Info Functions
  */
+NTSYSAPI
 PDEBUG_BUFFER
-STDCALL
+NTAPI
 RtlCreateQueryDebugBuffer(
     IN ULONG Size,
     IN BOOLEAN EventPair
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDestroyQueryDebugBuffer(IN PDEBUG_BUFFER DebugBuffer);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlQueryProcessDebugInformation(
     IN ULONG ProcessId,
     IN ULONG DebugInfoClassMask,
@@ -1368,56 +1550,63 @@ RtlQueryProcessDebugInformation(
 /*
  * Bitmap Functions
  */
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlAreBitsClear(
     IN PRTL_BITMAP BitMapHeader,
     IN ULONG StartingIndex,
     IN ULONG Length
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlAreBitsSet(
     IN PRTL_BITMAP BitMapHeader,
     IN ULONG StartingIndex,
     IN ULONG Length
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlClearBits(
     IN PRTL_BITMAP BitMapHeader,
     IN ULONG StartingIndex,
     IN ULONG NumberToClear
 );
 
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlFindClearBits(
     IN PRTL_BITMAP BitMapHeader,
     IN ULONG NumberToFind,
     IN ULONG HintIndex
 );
 
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlFindClearBitsAndSet(
     IN PRTL_BITMAP BitMapHeader,
     IN ULONG NumberToFind,
     IN ULONG HintIndex
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlInitializeBitMap(
     IN PRTL_BITMAP BitMapHeader,
     IN PULONG BitMapBuffer,
     IN ULONG SizeOfBitMap
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlSetBits (
     IN PRTL_BITMAP BitMapHeader,
     IN ULONG StartingIndex,
@@ -1427,32 +1616,36 @@ RtlSetBits (
 /*
  * Timer Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCreateTimer(
     HANDLE TimerQueue,
     PHANDLE phNewTimer,
     WAITORTIMERCALLBACKFUNC Callback,
     PVOID Parameter,
-    DWORD DueTime,
-    DWORD Period,
+    ULONG DueTime,
+    ULONG Period,
     ULONG Flags
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCreateTimerQueue(PHANDLE TimerQueue);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDeleteTimer(
     HANDLE TimerQueue,
     HANDLE Timer,
     HANDLE CompletionEvent
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlUpdateTimer(
     HANDLE TimerQueue,
     HANDLE Timer,
@@ -1460,69 +1653,77 @@ RtlUpdateTimer(
     ULONG Period
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDeleteTimerQueueEx(
     HANDLE TimerQueue,
     HANDLE CompletionEvent
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlDeleteTimerQueue(HANDLE TimerQueue);
 
 /*
  * Debug Functions
  */
 ULONG
-CDECL
+__cdecl
 DbgPrint(
     IN PCH  Format,
     IN ...
 );
 
 VOID
-STDCALL
+NTAPI
 DbgBreakPoint(VOID);
 
 /*
  * Handle Table Functions
  */
+NTSYSAPI
 PRTL_HANDLE_TABLE_ENTRY
-STDCALL
+NTAPI
 RtlAllocateHandle(
     IN PRTL_HANDLE_TABLE HandleTable,
     IN OUT PULONG Index
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlDestroyHandleTable(IN PRTL_HANDLE_TABLE HandleTable);
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlFreeHandle(
     IN PRTL_HANDLE_TABLE HandleTable,
     IN PRTL_HANDLE_TABLE_ENTRY Handle
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlInitializeHandleTable(
     IN ULONG TableSize,
     IN ULONG HandleSize,
     IN PRTL_HANDLE_TABLE HandleTable
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlIsValidHandle(
     IN PRTL_HANDLE_TABLE HandleTable,
     IN PRTL_HANDLE_TABLE_ENTRY Handle
 );
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlIsValidIndexHandle(
     IN PRTL_HANDLE_TABLE HandleTable,
     IN ULONG Index,
@@ -1532,8 +1733,9 @@ RtlIsValidIndexHandle(
 /*
  * PE Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlFindMessage(
     IN PVOID BaseAddress,
     IN ULONG Type,
@@ -1542,12 +1744,14 @@ RtlFindMessage(
     OUT PRTL_MESSAGE_RESOURCE_ENTRY *MessageResourceEntry
 );
 
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlGetNtGlobalFlags(VOID);
 
+NTSYSAPI
 PVOID
-STDCALL
+NTAPI
 RtlImageDirectoryEntryToData(
     PVOID  BaseAddress,
     BOOLEAN bFlag,
@@ -1555,8 +1759,9 @@ RtlImageDirectoryEntryToData(
     PULONG Size
 );
 
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlImageRvaToVa(
     PIMAGE_NT_HEADERS NtHeader,
     PVOID BaseAddress,
@@ -1564,12 +1769,14 @@ RtlImageRvaToVa(
     PIMAGE_SECTION_HEADER *SectionHeader
 );
 
+NTSYSAPI
 PIMAGE_NT_HEADERS
-STDCALL
+NTAPI
 RtlImageNtHeader(IN PVOID BaseAddress);
 
+NTSYSAPI
 PIMAGE_SECTION_HEADER
-STDCALL
+NTAPI
 RtlImageRvaToSection(
     PIMAGE_NT_HEADERS NtHeader,
     PVOID BaseAddress,
@@ -1579,19 +1786,22 @@ RtlImageRvaToSection(
 /*
  * Registry Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlCheckRegistryKey(
     ULONG RelativeTo,
     PWSTR Path
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlFormatCurrentUserKeyPath(IN OUT PUNICODE_STRING KeyPath);
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlpNtOpenKey(
     OUT HANDLE KeyHandle,
     IN ACCESS_MASK DesiredAccess,
@@ -1599,15 +1809,17 @@ RtlpNtOpenKey(
     IN ULONG Unused
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlOpenCurrentUser(
     IN ACCESS_MASK DesiredAccess,
     OUT PHANDLE KeyHandle
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlQueryRegistryValues(
     IN ULONG RelativeTo,
     IN PCWSTR Path,
@@ -1616,8 +1828,9 @@ RtlQueryRegistryValues(
     IN PVOID Environment
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlWriteRegistryValue(
     ULONG RelativeTo,
     PCWSTR Path,
@@ -1630,8 +1843,9 @@ RtlWriteRegistryValue(
 /*
  * NLS Functions
  */
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlInitNlsTables(
     IN PUSHORT AnsiTableBase,
     IN PUSHORT OemTableBase,
@@ -1639,77 +1853,93 @@ RtlInitNlsTables(
     OUT PNLSTABLEINFO NlsTable
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlInitCodePageTable(
     IN PUSHORT TableBase,
     OUT PCPTABLEINFO CodePageTable
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlResetRtlTranslations(IN PNLSTABLEINFO NlsTable);
 
 /*
  * Misc conversion functions
  */
+/* FIXME: Use inline */
+NTSYSAPI
 LARGE_INTEGER
-STDCALL
+NTAPI
 RtlConvertLongToLargeInteger(IN LONG SignedInteger);
 
+/* FIXME: Use inline */
+NTSYSAPI
 LARGE_INTEGER
-STDCALL
+NTAPI
 RtlEnlargedIntegerMultiply(
     LONG Multiplicand,
     LONG Multiplier
 );
 
+/* FIXME: Use inline */
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlEnlargedUnsignedDivide(
     ULARGE_INTEGER Dividend,
     ULONG Divisor,
     PULONG Remainder
 );
 
+/* FIXME: Use inline */
+NTSYSAPI
 LARGE_INTEGER
-STDCALL
+NTAPI
 RtlEnlargedUnsignedMultiply(
     ULONG Multiplicand,
     ULONG Multiplier
 );
 
+NTSYSAPI
 ULONG
-STDCALL
+NTAPI
 RtlUniform(PULONG Seed);
 
 /*
  * Time Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlQueryTimeZoneInformation(LPTIME_ZONE_INFORMATION TimeZoneInformation);
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlSecondsSince1970ToTime(
     IN ULONG SecondsSince1970,
     OUT PLARGE_INTEGER Time
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlSetTimeZoneInformation(LPTIME_ZONE_INFORMATION TimeZoneInformation);
 
+NTSYSAPI
 BOOLEAN
-STDCALL
+NTAPI
 RtlTimeFieldsToTime(
     PTIME_FIELDS TimeFields,
     PLARGE_INTEGER Time
 );
 
+NTSYSAPI
 VOID
-STDCALL
+NTAPI
 RtlTimeToTimeFields(
     PLARGE_INTEGER Time,
     PTIME_FIELDS TimeFields
@@ -1718,16 +1948,18 @@ RtlTimeToTimeFields(
 /*
  * Version Functions
  */
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlVerifyVersionInfo(
     IN PRTL_OSVERSIONINFOEXW VersionInfo,
     IN ULONG TypeMask,
     IN ULONGLONG ConditionMask
 );
 
+NTSYSAPI
 NTSTATUS
-STDCALL
+NTAPI
 RtlGetVersion(IN OUT PRTL_OSVERSIONINFOW lpVersionInformation);
 
 #endif
index d40fef7..c327fde 100644 (file)
 #define HASH_STRING_ALGORITHM_X65599    1
 #define HASH_STRING_ALGORITHM_INVALID   0xffffffff
 
+/* RtlDuplicateString settings */
+#define RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE 1
+#define RTL_DUPLICATE_UNICODE_STRING_ALLOCATE_NULL_STRING 2
+
 /* List Macros */
 static __inline
 VOID
@@ -264,6 +268,10 @@ typedef enum
 } DOS_PATHNAME_TYPE;
 
 /* FUNCTION TYPES ************************************************************/
+#ifndef NTOS_MODE_USER
+typedef VOID (NTAPI *WAITORTIMERCALLBACKFUNC)(PVOID, BOOLEAN);
+#endif
+
 struct _RTL_AVL_TABLE;
 struct _RTL_GENERIC_TABLE;
 struct _RTL_RANGE;
index 4276d65..d4d1420 100644 (file)
@@ -15,7 +15,7 @@
  * CSR Functions
  */
 NTSTATUS
-STDCALL
+NTAPI
 CsrClientConnectToServer(
     PWSTR ObjectDirectory,
     ULONG ServerId,
@@ -27,7 +27,7 @@ CsrClientConnectToServer(
 
 struct _CSR_API_MESSAGE;
 NTSTATUS
-STDCALL
+NTAPI
 CsrClientCallServer(
     struct _CSR_API_MESSAGE *Request,
     PVOID CapturedBuffer OPTIONAL,
@@ -36,22 +36,22 @@ CsrClientCallServer(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 CsrIdentifyAlertableThread(VOID);
 
 NTSTATUS
-STDCALL
+NTAPI
 CsrNewThread(VOID);
 
 NTSTATUS
-STDCALL
+NTAPI
 CsrSetPriorityClass(
     HANDLE Process,
     PULONG PriorityClass
 );
 
 VOID
-STDCALL
+NTAPI
 CsrProbeForRead(
     IN CONST PVOID Address,
     IN ULONG Length,
@@ -59,7 +59,7 @@ CsrProbeForRead(
 );
 
 VOID
-STDCALL
+NTAPI
 CsrProbeForWrite(
     IN CONST PVOID Address,
     IN ULONG Length,
@@ -67,7 +67,7 @@ CsrProbeForWrite(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 CsrCaptureParameterBuffer(
     PVOID ParameterBuffer,
     ULONG ParameterBufferSize,
@@ -76,25 +76,25 @@ CsrCaptureParameterBuffer(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 CsrReleaseParameterBuffer(PVOID ClientAddress);
 
 /*
  * Debug Functions
  */
 ULONG
-CDECL
+__cdecl
 DbgPrint(
     IN PCH  Format,
     IN ...
 );
 
 VOID
-STDCALL
+NTAPI
 DbgBreakPoint(VOID);
 
 NTSTATUS
-STDCALL
+NTAPI
 DbgSsInitialize(
     HANDLE ReplyPort,
     PVOID Callback,
@@ -103,40 +103,40 @@ DbgSsInitialize(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 DbgUiConnectToDbg(VOID);
 
 NTSTATUS
-STDCALL
+NTAPI
 DbgUiContinue(
     PCLIENT_ID ClientId,
     ULONG ContinueStatus
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 DbgUiWaitStateChange(
     ULONG Unknown1,
     ULONG Unknown2
 );
 
 VOID
-STDCALL
+NTAPI
 DbgUiRemoteBreakin(VOID);
 
 NTSTATUS
-STDCALL
+NTAPI
 DbgUiIssueRemoteBreakin(HANDLE Process);
 
 /*
  * Loader Functions
  */
 NTSTATUS
-STDCALL
+NTAPI
 LdrDisableThreadCalloutsForDll(IN PVOID BaseAddress);
 
 NTSTATUS
-STDCALL
+NTAPI
 LdrGetDllHandle(
     IN PWSTR DllPath OPTIONAL,
     IN PULONG DllCharacteristics,
@@ -145,14 +145,14 @@ LdrGetDllHandle(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 LdrFindEntryForAddress(
     IN PVOID Address,
     OUT PLDR_DATA_TABLE_ENTRY *Module
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 LdrGetProcedureAddress(
     IN PVOID BaseAddress,
     IN PANSI_STRING Name,
@@ -161,7 +161,7 @@ LdrGetProcedureAddress(
 );
 
 VOID
-STDCALL
+NTAPI
 LdrInitializeThunk(
     ULONG Unknown1,
     ULONG Unknown2,
@@ -170,7 +170,7 @@ LdrInitializeThunk(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 LdrLoadDll(
     IN PWSTR SearchPath OPTIONAL,
     IN ULONG LoadFlags,
@@ -179,7 +179,7 @@ LdrLoadDll(
 );
 
 PIMAGE_BASE_RELOCATION
-STDCALL
+NTAPI
 LdrProcessRelocationBlock(
     IN PVOID Address,
     IN USHORT Count,
@@ -188,7 +188,7 @@ LdrProcessRelocationBlock(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 LdrQueryImageFileExecutionOptions(
     IN PUNICODE_STRING SubKey,
     IN PCWSTR ValueName,
@@ -199,7 +199,7 @@ LdrQueryImageFileExecutionOptions(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 LdrQueryProcessModuleInformation(
     IN PMODULE_INFORMATION ModuleInformation OPTIONAL,
     IN ULONG Size OPTIONAL,
@@ -207,19 +207,19 @@ LdrQueryProcessModuleInformation(
 );
 
 NTSTATUS
-STDCALL
+NTAPI
 LdrShutdownProcess(VOID);
 
 NTSTATUS
-STDCALL
+NTAPI
 LdrShutdownThread(VOID);
 
 NTSTATUS
-STDCALL
+NTAPI
 LdrUnloadDll(IN PVOID BaseAddress);
 
 NTSTATUS
-STDCALL
+NTAPI
 LdrVerifyImageMatchesChecksum(
     IN HANDLE FileHandle,
     ULONG Unknown1,
index fe94904..f194913 100644 (file)
@@ -129,5 +129,8 @@ typedef STRING ANSI_STRING;
 typedef PSTRING PANSI_STRING;
 typedef STRING OEM_STRING;
 typedef PSTRING POEM_STRING;
+typedef CONST STRING* PCOEM_STRING;
+typedef STRING CANSI_STRING;
+typedef PSTRING PCANSI_STRING;
 
 #endif
index e5892e7..8654c60 100644 (file)
@@ -423,7 +423,7 @@ GetAce (
 
        Status = RtlGetAce (pAcl,
                            dwAceIndex,
-                           (PACE*)pAce);
+                           pAce);
        if (!NT_SUCCESS(Status))
        {
                SetLastError (RtlNtStatusToDosError (Status));
index e12e5d1..a01087b 100644 (file)
@@ -245,7 +245,7 @@ MakeAbsoluteSD (
 {
        NTSTATUS Status;
 
-       Status = RtlSelfRelativeToAbsoluteSD ((PISECURITY_DESCRIPTOR_RELATIVE)pSelfRelativeSecurityDescriptor,
+       Status = RtlSelfRelativeToAbsoluteSD (pSelfRelativeSecurityDescriptor,
                                              pAbsoluteSecurityDescriptor,
                                              lpdwAbsoluteSecurityDescriptorSize,
                                              pDacl,
@@ -280,7 +280,7 @@ MakeSelfRelativeSD (
        NTSTATUS Status;
 
        Status = RtlAbsoluteToSelfRelativeSD (pAbsoluteSecurityDescriptor,
-                                             (PISECURITY_DESCRIPTOR_RELATIVE)pSelfRelativeSecurityDescriptor,
+                                             pSelfRelativeSecurityDescriptor,
                                              (PULONG)lpdwBufferLength);
        if (!NT_SUCCESS(Status))
        {
index 9256f15..ac02f69 100644 (file)
@@ -182,7 +182,7 @@ STDCALL
 SetFileApisToOEM(VOID)
 {
     /* Set the correct Base Api */
-    Basep8BitStringToUnicodeString = RtlOemStringToUnicodeString;
+    Basep8BitStringToUnicodeString = (PRTL_CONVERT_STRING)RtlOemStringToUnicodeString;
 
     /* FIXME: Old, deprecated way */
     bIsFileApiAnsi = FALSE;
index c11dc4c..1d404ba 100755 (executable)
@@ -151,7 +151,7 @@ Basep8BitStringToHeapUnicodeString(OUT PUNICODE_STRING UnicodeString,
                                    IN LPCSTR String);
 
 typedef NTSTATUS (STDCALL *PRTL_CONVERT_STRING)(IN PUNICODE_STRING UnicodeString,
-                                                IN PANSI_STRING AnsiString,
+                                                IN PCANSI_STRING AnsiString,
                                                 IN BOOLEAN AllocateMemory);
                                                 
 extern PRTL_CONVERT_STRING Basep8BitStringToUnicodeString;
index 6465aa7..180dda8 100644 (file)
@@ -69,7 +69,7 @@ RtlFirstFreeAce(PACL Acl,
 NTSTATUS STDCALL
 RtlGetAce(PACL Acl,
           ULONG AceIndex,
-          PACE *Ace)
+          PVOID *Ace)
 {
    ULONG i;
 
@@ -82,7 +82,7 @@ RtlGetAce(PACL Acl,
       return(STATUS_INVALID_PARAMETER);
    }
    
-   *Ace = (PACE)(Acl + 1);
+   *Ace = (PVOID)((PACE)(Acl + 1));
 
    for (i = 0; i < AceIndex; i++)
    {
@@ -90,7 +90,7 @@ RtlGetAce(PACL Acl,
       {
          return(STATUS_INVALID_PARAMETER);
       }
-      *Ace = (PACE)((ULONG_PTR)(*Ace) + (*Ace)->Header.AceSize);
+      *Ace = (PVOID)((PACE)((ULONG_PTR)(*Ace) + ((PACE)(*Ace))->Header.AceSize));
    }
 
    if ((ULONG_PTR)*Ace >= (ULONG_PTR)Acl + Acl->AclSize)
@@ -262,7 +262,7 @@ NTSTATUS STDCALL
 RtlAddAce(PACL Acl,
           ULONG AclRevision,
           ULONG StartingIndex,
-          PACE AceList,
+          PVOID AceList,
           ULONG AceListLength)
 {
    PACE Ace;
@@ -294,7 +294,7 @@ RtlAddAce(PACL Acl,
         Current = (PACE)((ULONG_PTR)Current + Current->Header.AceSize),
         ++NewAceCount)
    {
-      if (AceList->Header.AceType == ACCESS_ALLOWED_COMPOUND_ACE_TYPE &&
+      if (((PACE)AceList)->Header.AceType == ACCESS_ALLOWED_COMPOUND_ACE_TYPE &&
           AclRevision < ACL_REVISION3)
       {
          return(STATUS_INVALID_PARAMETER);
index 8abd859..d55d8fc 100644 (file)
@@ -243,7 +243,7 @@ RtlMultiByteToUnicodeN(
    IN PWCHAR UnicodeString,
    IN ULONG UnicodeSize,
    IN PULONG ResultSize,
-   IN PCHAR MbString,
+   IN PCSTR MbString,
    IN ULONG MbSize)
 {
    ULONG Size = 0;
@@ -280,7 +280,7 @@ RtlMultiByteToUnicodeN(
  */
 NTSTATUS STDCALL
 RtlMultiByteToUnicodeSize(PULONG UnicodeSize,
-                          PCHAR MbString,
+                          PCSTR MbString,
                           ULONG MbSize)
 {
    ULONG Length;
index 19a4ee5..0fe82d7 100644 (file)
@@ -514,7 +514,7 @@ RtlMakeSelfRelativeSD(PSECURITY_DESCRIPTOR AbsSD,
  */
 NTSTATUS STDCALL
 RtlAbsoluteToSelfRelativeSD(PSECURITY_DESCRIPTOR AbsSD,
-                            PISECURITY_DESCRIPTOR_RELATIVE RelSD,
+                            PSECURITY_DESCRIPTOR RelSD,
                             PULONG BufferLength)
 {
    PAGED_CODE_RTL();
@@ -524,7 +524,7 @@ RtlAbsoluteToSelfRelativeSD(PSECURITY_DESCRIPTOR AbsSD,
       return STATUS_BAD_DESCRIPTOR_FORMAT;
    }
 
-   return RtlMakeSelfRelativeSD(AbsSD, RelSD, BufferLength);
+   return RtlMakeSelfRelativeSD(AbsSD, (PISECURITY_DESCRIPTOR_RELATIVE)RelSD, BufferLength);
 }
 
 
@@ -655,7 +655,7 @@ RtlSetSaclSecurityDescriptor(PSECURITY_DESCRIPTOR SecurityDescriptor,
  * @implemented
  */
 NTSTATUS STDCALL
-RtlSelfRelativeToAbsoluteSD(PISECURITY_DESCRIPTOR_RELATIVE RelSD,
+RtlSelfRelativeToAbsoluteSD(PSECURITY_DESCRIPTOR RelSD,
                             PSECURITY_DESCRIPTOR AbsSD,
                             PDWORD AbsSDSize,
                             PACL Dacl,
@@ -688,7 +688,7 @@ RtlSelfRelativeToAbsoluteSD(PISECURITY_DESCRIPTOR_RELATIVE RelSD,
       return STATUS_BAD_DESCRIPTOR_FORMAT;
    }
 
-   RtlpQuerySecurityDescriptor ((PSECURITY_DESCRIPTOR)RelSD,
+   RtlpQuerySecurityDescriptor (RelSD,
                                 &pOwner,
                                 &OwnerLength,
                                 &pGroup,
@@ -744,7 +744,7 @@ RtlSelfRelativeToAbsoluteSD2(PISECURITY_DESCRIPTOR_RELATIVE SelfRelativeSecurity
  * @implemented
  */
 BOOLEAN STDCALL
-RtlValidRelativeSecurityDescriptor(IN PISECURITY_DESCRIPTOR_RELATIVE SecurityDescriptorInput,
+RtlValidRelativeSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,
                                    IN ULONG SecurityDescriptorLength,
                                    IN SECURITY_INFORMATION RequiredInformation)
 {
index 83e3fbb..01c6f62 100644 (file)
@@ -41,7 +41,7 @@ RtlValidSid(IN PSID Sid_)
  * @implemented
  */
 ULONG STDCALL
-RtlLengthRequiredSid(IN UCHAR SubAuthorityCount)
+RtlLengthRequiredSid(IN ULONG SubAuthorityCount)
 {
   PAGED_CODE_RTL();
 
index b4f10d5..286c2d2 100644 (file)
@@ -125,7 +125,7 @@ NTSTATUS
 STDCALL
 RtlAppendUnicodeStringToString(
    IN OUT PUNICODE_STRING Destination,
-   IN PUNICODE_STRING Source)
+   IN PCUNICODE_STRING Source)
 {
 
    if ((Source->Length + Destination->Length) > Destination->MaximumLength)
@@ -724,8 +724,8 @@ RtlPrefixString(
 BOOLEAN
 STDCALL
 RtlPrefixUnicodeString(
-   PUNICODE_STRING String1,
-   PUNICODE_STRING String2,
+   PCUNICODE_STRING String1,
+   PCUNICODE_STRING String2,
    BOOLEAN  CaseInsensitive)
 {
    PWCHAR pc1;
@@ -792,7 +792,7 @@ RtlPrefixUnicodeString(
 NTSTATUS
 STDCALL
 RtlUnicodeStringToInteger(
-    PUNICODE_STRING str, /* [I] Unicode string to be converted */
+    PCUNICODE_STRING str, /* [I] Unicode string to be converted */
     ULONG base,                /* [I] Number base for conversion (allowed 0, 2, 8, 10 or 16) */
     PULONG value)              /* [O] Destination for the converted value */
 {
@@ -907,7 +907,7 @@ NTSTATUS
 STDCALL
 RtlUnicodeStringToAnsiString(
    IN OUT PANSI_STRING AnsiDest,
-   IN PUNICODE_STRING UniSource,
+   IN PCUNICODE_STRING UniSource,
    IN BOOLEAN AllocateDestinationString)
 {
    NTSTATUS Status = STATUS_SUCCESS;
@@ -915,7 +915,7 @@ RtlUnicodeStringToAnsiString(
 
    if (NlsMbCodePageTag == TRUE)
    {
-      Length = RtlUnicodeStringToAnsiSize(UniSource);
+      Length = RtlUnicodeStringToAnsiSize((PUNICODE_STRING)UniSource);
    }
    else
       Length = (UniSource->Length / sizeof(WCHAR)) + sizeof(CHAR);
@@ -968,14 +968,14 @@ NTSTATUS
 STDCALL
 RtlOemStringToUnicodeString(
    IN OUT PUNICODE_STRING UniDest,
-   IN POEM_STRING OemSource,
+   IN PCOEM_STRING OemSource,
    IN BOOLEAN AllocateDestinationString)
 {
    NTSTATUS Status;
    ULONG Length; /* including nullterm */
 
    if (NlsMbOemCodePageTag == TRUE)
-      Length = RtlOemStringToUnicodeSize(OemSource);
+      Length = RtlOemStringToUnicodeSize((POEM_STRING)OemSource);
    else
       Length = (OemSource->Length * sizeof(WCHAR)) + sizeof(WCHAR);
 
@@ -1029,14 +1029,14 @@ NTSTATUS
 STDCALL
 RtlUnicodeStringToOemString(
    IN OUT POEM_STRING OemDest,
-   IN PUNICODE_STRING UniSource,
+   IN PCUNICODE_STRING UniSource,
    IN BOOLEAN  AllocateDestinationString)
 {
    NTSTATUS Status = STATUS_SUCCESS;
    ULONG Length; //including nullterm
 
    if (NlsMbOemCodePageTag == TRUE)
-      Length = RtlUnicodeStringToAnsiSize (UniSource);
+      Length = RtlUnicodeStringToAnsiSize ((PUNICODE_STRING)UniSource);
    else
       Length = (UniSource->Length / sizeof(WCHAR)) + sizeof(CHAR);
 
@@ -1152,14 +1152,14 @@ NTSTATUS
 STDCALL
 RtlOemStringToCountedUnicodeString(
    IN OUT PUNICODE_STRING UniDest,
-   IN POEM_STRING OemSource,
+   IN PCOEM_STRING OemSource,
    IN BOOLEAN AllocateDestinationString)
 {
    NTSTATUS Status;
    ULONG Length; /* excluding nullterm */
 
    if (NlsMbCodePageTag == TRUE)
-      Length = RtlOemStringToUnicodeSize(OemSource) - sizeof(WCHAR);
+      Length = RtlOemStringToUnicodeSize((POEM_STRING)OemSource) - sizeof(WCHAR);
    else
       Length = OemSource->Length * sizeof(WCHAR);
 
@@ -1707,14 +1707,14 @@ NTSTATUS
 STDCALL
 RtlUpcaseUnicodeStringToCountedOemString(
    IN OUT POEM_STRING OemDest,
-   IN PUNICODE_STRING UniSource,
+   IN PCUNICODE_STRING UniSource,
    IN BOOLEAN AllocateDestinationString)
 {
    NTSTATUS Status;
    ULONG Length; /* excluding nullterm */
 
    if (NlsMbCodePageTag == TRUE)
-      Length = RtlUnicodeStringToAnsiSize(UniSource) - sizeof(CHAR);
+      Length = RtlUnicodeStringToAnsiSize((PUNICODE_STRING)UniSource) - sizeof(CHAR);
    else
       Length = UniSource->Length / sizeof(WCHAR);
 
@@ -1768,7 +1768,7 @@ NTSTATUS
 STDCALL
 RtlUpcaseUnicodeStringToOemString (
    IN OUT POEM_STRING OemDest,
-   IN PUNICODE_STRING UniSource,
+   IN PCUNICODE_STRING UniSource,
    IN BOOLEAN  AllocateDestinationString
 )
 {
@@ -1776,7 +1776,7 @@ RtlUpcaseUnicodeStringToOemString (
    ULONG Length; /* including nullterm */
 
    if (NlsMbOemCodePageTag == TRUE)
-      Length = RtlUnicodeStringToAnsiSize(UniSource);
+      Length = RtlUnicodeStringToAnsiSize((PUNICODE_STRING)UniSource);
    else
       Length = (UniSource->Length / sizeof(WCHAR)) + sizeof(CHAR);
 
@@ -1913,8 +1913,8 @@ RtlUnicodeStringToAnsiSize(
 LONG
 STDCALL
 RtlCompareUnicodeString(
-   IN PUNICODE_STRING s1,
-   IN PUNICODE_STRING s2,
+   IN PCUNICODE_STRING s1,
+   IN PCUNICODE_STRING s2,
    IN BOOLEAN  CaseInsensitive)
 {
    unsigned int len;
@@ -1976,7 +1976,7 @@ VOID
 STDCALL
 RtlCopyUnicodeString(
    IN OUT PUNICODE_STRING DestinationString,
-   IN PUNICODE_STRING SourceString)
+   IN PCUNICODE_STRING SourceString)
 {
    ULONG copylen;
 
@@ -2058,7 +2058,7 @@ RtlCreateUnicodeStringFromAsciiz(
 NTSTATUS STDCALL
 RtlDowncaseUnicodeString(
    IN OUT PUNICODE_STRING UniDest,
-   IN PUNICODE_STRING UniSource,
+   IN PCUNICODE_STRING UniSource,
    IN BOOLEAN AllocateDestinationString)
 {
    ULONG i;
@@ -2303,17 +2303,20 @@ RtlxUnicodeStringToOemSize(IN PUNICODE_STRING UnicodeString)
  * NOTES
  *  See RtlpDuplicateUnicodeString
  */
-NTSTATUS STDCALL
+NTSTATUS
+STDCALL
 RtlDuplicateUnicodeString(
-   INT AddNull,
-   IN PUNICODE_STRING SourceString,
-   PUNICODE_STRING DestinationString)
+   IN ULONG Flags,
+   IN PCUNICODE_STRING SourceString,
+   OUT PUNICODE_STRING DestinationString)
 {
    if (SourceString == NULL || DestinationString == NULL)
       return STATUS_INVALID_PARAMETER;
 
 
-   if (SourceString->Length == 0 && AddNull != 3)
+   if ((SourceString->Length == 0) && 
+       (Flags != (RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE | 
+                  RTL_DUPLICATE_UNICODE_STRING_ALLOCATE_NULL_STRING)))
    {
       DestinationString->Length = 0;
       DestinationString->MaximumLength = 0;
@@ -2323,7 +2326,7 @@ RtlDuplicateUnicodeString(
    {
       UINT DestMaxLength = SourceString->Length;
 
-      if (AddNull)
+      if (Flags & RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE)
          DestMaxLength += sizeof(UNICODE_NULL);
 
       DestinationString->Buffer = RtlpAllocateStringMemory(DestMaxLength, TAG_USTR);
@@ -2334,7 +2337,7 @@ RtlDuplicateUnicodeString(
       DestinationString->Length = SourceString->Length;
       DestinationString->MaximumLength = DestMaxLength;
 
-      if (AddNull)
+      if (Flags & RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE)
          DestinationString->Buffer[DestinationString->Length / sizeof(WCHAR)] = 0;
    }
 
index fc9c4cb..608502d 100644 (file)
@@ -329,6 +329,9 @@ extern LARGE_INTEGER                IoOtherTransferCount;
 #define PIN_NO_READ                     (4)
 #define PIN_IF_BCB                      (8)
 
+#define RTL_DUPLICATE_UNICODE_STRING_NULL_TERMINATE 1
+#define RTL_DUPLICATE_UNICODE_STRING_ALLOCATE_NULL_STRING 2
+
 /* also in winnt.h */
 #define SEC_BASED      0x00200000
 #define SEC_NO_CHANGE  0x00400000
@@ -3585,7 +3588,7 @@ NTSTATUS
 NTAPI
 RtlAbsoluteToSelfRelativeSD (
     IN PSECURITY_DESCRIPTOR              AbsoluteSecurityDescriptor,
-    IN OUT PISECURITY_DESCRIPTOR_RELATIVE SelfRelativeSecurityDescriptor,
+    IN OUT PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
     IN PULONG                            BufferLength
 );
 
@@ -3788,7 +3791,7 @@ NTSYSAPI
 ULONG
 NTAPI
 RtlLengthRequiredSid (
-    IN UCHAR SubAuthorityCount
+    IN ULONG SubAuthorityCount
 );
 
 NTSYSAPI
index 8f406e3..3c67f4c 100644 (file)
@@ -5105,7 +5105,7 @@ NTSTATUS
 DDKAPI
 RtlAppendUnicodeStringToString(
   IN OUT PUNICODE_STRING  Destination,
-  IN PUNICODE_STRING  Source);
+  IN PCUNICODE_STRING  Source);
 
 NTOSAPI
 NTSTATUS
@@ -5193,8 +5193,8 @@ NTOSAPI
 LONG
 DDKAPI
 RtlCompareUnicodeString(
-  IN PUNICODE_STRING  String1,
-  IN PUNICODE_STRING  String2,
+  IN PCUNICODE_STRING  String1,
+  IN PCUNICODE_STRING  String2,
   IN BOOLEAN  CaseInSensitive);
 
 NTOSAPI
@@ -5257,7 +5257,7 @@ VOID
 DDKAPI
 RtlCopyUnicodeString(
   IN OUT PUNICODE_STRING  DestinationString,
-  IN PUNICODE_STRING  SourceString);
+  IN PCUNICODE_STRING  SourceString);
 
 NTOSAPI
 NTSTATUS
@@ -5562,8 +5562,8 @@ NTOSAPI
 BOOLEAN
 DDKAPI
 RtlPrefixUnicodeString(
-  IN PUNICODE_STRING  String1,
-  IN PUNICODE_STRING  String2,
+  IN PCUNICODE_STRING  String1,
+  IN PCUNICODE_STRING  String2,
   IN BOOLEAN  CaseInSensitive);
 
 NTOSAPI
@@ -5716,14 +5716,14 @@ NTSTATUS
 DDKAPI
 RtlUnicodeStringToAnsiString(
   IN OUT PANSI_STRING  DestinationString,
-  IN PUNICODE_STRING  SourceString,
+  IN PCUNICODE_STRING  SourceString,
   IN BOOLEAN  AllocateDestinationString);
 
 NTOSAPI
 NTSTATUS
 DDKAPI
 RtlUnicodeStringToInteger(
-  IN PUNICODE_STRING  String,
+  IN PCUNICODE_STRING  String,
   IN ULONG  Base  OPTIONAL,
   OUT PULONG  Value);
 
@@ -5764,7 +5764,7 @@ NTOSAPI
 BOOLEAN
 DDKAPI
 RtlValidRelativeSecurityDescriptor(
-  IN PISECURITY_DESCRIPTOR_RELATIVE  SecurityDescriptorInput,
+  IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,
   IN ULONG  SecurityDescriptorLength,
   IN SECURITY_INFORMATION  RequiredInformation);
 
index 4ec1b66..404b035 100644 (file)
@@ -51,6 +51,9 @@ typedef STRING ANSI_STRING;
 typedef PSTRING PANSI_STRING;
 typedef STRING OEM_STRING;
 typedef PSTRING POEM_STRING;
+typedef CONST STRING* PCOEM_STRING;
+typedef STRING CANSI_STRING;
+typedef PSTRING PCANSI_STRING;
 typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS;
 typedef enum _SECTION_INHERIT {
   ViewShare = 1,