Implemented RtlUshortByteSwap

This commit is contained in:
PatrickvL 2016-12-26 19:51:22 +01:00
parent 9383e9f6a9
commit 1e639d98af
5 changed files with 34 additions and 2 deletions

View File

@ -502,7 +502,14 @@ XBSYSAPI EXPORTNUM(317) VOID NTAPI RtlUpperString
IN PSTRING SourceString IN PSTRING SourceString
); );
XBSYSAPI VOID *RtlUshortByteSwap; // ******************************************************************
// * 0x013E - RtlUshortByteSwap()
// ******************************************************************
XBSYSAPI EXPORTNUM(318) USHORT FASTCALL RtlUshortByteSwap
(
IN USHORT Source
);
XBSYSAPI VOID *RtlWalkFrameChain; XBSYSAPI VOID *RtlWalkFrameChain;
// ****************************************************************** // ******************************************************************

View File

@ -1178,6 +1178,21 @@ XBSYSAPI EXPORTNUM(317) xboxkrnl::VOID NTAPI xboxkrnl::RtlUpperString
NtDll::RtlUpperString((NtDll::PSTRING)DestinationString, (NtDll::PSTRING)SourceString); NtDll::RtlUpperString((NtDll::PSTRING)DestinationString, (NtDll::PSTRING)SourceString);
} }
// ******************************************************************
// * 0x013E - RtlUshortByteSwap()
// ******************************************************************
XBSYSAPI EXPORTNUM(318) xboxkrnl::USHORT FASTCALL xboxkrnl::RtlUshortByteSwap
(
IN USHORT Source
)
{
LOG_FUNC_ONE_ARG(Source);
ULONG ret = NtDll::RtlUshortByteSwap(Source);
RETURN(ret);
}
// Prevent errors compiling RtlZeroMemory (TODO : How should we really do this?) // Prevent errors compiling RtlZeroMemory (TODO : How should we really do this?)
#undef RtlZeroMemory #undef RtlZeroMemory

View File

@ -155,3 +155,4 @@ IMPORT(RtlUpcaseUnicodeChar);
IMPORT(RtlUpcaseUnicodeString); IMPORT(RtlUpcaseUnicodeString);
IMPORT(RtlUpcaseUnicodeToMultiByteN); IMPORT(RtlUpcaseUnicodeToMultiByteN);
IMPORT(RtlUpperString); IMPORT(RtlUpperString);
IMPORT(RtlUshortByteSwap);

View File

@ -986,6 +986,14 @@ typedef VOID (NTAPI *FPTR_RtlUpperString)
IN const STRING *SourceString IN const STRING *SourceString
); );
// ******************************************************************
// * RtlUshortByteSwap
// ******************************************************************
typedef USHORT (FASTCALL *FPTR_RtlUshortByteSwap)
(
IN USHORT Source
);
// ****************************************************************** // ******************************************************************
// * RtlCompareMemory // * RtlCompareMemory
// ****************************************************************** // ******************************************************************
@ -1956,6 +1964,7 @@ EXTERN(RtlUpcaseUnicodeChar);
EXTERN(RtlUpcaseUnicodeString); EXTERN(RtlUpcaseUnicodeString);
EXTERN(RtlUpcaseUnicodeToMultiByteN); EXTERN(RtlUpcaseUnicodeToMultiByteN);
EXTERN(RtlUpperString); EXTERN(RtlUpperString);
EXTERN(RtlUshortByteSwap);
#if defined(__cplusplus) #if defined(__cplusplus)
} }

View File

@ -383,7 +383,7 @@ extern "C" CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[379] =
(uint32)FUNC(&xboxkrnl::RtlUpcaseUnicodeToMultiByteN), // 0x013B (315) (uint32)FUNC(&xboxkrnl::RtlUpcaseUnicodeToMultiByteN), // 0x013B (315)
(uint32)FUNC(&xboxkrnl::RtlUpperChar), // 0x013C (316) (uint32)FUNC(&xboxkrnl::RtlUpperChar), // 0x013C (316)
(uint32)FUNC(&xboxkrnl::RtlUpperString), // 0x013D (317) (uint32)FUNC(&xboxkrnl::RtlUpperString), // 0x013D (317)
(uint32)PANIC(0x013E), // 0x013E (318) RtlUshortByteSwap (uint32)FUNC(&xboxkrnl::RtlUshortByteSwap), // 0x013E (318)
(uint32)PANIC(0x013F), // 0x013F (319) RtlWalkFrameChain (uint32)PANIC(0x013F), // 0x013F (319) RtlWalkFrameChain
(uint32)FUNC(&xboxkrnl::RtlZeroMemory), // 0x0140 (320) (uint32)FUNC(&xboxkrnl::RtlZeroMemory), // 0x0140 (320)
(uint32)VARIABLE(&xboxkrnl::XboxEEPROMKey), // 0x0141 (321) (uint32)VARIABLE(&xboxkrnl::XboxEEPROMKey), // 0x0141 (321)