mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
Add byte swap functions.
svn path=/trunk/; revision=8011
This commit is contained in:
parent
ffa90a12e2
commit
cd98a247e4
6 changed files with 115 additions and 68 deletions
|
@ -2172,18 +2172,7 @@ NTSTATUS STDCALL RtlpUnWaitCriticalSection(RTL_CRITICAL_SECTION *crit);
|
|||
NTSTATUS STDCALL RtlpWaitForCriticalSection(RTL_CRITICAL_SECTION *crit);
|
||||
NTSTATUS STDCALL LdrLockLoaderLock(ULONG flags, ULONG *result, ULONG *magic);
|
||||
NTSTATUS STDCALL LdrUnlockLoaderLock(ULONG flags, ULONG magic);
|
||||
NTSTATUS STDCALL RtlAddAccessAllowedAceEx(
|
||||
IN OUT PACL pAcl,
|
||||
IN DWORD dwAceRevision,
|
||||
IN DWORD AceFlags,
|
||||
IN DWORD AccessMask,
|
||||
IN PSID pSid);
|
||||
NTSTATUS STDCALL RtlAddAccessDeniedAceEx(
|
||||
IN OUT PACL pAcl,
|
||||
IN DWORD dwAceRevision,
|
||||
IN DWORD AceFlags,
|
||||
IN DWORD AccessMask,
|
||||
IN PSID pSid);
|
||||
|
||||
NTSTATUS STDCALL RtlDuplicateUnicodeString(
|
||||
int add_nul,
|
||||
const UNICODE_STRING *source,
|
||||
|
@ -2194,7 +2183,6 @@ NTSTATUS STDCALL RtlFindCharInUnicodeString(
|
|||
const UNICODE_STRING *search_chars,
|
||||
USHORT *pos);
|
||||
NTSTATUS STDCALL RtlInitUnicodeStringEx(PUNICODE_STRING target,PCWSTR source);
|
||||
NTSTATUS STDCALL RtlInt64ToUnicodeString(ULONGLONG value,ULONG base,UNICODE_STRING *str);
|
||||
|
||||
ULONG
|
||||
__cdecl
|
||||
|
@ -2335,12 +2323,6 @@ NtUnloadKeyEx(
|
|||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlGUIDFromString(
|
||||
IN PUNICODE_STRING GuidString,
|
||||
OUT GUID* Guid
|
||||
);
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
RtlGetVersion(
|
||||
OUT PRTL_OSVERSIONINFOW lpVersionInformation
|
||||
);
|
||||
|
@ -2352,21 +2334,6 @@ RtlHashUnicodeString(
|
|||
IN ULONG HashAlgorithm,
|
||||
OUT PULONG HashValue
|
||||
);
|
||||
USHORT
|
||||
FASTCALL
|
||||
RtlUshortByteSwap(
|
||||
IN USHORT Source
|
||||
);
|
||||
ULONG
|
||||
FASTCALL
|
||||
RtlUlongByteSwap(
|
||||
IN ULONG Source
|
||||
);
|
||||
ULONGLONG
|
||||
FASTCALL
|
||||
RtlUlonglongByteSwap(
|
||||
IN ULONGLONG Source
|
||||
);
|
||||
BOOL
|
||||
STDCALL
|
||||
RtlValidRelativeSecurityDescriptor (
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: rtl.h,v 1.42 2004/02/01 20:44:59 ekohl Exp $
|
||||
/* $Id: rtl.h,v 1.43 2004/02/03 14:19:56 ekohl Exp $
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -116,34 +116,47 @@ typedef struct _RTL_HANDLE_TABLE
|
|||
#define PDI_HEAP_BLOCKS 0x10 /* The heap blocks */
|
||||
#define PDI_LOCKS 0x20 /* The locks created by the process */
|
||||
|
||||
VOID STDCALL
|
||||
RtlDeleteCriticalSection (
|
||||
PCRITICAL_SECTION CriticalSection
|
||||
);
|
||||
|
||||
VOID STDCALL
|
||||
RtlEnterCriticalSection (
|
||||
PCRITICAL_SECTION CriticalSection
|
||||
);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlInitializeCriticalSection (
|
||||
PCRITICAL_SECTION CriticalSection
|
||||
);
|
||||
RtlAddAccessAllowedAceEx (IN OUT PACL Acl,
|
||||
IN ULONG Revision,
|
||||
IN ULONG Flags,
|
||||
IN ACCESS_MASK AccessMask,
|
||||
IN PSID Sid);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlAddAccessDeniedAceEx (IN OUT PACL Acl,
|
||||
IN ULONG Revision,
|
||||
IN ULONG Flags,
|
||||
IN ACCESS_MASK AccessMask,
|
||||
IN PSID Sid);
|
||||
|
||||
VOID STDCALL
|
||||
RtlDeleteCriticalSection (PCRITICAL_SECTION CriticalSection);
|
||||
|
||||
WCHAR STDCALL
|
||||
RtlDowncaseUnicodeChar(IN WCHAR Source);
|
||||
|
||||
VOID STDCALL
|
||||
RtlEnterCriticalSection (PCRITICAL_SECTION CriticalSection);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlInitializeCriticalSection (PCRITICAL_SECTION CriticalSection);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlInitializeCriticalSectionAndSpinCount (PCRITICAL_SECTION CriticalSection,
|
||||
ULONG SpinCount);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlInt64ToUnicodeString (IN ULONGLONG Value,
|
||||
IN ULONG Base,
|
||||
PUNICODE_STRING String);
|
||||
|
||||
VOID STDCALL
|
||||
RtlLeaveCriticalSection (
|
||||
PCRITICAL_SECTION CriticalSection
|
||||
);
|
||||
RtlLeaveCriticalSection (PCRITICAL_SECTION CriticalSection);
|
||||
|
||||
BOOLEAN STDCALL
|
||||
RtlTryEnterCriticalSection (
|
||||
PCRITICAL_SECTION CriticalSection
|
||||
);
|
||||
RtlTryEnterCriticalSection (PCRITICAL_SECTION CriticalSection);
|
||||
|
||||
DWORD STDCALL
|
||||
RtlCompactHeap (
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: rtl.h,v 1.26 2004/02/02 00:35:00 ekohl Exp $
|
||||
/* $Id: rtl.h,v 1.27 2004/02/03 14:19:29 ekohl Exp $
|
||||
*
|
||||
*/
|
||||
#ifndef __DDK_RTL_H
|
||||
|
@ -1243,6 +1243,10 @@ RtlGetSaclSecurityDescriptor (PSECURITY_DESCRIPTOR SecurityDescriptor,
|
|||
PACL* Sacl,
|
||||
PBOOLEAN SaclDefaulted);
|
||||
|
||||
NTSTATUS STDCALL
|
||||
RtlGUIDFromString (IN PUNICODE_STRING GuidString,
|
||||
OUT GUID* Guid);
|
||||
|
||||
PSID_IDENTIFIER_AUTHORITY STDCALL
|
||||
RtlIdentifierAuthoritySid (PSID Sid);
|
||||
|
||||
|
@ -1965,6 +1969,12 @@ RtlTimeToTimeFields (
|
|||
PTIME_FIELDS TimeFields
|
||||
);
|
||||
|
||||
ULONG FASTCALL
|
||||
RtlUlongByteSwap (IN ULONG Source);
|
||||
|
||||
ULONGLONG FASTCALL
|
||||
RtlUlonglongByteSwap (IN ULONGLONG Source);
|
||||
|
||||
ULONG
|
||||
STDCALL
|
||||
RtlUnicodeStringToAnsiSize (
|
||||
|
@ -2135,18 +2145,15 @@ RtlUpcaseUnicodeToOemN (
|
|||
ULONG UnicodeSize
|
||||
);
|
||||
|
||||
CHAR
|
||||
STDCALL
|
||||
RtlUpperChar (
|
||||
CHAR Source
|
||||
);
|
||||
CHAR STDCALL
|
||||
RtlUpperChar (CHAR Source);
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
RtlUpperString (
|
||||
PSTRING DestinationString,
|
||||
PSTRING SourceString
|
||||
);
|
||||
VOID STDCALL
|
||||
RtlUpperString (PSTRING DestinationString,
|
||||
PSTRING SourceString);
|
||||
|
||||
USHORT FASTCALL
|
||||
RtlUshortByteSwap (IN USHORT Source);
|
||||
|
||||
BOOLEAN STDCALL
|
||||
RtlValidAcl (PACL Acl);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; $Id: ntoskrnl.def,v 1.173 2004/02/02 00:36:07 ekohl Exp $
|
||||
; $Id: ntoskrnl.def,v 1.174 2004/02/03 14:23:29 ekohl Exp $
|
||||
;
|
||||
; reactos/ntoskrnl/ntoskrnl.def
|
||||
;
|
||||
|
@ -840,6 +840,8 @@ RtlTimeFieldsToTime@8
|
|||
RtlTimeToSecondsSince1970@8
|
||||
RtlTimeToSecondsSince1980@8
|
||||
RtlTimeToTimeFields@8
|
||||
@RtlUlongByteSwap@4
|
||||
@RtlUlonglongByteSwap@8
|
||||
RtlUnicodeStringToAnsiSize@4
|
||||
RtlUnicodeStringToAnsiString@12
|
||||
RtlUnicodeStringToCountedOemString@12
|
||||
|
@ -861,6 +863,7 @@ RtlUpcaseUnicodeToMultiByteN@20
|
|||
RtlUpcaseUnicodeToOemN@20
|
||||
RtlUpperChar@4
|
||||
RtlUpperString@8
|
||||
@RtlUshortByteSwap@4
|
||||
RtlValidSecurityDescriptor@4
|
||||
RtlValidSid@4
|
||||
RtlWriteRegistryValue@24
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; $Id: ntoskrnl.edf,v 1.160 2004/02/02 00:36:07 ekohl Exp $
|
||||
; $Id: ntoskrnl.edf,v 1.161 2004/02/03 14:23:29 ekohl Exp $
|
||||
;
|
||||
; reactos/ntoskrnl/ntoskrnl.def
|
||||
;
|
||||
|
@ -840,6 +840,8 @@ RtlTimeFieldsToTime=RtlTimeFieldsToTime@8
|
|||
RtlTimeToSecondsSince1970=RtlTimeToSecondsSince1970@8
|
||||
RtlTimeToSecondsSince1980=RtlTimeToSecondsSince1980@8
|
||||
RtlTimeToTimeFields=RtlTimeToTimeFields@8
|
||||
@RtlUlongByteSwap=@RtlUlongByteSwap@4
|
||||
@RtlUlonglongByteSwap=@RtlUlonglongByteSwap@8
|
||||
RtlUnicodeStringToAnsiSize=RtlUnicodeStringToAnsiSize@4
|
||||
RtlUnicodeStringToAnsiString=RtlUnicodeStringToAnsiString@12
|
||||
RtlUnicodeStringToCountedOemString=RtlUnicodeStringToCountedOemString@12
|
||||
|
@ -861,6 +863,7 @@ RtlUpcaseUnicodeToMultiByteN=RtlUpcaseUnicodeToMultiByteN@20
|
|||
RtlUpcaseUnicodeToOemN=RtlUpcaseUnicodeToOemN@20
|
||||
RtlUpperChar=RtlUpperChar@4
|
||||
RtlUpperString=RtlUpperString@8
|
||||
@RtlUshortByteSwap=@RtlUshortByteSwap@4
|
||||
RtlValidSecurityDescriptor=RtlValidSecurityDescriptor@4
|
||||
RtlValidSid=RtlValidSid@4
|
||||
RtlWriteRegistryValue=RtlWriteRegistryValue@24
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: mem.c,v 1.20 2003/08/10 07:05:24 gvg Exp $
|
||||
/* $Id: mem.c,v 1.21 2004/02/03 14:24:02 ekohl Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -219,4 +219,58 @@ RtlZeroMemory (
|
|||
);
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* RtlUshortByteSwap
|
||||
*
|
||||
* Swap the bytes of an unsigned short value.
|
||||
*
|
||||
* NOTES
|
||||
* Based on the inline versions in Wine winternl.h
|
||||
*
|
||||
* @implemented
|
||||
*/
|
||||
USHORT FASTCALL
|
||||
RtlUshortByteSwap (IN USHORT Source)
|
||||
{
|
||||
return (Source >> 8) | (Source << 8);
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* RtlUlongByteSwap
|
||||
*
|
||||
* Swap the bytes of an unsigned int value.
|
||||
*
|
||||
* NOTES
|
||||
* Based on the inline versions in Wine winternl.h
|
||||
*
|
||||
* @implemented
|
||||
*/
|
||||
ULONG FASTCALL
|
||||
RtlUlongByteSwap (IN ULONG Source)
|
||||
{
|
||||
return ((ULONG) RtlUshortByteSwap ((USHORT)Source) << 16) | RtlUshortByteSwap ((USHORT)(Source >> 16));
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* RtlUlonglongByteSwap
|
||||
*
|
||||
* Swap the bytes of an unsigned long long value.
|
||||
*
|
||||
* PARAMS
|
||||
* i [I] Value to swap bytes of
|
||||
*
|
||||
* RETURNS
|
||||
* The value with its bytes swapped.
|
||||
*
|
||||
* @implemented
|
||||
*/
|
||||
ULONGLONG FASTCALL
|
||||
RtlUlonglongByteSwap (IN ULONGLONG Source)
|
||||
{
|
||||
return ((ULONGLONG) RtlUlongByteSwap (Source) << 32) | RtlUlongByteSwap (Source>>32);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
Loading…
Reference in a new issue