Use fixed width types for xbox types + restructured kernel header files (#1969)

* VOID -> void_xt

* CHAR, CCHAR -> char_xt, cchar_xt

* UCHAR -> uchar_xt

* BYTE, BOOLEAN -> byte_xt, boolean_xt

* Fix bogus intellisense errors in the kernel headers

* SHORT, CSHORT, USHORT -> short_xt, cshort_xt, ushort_xt

* LONG -> long_xt

* WORD, DWORD -> word_xt, dword_xt

* HRESULT -> hresult_xt

* ULONG -> ulong_xt

* SIZE_T, ACCESS_MASK, PHYSICAL_ADDRESS -> size_xt, access_mask_xt, physical_address_xt

* UINT, INT -> uint_xt, int_xt

* LONG_PTR, ULONG_PTR, INT_PTR -> long_ptr_xt, ulong_ptr_xt, int_ptr_xt

* LONGLONG, ULONGLONG -> longlong_xt, ulonglong_xt

* WCHAR, QUAD, BOOL, FLOAT -> wchar_xt, quad_xt, bool_xt, float_xt

* Updated types in xonline.h + reverted some type changes + moved kernel header files in cxbxr source tree

* Use char16_t instead of wchar_t for wchar_xt xbox type

* Fixed macro redefinition warnings from ntstatus macros in types.h
  Fixed macro redefinition warnings from NT_SUCCESS and FIELD_OFFSET
  Fixed macro redefinition warnings from the REG_ macros used by the eeprom

* NTSTATUS -> ntstatus_xt
This commit is contained in:
ergo720 2020-10-06 12:33:16 +02:00 committed by GitHub
parent 8a1e4b1beb
commit 13bd79f930
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
122 changed files with 4719 additions and 4650 deletions

View File

@ -28,7 +28,7 @@
#define LOG_PREFIX_INIT CXBXR_MODULE::INIT
#include <xboxkrnl/xboxkrnl.h> // For XC_VALUE_INDEX and XBOX_EEPROM
#include <core\kernel\exports\xboxkrnl.h> // For XC_VALUE_INDEX and XBOX_EEPROM
#include <stdio.h> // For printf
#include <shlobj.h> // For HANDLE, CreateFile, CreateFileMapping, MapViewOfFile
#include <random>
@ -41,7 +41,7 @@
xbox::XBOX_EEPROM *EEPROM = nullptr; // Set using CxbxRestoreEEPROM()
// Default value (NA), overwritten with the actual content in the eeprom by CxbxRestoreEEPROM
xbox::ULONG XboxFactoryGameRegion = XC_GAME_REGION_NA;
xbox::ulong_xt XboxFactoryGameRegion = XC_GAME_REGION_NA;
const EEPROMInfo* EmuFindEEPROMInfo(xbox::XC_VALUE_INDEX index)
{

View File

@ -27,10 +27,7 @@
#ifndef EMU_EEPROM_H
#define EMU_EEPROM_H
#undef _WIN32 // Compile-in REG_DWORD and friends, since we lack a <windows> include here
#include <xboxkrnl/xboxkrnl.h> // For XC_VALUE_INDEX and XBOX_EEPROM
#define _WIN32
#include <core\kernel\exports\xboxkrnl.h> // For XC_VALUE_INDEX and XBOX_EEPROM
#define EEPROM_SIZE sizeof(xbox::XBOX_EEPROM)
@ -47,38 +44,38 @@ typedef struct EEPROMInfo {
{ xbox::XC, offsetof(xbox::XBOX_EEPROM, Member), REG_Type, sizeof(((xbox::XBOX_EEPROM *)0)->Member) }
static const EEPROMInfo EEPROMInfos[] = {
EEPROM_INFO_ENTRY(XC_TIMEZONE_BIAS, UserSettings.TimeZoneBias, REG_DWORD),
EEPROM_INFO_ENTRY(XC_TZ_STD_NAME, UserSettings.TimeZoneStdName, REG_BINARY),
EEPROM_INFO_ENTRY(XC_TZ_STD_DATE, UserSettings.TimeZoneStdDate, REG_DWORD),
EEPROM_INFO_ENTRY(XC_TZ_STD_BIAS, UserSettings.TimeZoneStdBias, REG_DWORD),
EEPROM_INFO_ENTRY(XC_TZ_DLT_NAME, UserSettings.TimeZoneDltName, REG_BINARY),
EEPROM_INFO_ENTRY(XC_TZ_DLT_DATE, UserSettings.TimeZoneDltDate, REG_DWORD),
EEPROM_INFO_ENTRY(XC_TZ_DLT_BIAS, UserSettings.TimeZoneDltBias, REG_DWORD),
EEPROM_INFO_ENTRY(XC_LANGUAGE, UserSettings.Language, REG_DWORD),
EEPROM_INFO_ENTRY(XC_VIDEO, UserSettings.VideoFlags, REG_DWORD),
EEPROM_INFO_ENTRY(XC_AUDIO, UserSettings.AudioFlags, REG_DWORD),
EEPROM_INFO_ENTRY(XC_P_CONTROL_GAMES, UserSettings.ParentalControlGames, REG_DWORD), // Zapper queries this. TODO : Should this be REG_NONE?
EEPROM_INFO_ENTRY(XC_P_CONTROL_PASSWORD, UserSettings.ParentalControlPassword, REG_DWORD),
EEPROM_INFO_ENTRY(XC_P_CONTROL_MOVIES, UserSettings.ParentalControlMovies, REG_DWORD), // Xbox Dashboard queries this.
EEPROM_INFO_ENTRY(XC_ONLINE_IP_ADDRESS, UserSettings.OnlineIpAddress, REG_DWORD),
EEPROM_INFO_ENTRY(XC_ONLINE_DNS_ADDRESS, UserSettings.OnlineDnsAddress, REG_DWORD),
EEPROM_INFO_ENTRY(XC_ONLINE_DEFAULT_GATEWAY_ADDRESS, UserSettings.OnlineDefaultGatewayAddress, REG_DWORD),
EEPROM_INFO_ENTRY(XC_ONLINE_SUBNET_ADDRESS, UserSettings.OnlineSubnetMask, REG_DWORD),
EEPROM_INFO_ENTRY(XC_MISC, UserSettings.MiscFlags, REG_DWORD),
EEPROM_INFO_ENTRY(XC_DVD_REGION, UserSettings.DvdRegion, REG_DWORD),
EEPROM_INFO_ENTRY(XC_MAX_OS, UserSettings, REG_BINARY),
EEPROM_INFO_ENTRY(XC_TIMEZONE_BIAS, UserSettings.TimeZoneBias, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_TZ_STD_NAME, UserSettings.TimeZoneStdName, xbox::reg_binary),
EEPROM_INFO_ENTRY(XC_TZ_STD_DATE, UserSettings.TimeZoneStdDate, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_TZ_STD_BIAS, UserSettings.TimeZoneStdBias, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_TZ_DLT_NAME, UserSettings.TimeZoneDltName, xbox::reg_binary),
EEPROM_INFO_ENTRY(XC_TZ_DLT_DATE, UserSettings.TimeZoneDltDate, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_TZ_DLT_BIAS, UserSettings.TimeZoneDltBias, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_LANGUAGE, UserSettings.Language, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_VIDEO, UserSettings.VideoFlags, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_AUDIO, UserSettings.AudioFlags, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_P_CONTROL_GAMES, UserSettings.ParentalControlGames, xbox::reg_dword), // Zapper queries this. TODO : Should this be xbox::reg_none?
EEPROM_INFO_ENTRY(XC_P_CONTROL_PASSWORD, UserSettings.ParentalControlPassword, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_P_CONTROL_MOVIES, UserSettings.ParentalControlMovies, xbox::reg_dword), // Xbox Dashboard queries this.
EEPROM_INFO_ENTRY(XC_ONLINE_IP_ADDRESS, UserSettings.OnlineIpAddress, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_ONLINE_DNS_ADDRESS, UserSettings.OnlineDnsAddress, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_ONLINE_DEFAULT_GATEWAY_ADDRESS, UserSettings.OnlineDefaultGatewayAddress, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_ONLINE_SUBNET_ADDRESS, UserSettings.OnlineSubnetMask, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_MISC, UserSettings.MiscFlags, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_DVD_REGION, UserSettings.DvdRegion, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_MAX_OS, UserSettings, xbox::reg_binary),
// XC_MAX_OS is called to return a complete XBOX_USER_SETTINGS structure
//
// One example is from XapipQueryTimeZoneInformation(, REG_DWORD, sizeof(DWORD), where it is used to
// One example is from XapipQueryTimeZoneInformation(, xbox::reg_dword, sizeof(DWORD), where it is used to
// detect the local timezone information.
EEPROM_INFO_ENTRY(XC_FACTORY_SERIAL_NUMBER, FactorySettings.SerialNumber, REG_BINARY),
EEPROM_INFO_ENTRY(XC_FACTORY_ETHERNET_ADDR, FactorySettings.EthernetAddr, REG_BINARY),
EEPROM_INFO_ENTRY(XC_FACTORY_ONLINE_KEY, FactorySettings.OnlineKey, REG_BINARY),
EEPROM_INFO_ENTRY(XC_FACTORY_AV_REGION, FactorySettings.AVRegion, REG_DWORD),
// Note : XC_FACTORY_GAME_REGION is linked to a separate ULONG XboxFactoryGameRegion (of type REG_DWORD)
EEPROM_INFO_ENTRY(XC_FACTORY_GAME_REGION, EncryptedSettings.GameRegion, REG_DWORD),
EEPROM_INFO_ENTRY(XC_ENCRYPTED_SECTION, EncryptedSettings, REG_BINARY),
{ xbox::XC_MAX_ALL, 0, REG_BINARY, sizeof(xbox::XBOX_EEPROM) },
EEPROM_INFO_ENTRY(XC_FACTORY_SERIAL_NUMBER, FactorySettings.SerialNumber, xbox::reg_binary),
EEPROM_INFO_ENTRY(XC_FACTORY_ETHERNET_ADDR, FactorySettings.EthernetAddr, xbox::reg_binary),
EEPROM_INFO_ENTRY(XC_FACTORY_ONLINE_KEY, FactorySettings.OnlineKey, xbox::reg_binary),
EEPROM_INFO_ENTRY(XC_FACTORY_AV_REGION, FactorySettings.AVRegion, xbox::reg_dword),
// Note : XC_FACTORY_GAME_REGION is linked to a separate ULONG XboxFactoryGameRegion (of type xbox::reg_dword)
EEPROM_INFO_ENTRY(XC_FACTORY_GAME_REGION, EncryptedSettings.GameRegion, xbox::reg_dword),
EEPROM_INFO_ENTRY(XC_ENCRYPTED_SECTION, EncryptedSettings, xbox::reg_binary),
{ xbox::XC_MAX_ALL, 0, xbox::reg_binary, sizeof(xbox::XBOX_EEPROM) },
{ XC_END_MARKER }
};
@ -148,7 +145,7 @@ extern const EEPROMInfo* EmuFindEEPROMInfo(xbox::XC_VALUE_INDEX index);
extern xbox::XBOX_EEPROM *EEPROM;
extern xbox::ULONG XboxFactoryGameRegion;
extern xbox::ulong_xt XboxFactoryGameRegion;
extern void EmuEEPROMReset(xbox::XBOX_EEPROM* eeprom);

View File

@ -36,7 +36,7 @@
#define LOG_PREFIX CXBXR_MODULE::INPSYS
#include <xboxkrnl/xboxkrnl.h> // For PKINTERRUPT, etc.
#include <core\kernel\exports\xboxkrnl.h> // For PKINTERRUPT, etc.
#include "SdlJoystick.h"
#include "XInputPad.h"
#include "DInputKeyboardMouse.h"

View File

@ -148,7 +148,7 @@ size_t IoVecFromBuffer(const IoVec* iov, unsigned int iov_cnt, size_t offset, vo
}
// Read an array of DWORDs in memory
bool GetDwords(xbox::addr Paddr, uint32_t* Buffer, int Number)
bool GetDwords(xbox::addr_xt Paddr, uint32_t* Buffer, int Number)
{
for (int i = 0; i < Number; i++, Buffer++, Paddr += sizeof(*Buffer)) {
// dropped little -> big endian conversion from XQEMU
@ -160,7 +160,7 @@ bool GetDwords(xbox::addr Paddr, uint32_t* Buffer, int Number)
}
// Write an array of DWORDs in memory
bool WriteDwords(xbox::addr Paddr, uint32_t* Buffer, int Number)
bool WriteDwords(xbox::addr_xt Paddr, uint32_t* Buffer, int Number)
{
for (int i = 0; i < Number; i++, Buffer++, Paddr += sizeof(*Buffer)) {
// dropped big -> little endian conversion from XQEMU
@ -172,7 +172,7 @@ bool WriteDwords(xbox::addr Paddr, uint32_t* Buffer, int Number)
}
// Read an array of WORDs in memory
bool GetWords(xbox::addr Paddr, uint16_t* Buffer, int Number)
bool GetWords(xbox::addr_xt Paddr, uint16_t* Buffer, int Number)
{
for (int i = 0; i < Number; i++, Buffer++, Paddr += sizeof(*Buffer)) {
// dropped little -> big endian conversion from XQEMU
@ -184,7 +184,7 @@ bool GetWords(xbox::addr Paddr, uint16_t* Buffer, int Number)
}
// Write an array of WORDs in memory
bool WriteWords(xbox::addr Paddr, uint16_t* Buffer, int Number)
bool WriteWords(xbox::addr_xt Paddr, uint16_t* Buffer, int Number)
{
for (int i = 0; i < Number; i++, Buffer++, Paddr += sizeof(*Buffer)) {
// dropped big -> little endian conversion from XQEMU

View File

@ -56,10 +56,10 @@ void IoVecAdd(IOVector* qiov, void* base, size_t len);
size_t IoVecTobuffer(const IoVec* iov, const unsigned int iov_cnt, size_t offset, void *buf, size_t bytes);
size_t IoVecFromBuffer(const IoVec* iov, unsigned int iov_cnt, size_t offset, void* buf, size_t bytes);
bool WriteDwords(xbox::addr Paddr, uint32_t* Buffer, int Number);
bool GetDwords(xbox::addr Paddr, uint32_t* Buffer, int Number);
bool GetWords(xbox::addr Paddr, uint16_t* Buffer, int Number);
bool WriteWords(xbox::addr Paddr, uint16_t* Buffer, int Number);
bool WriteDwords(xbox::addr_xt Paddr, uint32_t* Buffer, int Number);
bool GetDwords(xbox::addr_xt Paddr, uint32_t* Buffer, int Number);
bool GetWords(xbox::addr_xt Paddr, uint16_t* Buffer, int Number);
bool WriteWords(xbox::addr_xt Paddr, uint16_t* Buffer, int Number);
bool Memory_R(void* Addr, void* Buf, size_t Num);
bool Memory_W(void* Addr, void* Buf, size_t Num);
bool Memory_RW(void* Addr, void* Buf, size_t Num, bool bIsWrite);

View File

@ -29,7 +29,6 @@
#include "core\kernel\support\Emu.h"
#include "EmuShared.h"
#undef FIELD_OFFSET // prevent macro redefinition warnings
#include <windows.h>
#include <cstdio>

View File

@ -27,7 +27,7 @@
// ******************************************************************
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include "common\xbe\Xbe.h"
#include "common\util\CxbxUtil.h" // For RoundUp
#include <filesystem> // filesystem related functions available on C++ 17

View File

@ -27,98 +27,97 @@
#include <cstdint>
#include <cstddef>
#include <climits>
#include <cuchar>
namespace xbox
{
#ifndef VOID
typedef void VOID;
#endif
/*! addr is the type of a physical address */
using addr = std::uint32_t;
/*! zero is the type of null address or value */
inline constexpr addr zero = 0;
/*! zeroptr is the type of null pointer address */
using zeroptr_t = std::nullptr_t;
inline constexpr zeroptr_t zeroptr = nullptr;
// ******************************************************************
// * Basic types
// * Calling conventions
// ******************************************************************
typedef char CHAR, CCHAR;
typedef short SHORT, CSHORT;
typedef long LONG;
typedef unsigned char UCHAR;
typedef unsigned char BYTE;
typedef unsigned char BOOLEAN;
typedef unsigned short USHORT;
typedef unsigned short WORD;
typedef unsigned long ULONG;
typedef unsigned long DWORD;
typedef unsigned long SIZE_T, *PSIZE_T;
typedef unsigned long ACCESS_MASK, *PACCESS_MASK;
typedef unsigned long PHYSICAL_ADDRESS;
typedef unsigned int UINT;
typedef int INT;
typedef int INT_PTR;
typedef signed __int64 LONGLONG;
typedef unsigned __int64 ULONGLONG;
typedef wchar_t WCHAR;
typedef unsigned __int64 QUAD; // 8 byte aligned 8 byte long
typedef int BOOL;
typedef LONG HRESULT;
typedef float FLOAT;
// TODO: Remove __stdcall once lib86cpu is implemented.
#define XBOXAPI __stdcall
#define XCALLBACK XBOXAPI
// ******************************************************************
// * Basic types
// ******************************************************************
using void_xt = void;
using char_xt = char;
using cchar_xt = char;
using wchar_xt = char16_t;
using short_xt = std::int16_t;
using cshort_xt = std::int16_t;
using long_xt = std::int32_t;
using uchar_xt = std::uint8_t;
using byte_xt = std::uint8_t;
using boolean_xt = std::uint8_t;
using ushort_xt = std::uint16_t;
using word_xt = std::uint16_t;
using ulong_xt = std::uint32_t;
using dword_xt = std::uint32_t;
using size_xt = ulong_xt;
using access_mask_xt = ulong_xt;
using physical_address_xt = ulong_xt;
using uint_xt = std::uint32_t;
using int_xt = std::int32_t;
using int_ptr_xt = int_xt;
using long_ptr_xt = long_xt;
using ulong_ptr_xt = ulong_xt;
using longlong_xt = std::int64_t;
using ulonglong_xt = std::uint64_t;
using quad_xt = std::uint64_t; // 8 byte aligned 8 byte long
using bool_xt = std::int32_t;
using hresult_xt = long_xt;
using ntstatus_xt = long_xt;
using float_xt = float;
/*! addr is the type of a physical address */
using addr_xt = std::uint32_t;
/*! zero is the type of null address or value */
inline constexpr addr_xt zero = 0;
/*! zeroptr is the type of null pointer address */
using zeroptr_xt = std::nullptr_t;
inline constexpr zeroptr_xt zeroptr = nullptr;
// ******************************************************************
// * Pointer types
// ******************************************************************
typedef CHAR *PCHAR;
typedef char *PSZ;
typedef CHAR *PCSZ;
typedef BYTE *PBYTE;
typedef BOOLEAN *PBOOLEAN;
typedef UCHAR *PUCHAR;
typedef USHORT *PUSHORT;
typedef unsigned int *PUINT;
typedef ULONG *PULONG;
typedef DWORD *PDWORD, *LPDWORD;
typedef ACCESS_MASK *PACCESS_MASK;
typedef LONG *PLONG;
typedef int *PINT_PTR;
typedef VOID *PVOID, *LPVOID;
typedef void *HANDLE;
typedef char_xt *PCHAR;
typedef char_xt *PSZ;
typedef char_xt *PCSZ;
typedef byte_xt *PBYTE;
typedef boolean_xt *PBOOLEAN;
typedef uchar_xt *PUCHAR;
typedef ushort_xt *PUSHORT;
typedef uint_xt *PUINT;
typedef ulong_xt *PULONG;
typedef dword_xt *PDWORD, *LPDWORD;
typedef long_xt *PLONG;
typedef int_ptr_xt *PINT_PTR;
typedef void_xt *PVOID, *LPVOID;
typedef void_xt *HANDLE;
typedef HANDLE *PHANDLE;
// Additional basic and pointer types :
typedef long LONG_PTR;
typedef unsigned long ULONG_PTR;
typedef LONGLONG *PLONGLONG;
typedef QUAD *PQUAD;
typedef size_xt *PSIZE_T;
typedef access_mask_xt *PACCESS_MASK;
typedef longlong_xt *PLONGLONG;
typedef quad_xt *PQUAD;
// ******************************************************************
// ANSI (Multi-byte Character) types
// ******************************************************************
typedef CHAR *PCHAR, *LPCH, *PCH;
typedef const CHAR *LPCCH, *PCCH;
typedef WCHAR *LPWSTR, *PWSTR;
typedef /*_Null_terminated_*/ const WCHAR *LPCWSTR, *PCWSTR;
typedef char_xt *PCHAR, *LPCH, *PCH;
typedef const char_xt *LPCCH, *PCCH;
typedef wchar_xt *LPWSTR, *PWSTR;
typedef /*_Null_terminated_*/ const wchar_xt *LPCWSTR, *PCWSTR;
// ******************************************************************
// Misc
// ******************************************************************
typedef struct _XD3DVECTOR {
FLOAT x;
FLOAT y;
FLOAT z;
float_xt x;
float_xt y;
float_xt z;
} D3DVECTOR;
template<typename A, typename B>
@ -128,4 +127,10 @@ namespace xbox
a.y = b.y;
a.z = b.z;
}
// ******************************************************************
// Type assertions
// ******************************************************************
static_assert(CHAR_BIT == 8);
static_assert(sizeof(char16_t) == 2);
}

View File

@ -2,7 +2,7 @@
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
#include <xboxkrnl/xboxkrnl.h> //#include <stdtypes.h>
#include <core\kernel\exports\xboxkrnl.h> //#include <stdtypes.h>
#include "buffered_io.h"
namespace xbox
@ -10,7 +10,7 @@ namespace xbox
PBYTE GetSectorBuffered(
PCDIO_READ This,
DWORD SectorNumber)
xbox::dword_xt SectorNumber)
{
int i, index;
PBYTE Ptr;
@ -65,7 +65,7 @@ PBYTE GetSectorBuffered(
//------------------------------------------------------------------------------
void ReleaseBufferedSector(
PCDIO_READ This,
DWORD SectorNumber)
xbox::dword_xt SectorNumber)
{
int i;

View File

@ -10,7 +10,7 @@ extern "C" {
namespace xbox
{
#define BOOL BOOLEAN
#define BOOL xbox::boolean_xt
#define LPSTR LPCH
// Determines how large a sector is
@ -20,10 +20,10 @@ namespace xbox
#define DISK_BUFFER 64
typedef struct {
DWORD SectorList[DISK_BUFFER]; // Ring buffer for buffered disk i/o
DWORD LockList[DISK_BUFFER]; // Lock for each buffered sector
BYTE DiskBuffer[SECTOR_SIZE * DISK_BUFFER]; // Storage room for buffered sectors
DWORD WriteIndex; // Write pointer
xbox::dword_xt SectorList[DISK_BUFFER]; // Ring buffer for buffered disk i/o
xbox::dword_xt LockList[DISK_BUFFER]; // Lock for each buffered sector
xbox::byte_xt DiskBuffer[SECTOR_SIZE * DISK_BUFFER]; // Storage room for buffered sectors
xbox::dword_xt WriteIndex; // Write pointer
// Pointer to arbitrary data passed at init
// (usually a file or device handle)
@ -32,20 +32,20 @@ typedef struct {
BOOL (*Sectors)( // Routine to get sectors
PVOID Data, // Pointer to arbitrary data
PVOID Buffer, // Buffer to fill
DWORD StartSector, // Start sector
DWORD ReadSize); // Number of sectors to read
xbox::dword_xt StartSector, // Start sector
xbox::dword_xt ReadSize); // Number of sectors to read
} CDIO_READ, *PCDIO_READ;
// Get a sector from buffer and lock it
extern PBYTE GetSectorBuffered(
PCDIO_READ This,
DWORD SectorNumber);
xbox::dword_xt SectorNumber);
// Release a locked buffer
extern void ReleaseBufferedSector(
PCDIO_READ This,
DWORD SectorNumber);
xbox::dword_xt SectorNumber);
};

View File

@ -38,19 +38,19 @@
// Directory Entry
typedef struct {
WORD LeftSubTree;
WORD RightSubTree;
DWORD FileStartSector;
DWORD FileSize;
BYTE FileAttributes;
BYTE FilenameLength;
BYTE Filename[FILENAME_SIZE];
xbox::word_xt LeftSubTree;
xbox::word_xt RightSubTree;
xbox::dword_xt FileStartSector;
xbox::dword_xt FileSize;
xbox::byte_xt FileAttributes;
xbox::byte_xt FilenameLength;
xbox::byte_xt Filename[FILENAME_SIZE];
} XDVDFS_DIRECTORY_ENTRY, *PXDVDFS_DIRECTORY_ENTRY;
// XDVDFS init a session object
BOOL XDVDFS_Mount(
PXDVDFS_SESSION Session,
BOOL (*ReadFunc)(PVOID, PVOID, DWORD, DWORD),
BOOL (*ReadFunc)(PVOID, PVOID, xbox::dword_xt, xbox::dword_xt),
PVOID Data)
{
Session->Read.Data = Data;
@ -98,8 +98,8 @@ BOOL XDVDFS_UnMount(
PXDVDFS_SESSION Session)
{
// Reset ring buffer
memset(Session->Read.SectorList, 0, sizeof(DWORD) * DISK_BUFFER);
memset(Session->Read.LockList, 0, sizeof(DWORD) * DISK_BUFFER);
memset(Session->Read.SectorList, 0, sizeof(xbox::dword_xt) * DISK_BUFFER);
memset(Session->Read.LockList, 0, sizeof(xbox::dword_xt) * DISK_BUFFER);
Session->Read.WriteIndex = 0;
// Invalidate all open files & search structures
Session->Magic++;
@ -108,7 +108,7 @@ BOOL XDVDFS_UnMount(
// Initialize a search record with root dir
// Note: Can return XDVDFS_NO_MORE_FILES if the image is empty
DWORD XDVDFS_GetRootDir(
xbox::dword_xt XDVDFS_GetRootDir(
PXDVDFS_SESSION Session,
PSEARCH_RECORD SearchRecord)
{
@ -124,12 +124,12 @@ DWORD XDVDFS_GetRootDir(
}
// Enumerate files
DWORD XDVDFS_EnumFiles(
xbox::dword_xt XDVDFS_EnumFiles(
PXDVDFS_SESSION Session,
PSEARCH_RECORD SearchRecord)
{
PXDVDFS_DIRECTORY_ENTRY Entry;
DWORD SectorNumber, Position, i;
xbox::dword_xt SectorNumber, Position, i;
PBYTE Ptr;
enum_retry:
@ -200,12 +200,12 @@ enum_retry:
return XDVDFS_NO_ERROR;
}
DWORD XDVDFS_GetFileInfo(
xbox::dword_xt XDVDFS_GetFileInfo(
PXDVDFS_SESSION Session,
LPSTR Filename,
PSEARCH_RECORD SearchRecord)
{
DWORD Length, i, ReturnCode;
xbox::dword_xt Length, i, ReturnCode;
// To begin, we will enter the root directory
XDVDFS_GetRootDir(Session, SearchRecord);
@ -280,12 +280,12 @@ DWORD XDVDFS_GetFileInfo(
}
// Initialize a search record given a path
DWORD XDVDFS_OpenFolder(
xbox::dword_xt XDVDFS_OpenFolder(
PXDVDFS_SESSION Session,
LPSTR Path,
PSEARCH_RECORD SearchRecord)
{
DWORD ReturnCode;
xbox::dword_xt ReturnCode;
// Find a file matching the given path
ReturnCode = XDVDFS_GetFileInfo(Session, Path, SearchRecord);
@ -305,13 +305,13 @@ DWORD XDVDFS_OpenFolder(
}
// Open a file
DWORD XDVDFS_OpenFile(
xbox::dword_xt XDVDFS_OpenFile(
PXDVDFS_SESSION Session,
LPSTR Filename,
PFILE_RECORD FileRecord)
{
SEARCH_RECORD SearchRecord;
DWORD ReturnCode;
xbox::dword_xt ReturnCode;
// Find a file matching the given path
ReturnCode = XDVDFS_GetFileInfo(Session, Filename, &SearchRecord);
@ -333,7 +333,7 @@ DWORD XDVDFS_OpenFile(
}
// Open a file pointed by a search rec
DWORD XDVDFS_OpenFileEx(
xbox::dword_xt XDVDFS_OpenFileEx(
PXDVDFS_SESSION Session,
PSEARCH_RECORD SearchRecord,
PFILE_RECORD FileRecord)
@ -356,13 +356,13 @@ DWORD XDVDFS_OpenFileEx(
}
// Read a file
DWORD XDVDFS_FileRead(
xbox::dword_xt XDVDFS_FileRead(
PXDVDFS_SESSION Session,
PFILE_RECORD FileRecord,
PVOID OutBuffer,
DWORD Size)
xbox::dword_xt Size)
{
DWORD CurrentSector, Position, PartialRead, Readed, i;
xbox::dword_xt CurrentSector, Position, PartialRead, Readed, i;
PBYTE Buffer = (PBYTE)OutBuffer;
Readed = 0;
@ -460,7 +460,7 @@ DWORD XDVDFS_FileRead(
return Readed;
}
DWORD XDVDFS_FileClose(
xbox::dword_xt XDVDFS_FileClose(
PXDVDFS_SESSION Session,
PFILE_RECORD FileRecord)
{
@ -473,11 +473,11 @@ DWORD XDVDFS_FileClose(
return XDVDFS_NO_ERROR;
}
DWORD XDVDFS_FileSeek(
xbox::dword_xt XDVDFS_FileSeek(
PXDVDFS_SESSION Session,
PFILE_RECORD FileRecord,
int Delta,
DWORD SeekMode)
xbox::dword_xt SeekMode)
{
// Check structure validity
if (FileRecord->Magic != Session->Magic)

View File

@ -3,13 +3,13 @@
#ifndef __XDVDFS_H__
#define __XDVDFS_H__
#include <xboxkrnl/xboxkrnl.h> //#include <stdtypes.h>
#include <core\kernel\exports\xboxkrnl.h> //#include <stdtypes.h>
#include "buffered_io.h"
using namespace xbox;
CONST CHAR *XDVDFS_Signature = "MICROSOFT*XBOX*MEDIA";
CONST char_xt *XDVDFS_Signature = "MICROSOFT*XBOX*MEDIA";
//-- Defines ------------------------------------------------------------------
@ -42,18 +42,18 @@ CONST CHAR *XDVDFS_Signature = "MICROSOFT*XBOX*MEDIA";
// XDVDFS Volume descriptor
typedef struct {
BYTE Signature1[SIGNATURE_SIZE];
DWORD RootDirectory;
DWORD RootDirectorySize;
xbox::byte_xt Signature1[SIGNATURE_SIZE];
xbox::dword_xt RootDirectory;
xbox::dword_xt RootDirectorySize;
FILETIME ImageCreationTime;
BYTE Unused[1992];
BYTE Signature2[SIGNATURE_SIZE];
xbox::byte_xt Unused[1992];
xbox::byte_xt Signature2[SIGNATURE_SIZE];
} XDVDFS_VOLUME_DESCRIPTOR, *PXDVDFS_VOLUME_DESCRIPTOR;
// XDVDFS session
typedef struct {
// Start sector of current session
DWORD FileSystemBaseSector;
xbox::dword_xt FileSystemBaseSector;
// Volume Descriptor of the current session
XDVDFS_VOLUME_DESCRIPTOR Root;
@ -63,30 +63,30 @@ typedef struct {
// The dword below is incremented when the filesystem is unmounted
// automatically invalidating all open files and search records
DWORD Magic;
xbox::dword_xt Magic;
} XDVDFS_SESSION, *PXDVDFS_SESSION;
// File Record
typedef struct {
DWORD Magic;
BYTE PartialData[SECTOR_SIZE];
DWORD PartialSector;
DWORD FileStartSector;
DWORD FileSize;
DWORD CurrentPosition;
xbox::dword_xt Magic;
xbox::byte_xt PartialData[SECTOR_SIZE];
xbox::dword_xt PartialSector;
xbox::dword_xt FileStartSector;
xbox::dword_xt FileSize;
xbox::dword_xt CurrentPosition;
} FILE_RECORD, *PFILE_RECORD;
// Search Record
typedef struct {
DWORD Magic;
DWORD SearchStartSector;
DWORD DirectorySize;
DWORD Position;
BYTE CurrentFilename[FILENAME_SIZE];
DWORD CurrentFileAttributes;
DWORD CurrentFileSize;
DWORD CurrentFileStartSector;
DWORD CurrentFileEndSector;
xbox::dword_xt Magic;
xbox::dword_xt SearchStartSector;
xbox::dword_xt DirectorySize;
xbox::dword_xt Position;
xbox::byte_xt CurrentFilename[FILENAME_SIZE];
xbox::dword_xt CurrentFileAttributes;
xbox::dword_xt CurrentFileSize;
xbox::dword_xt CurrentFileStartSector;
xbox::dword_xt CurrentFileEndSector;
} SEARCH_RECORD, *PSEARCH_RECORD;
//-- Exported Functions -------------------------------------------------------
@ -94,7 +94,7 @@ typedef struct {
// XDVDFS init a session object
extern BOOL XDVDFS_Mount(
PXDVDFS_SESSION Session,
BOOL (*ReadFunc)(PVOID, PVOID, DWORD, DWORD),
BOOL (*ReadFunc)(PVOID, PVOID, xbox::dword_xt, xbox::dword_xt),
PVOID Data);
// XDVDFS deinit a session object
@ -103,56 +103,56 @@ extern BOOL XDVDFS_UnMount(
// Initialize a search record with root dir
// Note: Can return XDVDFS_NO_MORE_FILES if the image is empty
extern DWORD XDVDFS_GetRootDir(
extern xbox::dword_xt XDVDFS_GetRootDir(
PXDVDFS_SESSION Session,
PSEARCH_RECORD SearchRecord);
// Enumerate files
extern DWORD XDVDFS_EnumFiles(
extern xbox::dword_xt XDVDFS_EnumFiles(
PXDVDFS_SESSION Session,
PSEARCH_RECORD SearchRecord);
// Find a file given its path
extern DWORD XDVDFS_GetFileInfo(
extern xbox::dword_xt XDVDFS_GetFileInfo(
PXDVDFS_SESSION Session,
LPSTR Filename,
PSEARCH_RECORD SearchRecord);
// Initialize a search record given a path
extern DWORD XDVDFS_OpenFolder(
extern xbox::dword_xt XDVDFS_OpenFolder(
PXDVDFS_SESSION Session,
LPSTR Path,
PSEARCH_RECORD SearchRecord);
// Open a file
extern DWORD XDVDFS_OpenFile(
extern xbox::dword_xt XDVDFS_OpenFile(
PXDVDFS_SESSION Session,
LPSTR Filename,
PFILE_RECORD FileRecord);
// Open a file pointed by a search rec
extern DWORD XDVDFS_OpenFileEx(
extern xbox::dword_xt XDVDFS_OpenFileEx(
PXDVDFS_SESSION Session,
PSEARCH_RECORD SearchRecord,
PFILE_RECORD FileRecord);
// Read a file
extern DWORD XDVDFS_FileRead(
extern xbox::dword_xt XDVDFS_FileRead(
PXDVDFS_SESSION Session,
PFILE_RECORD FileRecord,
PVOID Buffer,
DWORD Size);
xbox::dword_xt Size);
// Close file
extern DWORD XDVDFS_FileClose(
extern xbox::dword_xt XDVDFS_FileClose(
PXDVDFS_SESSION Session,
PFILE_RECORD FileRecord);
// File seek
extern DWORD XDVDFS_FileSeek(
extern xbox::dword_xt XDVDFS_FileSeek(
PXDVDFS_SESSION Session,
PFILE_RECORD FileRecord,
int Delta,
DWORD SeekMode);
xbox::dword_xt SeekMode);
#endif // __XDVDFS_H__

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -374,7 +374,7 @@ void XboxRenderStateConverter::ApplyDeferredRenderState(uint32_t State, uint32_t
// Store this as an override for our frame limiter
// Games can use this to limit certain scenes to a desired target framerate for a specific scene
// If this value is not set, or is set to 0, the default interval passed to CreateDevice is used
extern DWORD g_Xbox_PresentationInterval_Override;
extern xbox::dword_xt g_Xbox_PresentationInterval_Override;
g_Xbox_PresentationInterval_Override = Value;
} return;
case xbox::X_D3DRS_WRAP0:

View File

@ -27,6 +27,9 @@
#undef UNICODE // make sure dxerr.h DXGetErrorString is aliassed to *A, not *W
// NOTE: required because XbD3D8Types.h is included in places where xbox_types.h is not, which causes compiler errors because of the undefined types
#include "xbox_types.h"
// include direct3d 9x headers
#define DIRECT3D_VERSION 0x0900
#include <d3d9.h>

View File

@ -5941,7 +5941,7 @@ static const
std::vector<PSH_RECOMPILED_SHADER> g_RecompiledPixelShaders;
VOID DxbxUpdateActivePixelShader() // NOPATCH
void DxbxUpdateActivePixelShader() // NOPATCH
{
xbox::X_D3DPIXELSHADERDEF *pPSDef;
PPSH_RECOMPILED_SHADER RecompiledPixelShader;

View File

@ -35,6 +35,6 @@ void DumpPixelShaderDefToFile( xbox::X_D3DPIXELSHADERDEF* pPSDef, const char* ps
void PrintPixelShaderDefContents(xbox::X_D3DPIXELSHADERDEF* pDSDef );
// PatrickvL's Dxbx pixel shader translation
VOID DxbxUpdateActivePixelShader(); // NOPATCH
void DxbxUpdateActivePixelShader(); // NOPATCH
#endif // PIXELSHADER_H

View File

@ -468,7 +468,7 @@ extern void EmuExecutePushBufferRaw
// DMA Pusher state -- see https://envytools.readthedocs.io/en/latest/hw/fifo/dma-pusher.html#pusher-state
#if 0
static xbox::addr dma_pushbuffer; // the pushbuffer and IB DMA object
static xbox::addr_xt dma_pushbuffer; // the pushbuffer and IB DMA object
#endif
uint32_t *dma_limit; // pushbuffer size limit
uint32_t *dma_put; // pushbuffer current end address
@ -497,8 +497,8 @@ extern void EmuExecutePushBufferRaw
};
// Initialize working variables
dma_limit = (uint32_t*)((xbox::addr)pPushData + uSizeInBytes); // TODO : If this an absolute addresss?
dma_put = (uint32_t*)((xbox::addr)pPushData + uSizeInBytes);
dma_limit = (uint32_t*)((xbox::addr_xt)pPushData + uSizeInBytes); // TODO : If this an absolute addresss?
dma_put = (uint32_t*)((xbox::addr_xt)pPushData + uSizeInBytes);
dma_get = (uint32_t*)pPushData;
dma_state = {};

View File

@ -831,7 +831,7 @@ void CxbxVertexBufferConverter::Apply(CxbxDrawContext *pDrawContext)
}
}
VOID EmuFlushIVB()
void EmuFlushIVB()
{
CxbxUpdateNativeD3DResources();

View File

@ -125,9 +125,9 @@ extern struct _D3DIVB
extern UINT g_InlineVertexBuffer_TableLength;
extern UINT g_InlineVertexBuffer_TableOffset;
extern VOID EmuFlushIVB();
extern void EmuFlushIVB();
extern VOID EmuUpdateActiveTexture();
extern void EmuUpdateActiveTexture();
extern DWORD g_dwPrimPerFrame;

View File

@ -873,7 +873,7 @@ private:
HostVertexElementDataType = D3DDECLTYPE_FLOAT1;
HostVertexElementByteSize = 1 * sizeof(FLOAT);
}
XboxVertexElementByteSize = 1 * sizeof(xbox::SHORT);
XboxVertexElementByteSize = 1 * sizeof(xbox::short_xt);
NeedPatching = TRUE;
break;
case xbox::X_D3DVSDT_NORMSHORT2: // 0x21:
@ -886,7 +886,7 @@ private:
{
HostVertexElementDataType = D3DDECLTYPE_FLOAT2;
HostVertexElementByteSize = 2 * sizeof(FLOAT);
XboxVertexElementByteSize = 2 * sizeof(xbox::SHORT);
XboxVertexElementByteSize = 2 * sizeof(xbox::short_xt);
NeedPatching = TRUE;
}
break;
@ -900,7 +900,7 @@ private:
HostVertexElementDataType = D3DDECLTYPE_FLOAT3;
HostVertexElementByteSize = 3 * sizeof(FLOAT);
}
XboxVertexElementByteSize = 3 * sizeof(xbox::SHORT);
XboxVertexElementByteSize = 3 * sizeof(xbox::short_xt);
NeedPatching = TRUE;
break;
case xbox::X_D3DVSDT_NORMSHORT4: // 0x41:
@ -913,26 +913,26 @@ private:
{
HostVertexElementDataType = D3DDECLTYPE_FLOAT4;
HostVertexElementByteSize = 4 * sizeof(FLOAT);
XboxVertexElementByteSize = 4 * sizeof(xbox::SHORT);
XboxVertexElementByteSize = 4 * sizeof(xbox::short_xt);
NeedPatching = TRUE;
}
break;
case xbox::X_D3DVSDT_NORMPACKED3: // 0x16:
HostVertexElementDataType = D3DDECLTYPE_FLOAT3;
HostVertexElementByteSize = 3 * sizeof(FLOAT);
XboxVertexElementByteSize = 1 * sizeof(xbox::DWORD);
XboxVertexElementByteSize = 1 * sizeof(xbox::dword_xt);
NeedPatching = TRUE;
break;
case xbox::X_D3DVSDT_SHORT1: // 0x15:
HostVertexElementDataType = D3DDECLTYPE_SHORT2;
HostVertexElementByteSize = 2 * sizeof(SHORT);
XboxVertexElementByteSize = 1 * sizeof(xbox::SHORT);
XboxVertexElementByteSize = 1 * sizeof(xbox::short_xt);
NeedPatching = TRUE;
break;
case xbox::X_D3DVSDT_SHORT3: // 0x35:
HostVertexElementDataType = D3DDECLTYPE_SHORT4;
HostVertexElementByteSize = 4 * sizeof(SHORT);
XboxVertexElementByteSize = 3 * sizeof(xbox::SHORT);
XboxVertexElementByteSize = 3 * sizeof(xbox::short_xt);
NeedPatching = TRUE;
break;
case xbox::X_D3DVSDT_PBYTE1: // 0x14:
@ -945,7 +945,7 @@ private:
HostVertexElementDataType = D3DDECLTYPE_FLOAT1;
HostVertexElementByteSize = 1 * sizeof(FLOAT);
}
XboxVertexElementByteSize = 1 * sizeof(xbox::BYTE);
XboxVertexElementByteSize = 1 * sizeof(xbox::byte_xt);
NeedPatching = TRUE;
break;
case xbox::X_D3DVSDT_PBYTE2: // 0x24:
@ -958,7 +958,7 @@ private:
HostVertexElementDataType = D3DDECLTYPE_FLOAT2;
HostVertexElementByteSize = 2 * sizeof(FLOAT);
}
XboxVertexElementByteSize = 2 * sizeof(xbox::BYTE);
XboxVertexElementByteSize = 2 * sizeof(xbox::byte_xt);
NeedPatching = TRUE;
break;
case xbox::X_D3DVSDT_PBYTE3: // 0x34:
@ -971,7 +971,7 @@ private:
HostVertexElementDataType = D3DDECLTYPE_FLOAT3;
HostVertexElementByteSize = 3 * sizeof(FLOAT);
}
XboxVertexElementByteSize = 3 * sizeof(xbox::BYTE);
XboxVertexElementByteSize = 3 * sizeof(xbox::byte_xt);
NeedPatching = TRUE;
break;
case xbox::X_D3DVSDT_PBYTE4: // 0x44:
@ -985,7 +985,7 @@ private:
{
HostVertexElementDataType = D3DDECLTYPE_FLOAT4;
HostVertexElementByteSize = 4 * sizeof(FLOAT);
XboxVertexElementByteSize = 4 * sizeof(xbox::BYTE);
XboxVertexElementByteSize = 4 * sizeof(xbox::byte_xt);
NeedPatching = TRUE;
}
break;
@ -1513,7 +1513,7 @@ HRESULT CxbxImpl_CreateVertexShader(CONST DWORD *pDeclaration, CONST DWORD *pFun
if (g_pD3DDevice == nullptr) {
LOG_TEST_CASE("D3DDevice_CreateVertexShader called before Direct3D_CreateDevice");
// We lie to allow the game to continue for now, but it probably won't work well
return 0; // == STATUS_SUCCESS
return 0; // == xbox::status_success
}
// HACK: TODO: support this situation

View File

@ -27,7 +27,7 @@
#define LOG_PREFIX CXBXR_MODULE::DSSTREAM
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include <dsound.h>
#include "DirectSoundGlobal.hpp"

View File

@ -29,7 +29,7 @@
#define LOG_PREFIX CXBXR_MODULE::DSOUND
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include <dsound.h>
#include "DirectSoundGlobal.hpp" // Global variables
@ -122,7 +122,7 @@ void CxbxInitAudio()
// ******************************************************************
// * patch: DirectSoundCreate
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(DirectSoundCreate)
xbox::hresult_xt WINAPI xbox::EMUPATCH(DirectSoundCreate)
(
LPVOID pguidDeviceId,
OUT LPDIRECTSOUND8* ppDirectSound,
@ -252,7 +252,7 @@ HRESULT WINAPI xbox::EMUPATCH(DirectSoundCreate)
// ******************************************************************
// * patch: IDirectSound_AddRef
// ******************************************************************
ULONG WINAPI xbox::EMUPATCH(IDirectSound_AddRef)
xbox::ulong_xt WINAPI xbox::EMUPATCH(IDirectSound_AddRef)
(
LPDIRECTSOUND8 pThis)
{
@ -270,7 +270,7 @@ ULONG WINAPI xbox::EMUPATCH(IDirectSound_AddRef)
// ******************************************************************
// * patch: IDirectSound_Release
// ******************************************************************
ULONG WINAPI xbox::EMUPATCH(IDirectSound_Release)
xbox::ulong_xt WINAPI xbox::EMUPATCH(IDirectSound_Release)
(
LPDIRECTSOUND8 pThis)
{
@ -292,13 +292,13 @@ ULONG WINAPI xbox::EMUPATCH(IDirectSound_Release)
// ******************************************************************
// * patch: DirectSoundGetSampleTime
// ******************************************************************
DWORD WINAPI xbox::EMUPATCH(DirectSoundGetSampleTime)()
xbox::dword_xt WINAPI xbox::EMUPATCH(DirectSoundGetSampleTime)()
{
DSoundMutexGuardLock;
LOG_FUNC();
DWORD dwRet = GetAPUTime();
dword_xt dwRet = GetAPUTime();
return dwRet;
}
@ -362,7 +362,7 @@ void WINAPI xbox::EMUPATCH(DirectSoundUseLightHRTF4Channel)
// ******************************************************************
// * patch: DirectSoundDoWork
// ******************************************************************
VOID WINAPI xbox::EMUPATCH(DirectSoundDoWork)()
xbox::void_xt WINAPI xbox::EMUPATCH(DirectSoundDoWork)()
{
DSoundMutexGuardLock;
@ -410,7 +410,7 @@ static void dsound_thread_worker(LPVOID nullPtr)
// ******************************************************************
// * patch: CDirectSound_CommitDeferredSettings
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSound_CommitDeferredSettings)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSound_CommitDeferredSettings)
(
X_CDirectSound* pThis)
{
@ -429,7 +429,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSound_CommitDeferredSettings)
// ******************************************************************
// * patch: IDirectSound_CommitDeferredSettings
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_CommitDeferredSettings)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_CommitDeferredSettings)
(
X_CDirectSound* pThis)
{
@ -444,7 +444,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_CommitDeferredSettings)
// * patch: IDirectSound_CommitEffectData
// ******************************************************************
// This API is used relative with DSP effect.
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_CommitEffectData)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_CommitEffectData)
(
X_CDirectSound* pThis)
{
@ -462,13 +462,13 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_CommitEffectData)
// ******************************************************************
// * patch: IDirectSound_GetEffectData
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_GetEffectData)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_GetEffectData)
(
X_CDirectSound* pThis,
DWORD dwEffectIndex,
DWORD dwOffset,
dword_xt dwEffectIndex,
dword_xt dwOffset,
OUT LPVOID pvData,
DWORD dwDataSize)
dword_xt dwDataSize)
{
DSoundMutexGuardLock;
@ -495,14 +495,14 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_GetEffectData)
// ******************************************************************
// * patch: IDirectSound_SetEffectData
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetEffectData)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_SetEffectData)
(
LPVOID pThis,
DWORD dwEffectIndex,
DWORD dwOffset,
dword_xt dwEffectIndex,
dword_xt dwOffset,
LPCVOID pvData,
DWORD dwDataSize,
DWORD dwApply)
dword_xt dwDataSize,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -525,11 +525,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetEffectData)
// ******************************************************************
// * patch: IDirectSound_DownloadEffectsImage
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_DownloadEffectsImage)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_DownloadEffectsImage)
(
LPDIRECTSOUND8 pThis,
LPCVOID pvImageBuffer,
DWORD dwImageSize,
dword_xt dwImageSize,
PVOID pImageLoc, // TODO: Use this param
PVOID* ppImageDesc) // TODO: Use this param
{
@ -553,10 +553,10 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_DownloadEffectsImage)
// ******************************************************************
// * patch: IDirectSound_EnableHeadphones
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_EnableHeadphones)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_EnableHeadphones)
(
LPDIRECTSOUND8 pThis,
BOOL fEnabled)
bool_xt fEnabled)
{
DSoundMutexGuardLock;
@ -574,7 +574,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_EnableHeadphones)
// ******************************************************************
// * patch: IDirectSound_GetCaps
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_GetCaps)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_GetCaps)
(
X_CDirectSound* pThis,
OUT X_DSCAPS* pDSCaps)
@ -607,11 +607,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_GetCaps)
// ******************************************************************
// * patch: IDirectSound_GetOutputLevels
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_GetOutputLevels)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_GetOutputLevels)
(
LPDIRECTSOUND8* pThis,
OUT X_DSOUTPUTLEVELS* pOutputLevels,
BOOL bResetPeakValues)
bool_xt bResetPeakValues)
{
DSoundMutexGuardLock;
@ -633,7 +633,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_GetOutputLevels)
// ******************************************************************
// * patch: CDirectSound_GetSpeakerConfig
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSound_GetSpeakerConfig)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSound_GetSpeakerConfig)
(
X_CDirectSound* pThis,
OUT PDWORD pdwSpeakerConfig)
@ -658,7 +658,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSound_GetSpeakerConfig)
// ******************************************************************
// * patch: IDirectSound_GetSpeakerConfig
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_GetSpeakerConfig)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_GetSpeakerConfig)
(
X_CDirectSound* pThis,
OUT LPDWORD* pdwSpeakerConfig)
@ -680,11 +680,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_GetSpeakerConfig)
// * patch: IDirectSound_SetAllParameters
// ******************************************************************
// NOTE: No conversion requirement for XB to PC.
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetAllParameters)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_SetAllParameters)
(
LPDIRECTSOUND8 pThis,
LPCDS3DLISTENER pDS3DListenerParameters,
DWORD dwApply)
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -702,11 +702,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetAllParameters)
// ******************************************************************
// * patch: IDirectSound_SetDistanceFactor
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetDistanceFactor)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_SetDistanceFactor)
(
LPDIRECTSOUND8 pThis,
FLOAT fDistanceFactor,
DWORD dwApply)
float_xt fDistanceFactor,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -724,11 +724,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetDistanceFactor)
// ******************************************************************
// * patch: IDirectSound_SetDopplerFactor
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetDopplerFactor)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_SetDopplerFactor)
(
LPDIRECTSOUND8 pThis,
FLOAT fDopplerFactor,
DWORD dwApply)
float_xt fDopplerFactor,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -746,11 +746,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetDopplerFactor)
// ******************************************************************
// * patch: IDirectSound_SetI3DL2Listener
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetI3DL2Listener)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_SetI3DL2Listener)
(
LPDIRECTSOUND8 pThis,
X_DSI3DL2LISTENER *pds3dl,
DWORD dwApply)
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -770,11 +770,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetI3DL2Listener)
// ******************************************************************
// * patch: IDirectSound_SetMixBinHeadroom
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetMixBinHeadroom)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_SetMixBinHeadroom)
(
LPDIRECTSOUND8 pThis,
DWORD dwMixBinMask,
DWORD dwHeadroom)
dword_xt dwMixBinMask,
dword_xt dwHeadroom)
{
DSoundMutexGuardLock;
@ -792,16 +792,16 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetMixBinHeadroom)
// ******************************************************************
// * patch: IDirectSound_SetOrientation
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetOrientation)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_SetOrientation)
(
LPDIRECTSOUND8 pThis,
FLOAT xFront,
FLOAT yFront,
FLOAT zFront,
FLOAT xTop,
FLOAT yTop,
FLOAT zTop,
DWORD dwApply)
float_xt xFront,
float_xt yFront,
float_xt zFront,
float_xt xTop,
float_xt yTop,
float_xt zTop,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -834,13 +834,13 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetOrientation)
// ******************************************************************
// * patch: IDirectSound_SetPosition
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetPosition)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_SetPosition)
(
LPDIRECTSOUND8 pThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply)
float_xt x,
float_xt y,
float_xt z,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -860,11 +860,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetPosition)
// ******************************************************************
// * patch: IDirectSound_SetRolloffFactor
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetRolloffFactor)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_SetRolloffFactor)
(
LPDIRECTSOUND8 pThis,
FLOAT fRolloffFactor,
DWORD dwApply)
float_xt fRolloffFactor,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -882,7 +882,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetRolloffFactor)
// ******************************************************************
// * patch: CDirectSound_SynchPlayback
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSound_SynchPlayback)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSound_SynchPlayback)
(
LPDIRECTSOUND8 pThis)
{
@ -926,7 +926,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSound_SynchPlayback)
// ******************************************************************
// * patch: IDirectSound_SynchPlayback
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SynchPlayback)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_SynchPlayback)
(
LPDIRECTSOUND8 pThis)
{
@ -940,13 +940,13 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SynchPlayback)
// ******************************************************************
// * patch: IDirectSound_SetVelocity
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_SetVelocity)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_SetVelocity)
(
LPDIRECTSOUND8 pThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply)
float_xt x,
float_xt y,
float_xt z,
dword_xt dwApply)
{
DSoundMutexGuardLock;

File diff suppressed because it is too large Load Diff

View File

@ -28,7 +28,7 @@
#define LOG_PREFIX CXBXR_MODULE::DS3DCALC
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include <dsound.h>
#include "DirectSoundGlobal.hpp" // Global variables
@ -49,10 +49,10 @@
// ******************************************************************
// * patch: CDirectSound3DCalculator_Calculate3D
// ******************************************************************
VOID WINAPI xbox::EMUPATCH(CDirectSound3DCalculator_Calculate3D)
xbox::void_xt WINAPI xbox::EMUPATCH(CDirectSound3DCalculator_Calculate3D)
(
DWORD a1,
DWORD a2
dword_xt a1,
dword_xt a2
)
{
DSoundMutexGuardLock;
@ -68,13 +68,13 @@ VOID WINAPI xbox::EMUPATCH(CDirectSound3DCalculator_Calculate3D)
// ******************************************************************
// * patch: CDirectSound3DCalculator_GetVoiceData
// ******************************************************************
VOID WINAPI xbox::EMUPATCH(CDirectSound3DCalculator_GetVoiceData)
xbox::void_xt WINAPI xbox::EMUPATCH(CDirectSound3DCalculator_GetVoiceData)
(
DWORD a1,
DWORD a2,
DWORD a3,
DWORD a4,
DWORD a5
dword_xt a1,
dword_xt a2,
dword_xt a3,
dword_xt a4,
dword_xt a5
)
{
DSoundMutexGuardLock;

View File

@ -29,7 +29,7 @@
#define LOG_PREFIX CXBXR_MODULE::DSBUFFER
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include <dsound.h>
#include "DirectSoundGlobal.hpp" // Global variables
@ -92,7 +92,7 @@ void DirectSoundDoWork_Buffer(xbox::LARGE_INTEGER &time)
// ******************************************************************
// * patch: IDirectSoundBuffer_AddRef
// ******************************************************************
ULONG WINAPI xbox::EMUPATCH(IDirectSoundBuffer_AddRef)
xbox::ulong_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_AddRef)
(
XbHybridDSBuffer* pHybridThis)
{
@ -133,7 +133,7 @@ xbox::EmuDirectSoundBuffer::~EmuDirectSoundBuffer()
// ******************************************************************
// * patch: IDirectSoundBuffer_Release
// ******************************************************************
ULONG WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Release)
xbox::ulong_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Release)
(
XbHybridDSBuffer* pHybridThis)
{
@ -160,7 +160,7 @@ ULONG WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Release)
// ******************************************************************
// * patch: DirectSoundCreateBuffer
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(DirectSoundCreateBuffer)
xbox::hresult_xt WINAPI xbox::EMUPATCH(DirectSoundCreateBuffer)
(
X_DSBUFFERDESC* pdsbd,
OUT XbHybridDSBuffer** ppBuffer)
@ -223,7 +223,7 @@ HRESULT WINAPI xbox::EMUPATCH(DirectSoundCreateBuffer)
DSoundBufferRegionSetDefault(pEmuBuffer);
// We have to set DSBufferDesc last due to EmuFlags must be either 0 or previously written value to preserve other flags.
GeneratePCMFormat(DSBufferDesc, pdsbd->lpwfxFormat, pdsbd->dwFlags, pEmuBuffer->EmuFlags, pdsbd->dwBufferBytes,
GeneratePCMFormat(DSBufferDesc, pdsbd->lpwfxFormat, (DWORD &)pdsbd->dwFlags, pEmuBuffer->EmuFlags, pdsbd->dwBufferBytes,
&pEmuBuffer->X_BufferCache, pEmuBuffer->X_BufferCacheSize, pEmuBuffer->Xb_VoiceProperties, pdsbd->lpMixBinsOutput,
pHybridBuffer->p_CDSVoice);
pEmuBuffer->EmuBufferDesc = DSBufferDesc;
@ -265,7 +265,7 @@ HRESULT WINAPI xbox::EMUPATCH(DirectSoundCreateBuffer)
// ******************************************************************
// * patch: IDirectSound_CreateSoundBuffer
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_CreateSoundBuffer)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_CreateSoundBuffer)
(
LPDIRECTSOUND8 pThis,
X_DSBUFFERDESC* pdsbd,
@ -286,7 +286,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_CreateSoundBuffer)
// ******************************************************************
// * patch: IDirectSoundBuffer_GetCurrentPosition
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_GetCurrentPosition)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_GetCurrentPosition)
(
XbHybridDSBuffer* pHybridThis,
OUT PDWORD pdwCurrentPlayCursor,
@ -301,7 +301,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_GetCurrentPosition)
LOG_FUNC_END;
EmuDirectSoundBuffer* pThis = pHybridThis->emuDSBuffer;
HRESULT hRet = HybridDirectSoundBuffer_GetCurrentPosition(pThis->EmuDirectSoundBuffer8, pdwCurrentPlayCursor, pdwCurrentWriteCursor, pThis->EmuFlags);
xbox::hresult_xt hRet = HybridDirectSoundBuffer_GetCurrentPosition(pThis->EmuDirectSoundBuffer8, (::PDWORD)pdwCurrentPlayCursor, (::PDWORD)pdwCurrentWriteCursor, pThis->EmuFlags);
LOG_FUNC_BEGIN_ARG_RESULT
LOG_FUNC_ARG_RESULT(pdwCurrentPlayCursor)
@ -314,10 +314,10 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_GetCurrentPosition)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetCurrentPosition
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetCurrentPosition)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetCurrentPosition)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwNewPosition)
dword_xt dwNewPosition)
{
DSoundMutexGuardLock;
@ -342,7 +342,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetCurrentPosition)
// ******************************************************************
// * patch: IDirectSoundBuffer_GetStatus
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_GetStatus)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_GetStatus)
(
XbHybridDSBuffer* pHybridThis,
OUT LPDWORD pdwStatus)
@ -386,7 +386,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_GetStatus)
// ******************************************************************
// * patch: IDirectSoundBuffer_GetVoiceProperties
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_GetVoiceProperties)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_GetVoiceProperties)
(
XbHybridDSBuffer* pHybridThis,
OUT X_DSVOICEPROPS* pVoiceProps)
@ -412,16 +412,16 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_GetVoiceProperties)
// ******************************************************************
// * patch: IDirectSoundBuffer_Lock
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Lock)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Lock)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwOffset,
DWORD dwBytes,
dword_xt dwOffset,
dword_xt dwBytes,
LPVOID* ppvAudioPtr1,
LPDWORD pdwAudioBytes1,
LPVOID* ppvAudioPtr2,
LPDWORD pdwAudioBytes2,
DWORD dwFlags)
dword_xt dwFlags)
{
DSoundMutexGuardLock;
@ -500,13 +500,13 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Lock)
// ******************************************************************
// * patch: IDirectSoundBuffer_Unlock
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Unlock)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Unlock)
(
XbHybridDSBuffer* pHybridThis,
LPVOID ppvAudioPtr1,
DWORD pdwAudioBytes1,
dword_xt pdwAudioBytes1,
LPVOID ppvAudioPtr2,
DWORD pdwAudioBytes2
dword_xt pdwAudioBytes2
)
{
DSoundMutexGuardLock;
@ -549,10 +549,10 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Unlock)
// * patch: IDirectSoundBuffer_Pause
// ******************************************************************
// Introduced in XDK 4721 revision.
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Pause)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Pause)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwPause)
dword_xt dwPause)
{
DSoundMutexGuardLock;
@ -581,11 +581,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Pause)
// * patch: IDirectSoundBuffer_PauseEx
// ******************************************************************
// Introduced in XDK 4721 revision.
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_PauseEx)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_PauseEx)
(
XbHybridDSBuffer* pHybridThis,
REFERENCE_TIME rtTimestamp,
DWORD dwPause)
dword_xt dwPause)
{
DSoundMutexGuardLock;
@ -605,12 +605,12 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_PauseEx)
// ******************************************************************
// * patch: IDirectSoundBuffer_Play
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Play)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Play)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwReserved1,
DWORD dwReserved2,
DWORD dwFlags)
dword_xt dwReserved1,
dword_xt dwReserved2,
dword_xt dwFlags)
{
DSoundMutexGuardLock;
@ -669,11 +669,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Play)
// ******************************************************************
// * patch: IDirectSoundBuffer_PlayEx
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_PlayEx)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_PlayEx)
(
XbHybridDSBuffer* pThis,
REFERENCE_TIME rtTimeStamp,
DWORD dwFlags)
dword_xt dwFlags)
{
DSoundMutexGuardLock;
@ -696,11 +696,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_PlayEx)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetAllParameters
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetAllParameters)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetAllParameters)
(
XbHybridDSBuffer* pHybridThis,
X_DS3DBUFFER* pc3DBufferParameters,
DWORD dwApply)
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -719,11 +719,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetAllParameters)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetBufferData
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetBufferData)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetBufferData)
(
XbHybridDSBuffer* pHybridThis,
LPVOID pvBufferData,
DWORD dwBufferBytes)
dword_xt dwBufferBytes)
{
DSoundMutexGuardLock;
@ -804,12 +804,12 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetBufferData)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetConeAngles
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetConeAngles)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetConeAngles)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwInsideConeAngle,
DWORD dwOutsideConeAngle,
DWORD dwApply)
dword_xt dwInsideConeAngle,
dword_xt dwOutsideConeAngle,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -829,13 +829,13 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetConeAngles)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetConeOrientation
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetConeOrientation)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetConeOrientation)
(
XbHybridDSBuffer* pHybridThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply)
float_xt x,
float_xt y,
float_xt z,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -856,11 +856,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetConeOrientation)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetConeOutsideVolume
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetConeOutsideVolume)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetConeOutsideVolume)
(
XbHybridDSBuffer* pHybridThis,
LONG lConeOutsideVolume,
DWORD dwApply)
long_xt lConeOutsideVolume,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -879,11 +879,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetConeOutsideVolume)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetDistanceFactor
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetDistanceFactor)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetDistanceFactor)
(
XbHybridDSBuffer* pHybridThis,
FLOAT flDistanceFactor,
DWORD dwApply)
float_xt flDistanceFactor,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -901,11 +901,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetDistanceFactor)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetDopplerFactor
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetDopplerFactor)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetDopplerFactor)
(
XbHybridDSBuffer* pThis,
FLOAT flDopplerFactor,
DWORD dwApply)
float_xt flDopplerFactor,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -923,7 +923,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetDopplerFactor)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetEG
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetEG)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetEG)
(
XbHybridDSBuffer* pHybridThis,
X_DSENVOLOPEDESC* pEnvelopeDesc)
@ -948,7 +948,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetEG)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetFilter
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetFilter)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetFilter)
(
XbHybridDSBuffer* pHybridThis,
X_DSFILTERDESC* pFilterDesc)
@ -971,7 +971,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetFilter)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetFormat
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetFormat)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetFormat)
(
XbHybridDSBuffer* pHybridThis,
LPCWAVEFORMATEX pwfxFormat)
@ -996,10 +996,10 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetFormat)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetFrequency
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetFrequency)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetFrequency)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwFrequency)
dword_xt dwFrequency)
{
DSoundMutexGuardLock;
@ -1018,10 +1018,10 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetFrequency)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetHeadroom
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetHeadroom)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetHeadroom)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwHeadroom)
dword_xt dwHeadroom)
{
DSoundMutexGuardLock;
@ -1041,11 +1041,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetHeadroom)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetI3DL2Source
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetI3DL2Source)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetI3DL2Source)
(
XbHybridDSBuffer* pHybridThis,
X_DSI3DL2BUFFER* pds3db,
DWORD dwApply)
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1067,7 +1067,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetI3DL2Source)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetLFO
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetLFO) //Low Frequency Oscillators
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetLFO) //Low Frequency Oscillators
(
XbHybridDSBuffer* pHybridThis,
LPCDSLFODESC pLFODesc)
@ -1089,11 +1089,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetLFO) //Low Frequency Oscilla
// ******************************************************************
// * patch: IDirectSoundBuffer_SetLoopRegion
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetLoopRegion)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetLoopRegion)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwLoopStart,
DWORD dwLoopLength)
dword_xt dwLoopStart,
dword_xt dwLoopLength)
{
DSoundMutexGuardLock;
@ -1131,11 +1131,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetLoopRegion)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetMaxDistance
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMaxDistance)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMaxDistance)
(
XbHybridDSBuffer* pHybridThis,
FLOAT flMaxDistance,
DWORD dwApply)
float_xt flMaxDistance,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1154,11 +1154,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMaxDistance)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetMinDistance
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMinDistance)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMinDistance)
(
XbHybridDSBuffer* pHybridThis,
FLOAT flMinDistance,
DWORD dwApply)
float_xt flMinDistance,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1177,10 +1177,10 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMinDistance)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetMixBins
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMixBins)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMixBins)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwMixBinMask)
dword_xt dwMixBinMask)
{
DSoundMutexGuardLock;
HRESULT hRet = DS_OK;
@ -1211,11 +1211,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMixBins)
// * patch: IDirectSoundBuffer_SetMixBinVolumes_12
// ******************************************************************
// This revision API was used in XDK 3911 until API had changed in XDK 4039.
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_12)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_12)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwMixBinMask,
const LONG* alVolumes)
dword_xt dwMixBinMask,
const long_xt* alVolumes)
{
DSoundMutexGuardLock;
@ -1237,7 +1237,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_12)
// * patch: IDirectSoundBuffer_SetMixBinVolumes_8
// ******************************************************************
// This revision is only used in XDK 4039 and higher.
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_8)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_8)
(
XbHybridDSBuffer* pHybridThis,
X_LPDSMIXBINS pMixBins)
@ -1259,11 +1259,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMixBinVolumes_8)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetMode
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMode)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMode)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwMode,
DWORD dwApply)
dword_xt dwMode,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1282,10 +1282,10 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetMode)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetNotificationPositions
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetNotificationPositions)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetNotificationPositions)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwNotifyCount,
dword_xt dwNotifyCount,
LPCDSBPOSITIONNOTIFY paNotifies)
{
DSoundMutexGuardLock;
@ -1328,7 +1328,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetNotificationPositions)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetOutputBuffer
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetOutputBuffer)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetOutputBuffer)
(
XbHybridDSBuffer* pHybridThis,
XbHybridDSBuffer* pOutputBuffer)
@ -1352,10 +1352,10 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetOutputBuffer)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetPitch
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetPitch)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetPitch)
(
XbHybridDSBuffer* pHybridThis,
LONG lPitch)
long_xt lPitch)
{
DSoundMutexGuardLock;
@ -1374,11 +1374,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetPitch)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetPlayRegion
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetPlayRegion)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetPlayRegion)
(
XbHybridDSBuffer* pHybridThis,
DWORD dwPlayStart,
DWORD dwPlayLength)
dword_xt dwPlayStart,
dword_xt dwPlayLength)
{
DSoundMutexGuardLock;
@ -1419,13 +1419,13 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetPlayRegion)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetPosition
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetPosition)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetPosition)
(
XbHybridDSBuffer* pHybridThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply)
float_xt x,
float_xt y,
float_xt z,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1446,12 +1446,12 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetPosition)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetRolloffCurve
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetRolloffCurve)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetRolloffCurve)
(
XbHybridDSBuffer* pHybridThis,
const FLOAT* pflPoints,
DWORD dwPointCount,
DWORD dwApply)
const float_xt* pflPoints,
dword_xt dwPointCount,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1472,11 +1472,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetRolloffCurve)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetRolloffFactor
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetRolloffFactor)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetRolloffFactor)
(
XbHybridDSBuffer* pHybridThis,
FLOAT flRolloffFactor,
DWORD dwApply)
float_xt flRolloffFactor,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1496,13 +1496,13 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetRolloffFactor)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetVelocity
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetVelocity)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetVelocity)
(
XbHybridDSBuffer* pHybridThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply)
float_xt x,
float_xt y,
float_xt z,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1523,10 +1523,10 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetVelocity)
// ******************************************************************
// * patch: IDirectSoundBuffer_SetVolume
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetVolume)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetVolume)
(
XbHybridDSBuffer* pHybridThis,
LONG lVolume)
long_xt lVolume)
{
DSoundMutexGuardLock;
@ -1545,7 +1545,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_SetVolume)
// ******************************************************************
// * patch: IDirectSoundBuffer_Stop
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Stop)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Stop)
(
XbHybridDSBuffer* pHybridThis)
{
@ -1568,11 +1568,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Stop)
// ******************************************************************
// * patch: IDirectSoundBuffer_StopEx
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_StopEx)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_StopEx)
(
XbHybridDSBuffer* pHybridThis,
REFERENCE_TIME rtTimeStamp,
DWORD dwFlags)
dword_xt dwFlags)
{
DSoundMutexGuardLock;
@ -1662,10 +1662,10 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_StopEx)
// ******************************************************************
// * patch: IDirectSoundBuffer_Set3DVoiceData
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Set3DVoiceData)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Set3DVoiceData)
(
XbHybridDSBuffer* pHybridThis,
DWORD a2
dword_xt a2
)
{
DSoundMutexGuardLock;
@ -1677,13 +1677,13 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Set3DVoiceData)
LOG_UNIMPLEMENTED();
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}
// ******************************************************************
// * patch: IDirectSoundBuffer_Use3DVoiceData
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Use3DVoiceData)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundBuffer_Use3DVoiceData)
(
XbHybridDSBuffer* pHybridThis,
LPUNKNOWN pUnknown)

View File

@ -26,7 +26,7 @@
// ******************************************************************
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include <dsound.h>
#include "DirectSoundGlobal.hpp"

View File

@ -29,7 +29,7 @@
#define LOG_PREFIX CXBXR_MODULE::DSSTREAM
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include <dsound.h>
#include "DirectSoundGlobal.hpp" // Global variables
@ -117,7 +117,7 @@ void DirectSoundDoWork_Stream(xbox::LARGE_INTEGER& time)
// ******************************************************************
// * patch: CDirectSoundStream_AddRef
// ******************************************************************
ULONG WINAPI xbox::EMUPATCH(CDirectSoundStream_AddRef)
xbox::ulong_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_AddRef)
(
X_CDirectSoundStream* pThis)
{
@ -133,7 +133,7 @@ ULONG WINAPI xbox::EMUPATCH(CDirectSoundStream_AddRef)
// ******************************************************************
// * patch: CDirectSoundStream_Release
// ******************************************************************
ULONG WINAPI xbox::EMUPATCH(CDirectSoundStream_Release)
xbox::ulong_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_Release)
(
X_CDirectSoundStream* pThis)
{
@ -175,7 +175,7 @@ ULONG WINAPI xbox::EMUPATCH(CDirectSoundStream_Release)
// ******************************************************************
// * patch: DirectSoundCreateStream
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(DirectSoundCreateStream)
xbox::hresult_xt WINAPI xbox::EMUPATCH(DirectSoundCreateStream)
(
X_DSSTREAMDESC* pdssd,
OUT X_CDirectSoundStream** ppStream)
@ -232,7 +232,7 @@ HRESULT WINAPI xbox::EMUPATCH(DirectSoundCreateStream)
(*ppStream)->Xb_rtFlushEx = 0LL;
// We have to set DSBufferDesc last due to EmuFlags must be either 0 or previously written value to preserve other flags.
GeneratePCMFormat(DSBufferDesc, pdssd->lpwfxFormat, pdssd->dwFlags, (*ppStream)->EmuFlags, 0,
GeneratePCMFormat(DSBufferDesc, pdssd->lpwfxFormat, (DWORD &)pdssd->dwFlags, (*ppStream)->EmuFlags, 0,
xbox::zeroptr, (*ppStream)->X_BufferCacheSize, (*ppStream)->Xb_VoiceProperties, pdssd->lpMixBinsOutput,
&(*ppStream)->Xb_Voice);
@ -288,7 +288,7 @@ HRESULT WINAPI xbox::EMUPATCH(DirectSoundCreateStream)
// ******************************************************************
// * patch: IDirectSound_CreateSoundStream
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSound_CreateSoundStream)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSound_CreateSoundStream)
(
LPDIRECTSOUND8 pThis,
X_DSSTREAMDESC* pdssd,
@ -307,7 +307,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSound_CreateSoundStream)
// ******************************************************************
// * patch: CMcpxStream_Dummy_0x10
// ******************************************************************
VOID WINAPI xbox::EMUPATCH(CMcpxStream_Dummy_0x10)(DWORD dwDummy1, DWORD dwDummy2)
xbox::void_xt WINAPI xbox::EMUPATCH(CMcpxStream_Dummy_0x10)(dword_xt dwDummy1, dword_xt dwDummy2)
{
DSoundMutexGuardLock;
@ -328,7 +328,7 @@ VOID WINAPI xbox::EMUPATCH(CMcpxStream_Dummy_0x10)(DWORD dwDummy1, DWORD dwDummy
// ******************************************************************
// * patch: CDirectSoundStream_Discontinuity
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_Discontinuity)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_Discontinuity)
(
X_CDirectSoundStream* pThis)
{
@ -349,7 +349,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_Discontinuity)
// ******************************************************************
// * patch: CDirectSoundStream_Flush
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_Flush)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_Flush)
(
X_CDirectSoundStream* pThis)
{
@ -367,11 +367,11 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_Flush)
// ******************************************************************
// * patch: CDirectSoundStream_FlushEx
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_FlushEx)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_FlushEx)
(
X_CDirectSoundStream* pThis,
REFERENCE_TIME rtTimeStamp,
DWORD dwFlags)
dword_xt dwFlags)
{
DSoundMutexGuardLock;
@ -430,7 +430,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_FlushEx)
// ******************************************************************
// * patch: CDirectSoundStream_GetInfo
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_GetInfo)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_GetInfo)
(
X_CDirectSoundStream* pThis,
OUT LPXMEDIAINFO pInfo)
@ -455,10 +455,10 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_GetInfo)
// ******************************************************************
// * patch: CDirectSoundStream_GetStatus
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_GetStatus)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_GetStatus)
(
X_CDirectSoundStream* pThis,
OUT DWORD* pdwStatus)
OUT dword_xt* pdwStatus)
{
DSoundMutexGuardLock;
@ -498,7 +498,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_GetStatus)
// ******************************************************************
// * patch: CDirectSoundStream_GetVoiceProperties
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_GetVoiceProperties)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_GetVoiceProperties)
(
X_CDirectSoundStream* pThis,
OUT X_DSVOICEPROPS* pVoiceProps
@ -523,10 +523,10 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_GetVoiceProperties)
// ******************************************************************
// * patch: CDirectSoundStream_Pause
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_Pause)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_Pause)
(
X_CDirectSoundStream* pThis,
DWORD dwPause)
dword_xt dwPause)
{
DSoundMutexGuardLock;
@ -537,7 +537,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_Pause)
if (!pThis) {
LOG_TEST_CASE("CDirectSoundStream_Pause called with pThis = nullptr");
return STATUS_SUCCESS;
return xbox::status_success;
}
HRESULT hRet = HybridDirectSoundBuffer_Pause(pThis->EmuDirectSoundBuffer8, dwPause, pThis->EmuFlags, pThis->EmuPlayFlags,
@ -567,11 +567,11 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_Pause)
// ******************************************************************
// * patch: CDirectSoundStream_PauseEx
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_PauseEx)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_PauseEx)
(
X_CDirectSoundStream *pThis,
REFERENCE_TIME rtTimestamp,
DWORD dwPause)
dword_xt dwPause)
{
DSoundMutexGuardLock;
@ -593,7 +593,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_PauseEx)
// ******************************************************************
// * patch: CDirectSoundStream_Process
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_Process)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_Process)
(
X_CDirectSoundStream *pThis,
PXMEDIAPACKET pInputBuffer,
@ -684,11 +684,11 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_Process)
// ******************************************************************
// * patch: CDirectSoundStream_SetAllParameters
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetAllParameters)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetAllParameters)
(
X_CDirectSoundStream* pThis,
X_DS3DBUFFER* pc3DBufferParameters,
DWORD dwApply)
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -706,12 +706,12 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetAllParameters)
// ******************************************************************
// * patch: CDirectSoundStream_SetConeAngles
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetConeAngles)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetConeAngles)
(
X_CDirectSoundStream* pThis,
DWORD dwInsideConeAngle,
DWORD dwOutsideConeAngle,
DWORD dwApply)
dword_xt dwInsideConeAngle,
dword_xt dwOutsideConeAngle,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -730,13 +730,13 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetConeAngles)
// ******************************************************************
// * patch: CDirectSoundStream_SetConeOrientation
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetConeOrientation)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetConeOrientation)
(
X_CDirectSoundStream* pThis,
D3DVALUE x,
D3DVALUE y,
D3DVALUE z,
DWORD dwApply)
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -756,11 +756,11 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetConeOrientation)
// ******************************************************************
// * patch: CDirectSoundStream_SetConeOutsideVolume
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetConeOutsideVolume)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetConeOutsideVolume)
(
X_CDirectSoundStream* pThis,
LONG lConeOutsideVolume,
DWORD dwApply)
long_xt lConeOutsideVolume,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -778,11 +778,11 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetConeOutsideVolume)
// ******************************************************************
// * patch: CDirectSoundStream_SetDistanceFactor
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetDistanceFactor)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetDistanceFactor)
(
X_CDirectSoundStream* pThis,
FLOAT flDistanceFactor,
DWORD dwApply)
float_xt flDistanceFactor,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -800,11 +800,11 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetDistanceFactor)
// ******************************************************************
// * patch: CDirectSoundStream_SetDopplerFactor
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetDopplerFactor)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetDopplerFactor)
(
X_CDirectSoundStream* pThis,
FLOAT flDopplerFactor,
DWORD dwApply)
float_xt flDopplerFactor,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -822,7 +822,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetDopplerFactor)
// ******************************************************************
// * patch: CDirectSoundStream_SetEG
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetEG)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetEG)
(
X_CDirectSoundStream* pThis,
X_DSENVOLOPEDESC* pEnvelopeDesc)
@ -846,7 +846,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetEG)
// ******************************************************************
// * patch: IDirectSoundStream_SetEG
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetEG)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundStream_SetEG)
(
X_CDirectSoundStream* pThis,
X_DSENVOLOPEDESC* pEnvelopeDesc)
@ -861,7 +861,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetEG)
// ******************************************************************
// * patch: CDirectSoundStream_SetFilter
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetFilter)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetFilter)
(
X_CDirectSoundStream* pThis,
X_DSFILTERDESC* pFilterDesc)
@ -883,7 +883,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetFilter)
// ******************************************************************
// * patch: IDirectSoundStream_SetFilter
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetFilter)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundStream_SetFilter)
(
X_CDirectSoundStream* pThis,
X_DSFILTERDESC* pFilterDesc)
@ -898,7 +898,7 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetFilter)
// ******************************************************************
// * patch: CDirectSoundStream::SetFormat
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetFormat)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetFormat)
(
X_CDirectSoundStream* pThis,
LPCWAVEFORMATEX pwfxFormat)
@ -924,10 +924,10 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetFormat)
// ******************************************************************
// * patch: CDirectSoundStream_SetFrequency
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetFrequency)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetFrequency)
(
X_CDirectSoundStream* pThis,
DWORD dwFrequency)
dword_xt dwFrequency)
{
DSoundMutexGuardLock;
@ -944,10 +944,10 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetFrequency)
// ******************************************************************
// * patch: IDirectSoundStream_SetFrequency
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetFrequency)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundStream_SetFrequency)
(
X_CDirectSoundStream* pThis,
DWORD dwFrequency)
dword_xt dwFrequency)
{
DSoundMutexGuardLock;
@ -959,10 +959,10 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetFrequency)
// ******************************************************************
// * patch: CDirectSoundStream_SetHeadroom
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetHeadroom)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetHeadroom)
(
X_CDirectSoundStream* pThis,
DWORD dwHeadroom)
dword_xt dwHeadroom)
{
DSoundMutexGuardLock;
@ -980,10 +980,10 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetHeadroom)
// ******************************************************************
// * patch: IDirectSoundStream_SetHeadroom
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetHeadroom)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundStream_SetHeadroom)
(
X_CDirectSoundStream* pThis,
DWORD dwHeadroom)
dword_xt dwHeadroom)
{
DSoundMutexGuardLock;
@ -995,11 +995,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetHeadroom)
// ******************************************************************
// * patch: CDirectSoundStream_SetI3DL2Source
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetI3DL2Source)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetI3DL2Source)
(
X_CDirectSoundStream* pThis,
X_DSI3DL2BUFFER* pds3db,
DWORD dwApply)
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1021,7 +1021,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetI3DL2Source)
// ******************************************************************
// * patch: CDirectSoundStream_SetLFO
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetLFO)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetLFO)
(
X_CDirectSoundStream* pThis,
LPCDSLFODESC pLFODesc)
@ -1043,7 +1043,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetLFO)
// ******************************************************************
// * patch: IDirectSoundStream_SetLFO
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetLFO)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundStream_SetLFO)
(
X_CDirectSoundStream* pThis,
LPCDSLFODESC pLFODesc)
@ -1058,11 +1058,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetLFO)
// ******************************************************************
// * patch: CDirectSoundStream_SetMaxDistance
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMaxDistance)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMaxDistance)
(
X_CDirectSoundStream* pThis,
D3DVALUE flMaxDistance,
DWORD dwApply)
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1080,11 +1080,11 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMaxDistance)
// ******************************************************************
// * patch: CDirectSoundStream_SetMinDistance
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMinDistance)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMinDistance)
(
X_CDirectSoundStream* pThis,
D3DVALUE fMinDistance,
DWORD dwApply)
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1102,10 +1102,10 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMinDistance)
// ******************************************************************
// * patch: CDirectSoundStream_SetMixBins
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMixBins)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMixBins)
(
X_CDirectSoundStream* pThis,
DWORD dwMixBinMask) // Also can be X_LPDSMIXBINS (4039+)
dword_xt dwMixBinMask) // Also can be X_LPDSMIXBINS (4039+)
{
DSoundMutexGuardLock;
HRESULT hRet = DS_OK;
@ -1135,10 +1135,10 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMixBins)
// ******************************************************************
// * patch: IDirectSoundStream_SetMixBins
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetMixBins)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundStream_SetMixBins)
(
X_CDirectSoundStream* pThis,
DWORD dwMixBinMask) // Also can be X_LPDSMIXBINS (4039+)
dword_xt dwMixBinMask) // Also can be X_LPDSMIXBINS (4039+)
{
DSoundMutexGuardLock;
@ -1150,11 +1150,11 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetMixBins)
// ******************************************************************
// * patch: CDirectSoundStream_SetMode
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMode)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMode)
(
X_CDirectSoundStream* pThis,
DWORD dwMode,
DWORD dwApply)
dword_xt dwMode,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1173,11 +1173,11 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMode)
// * patch: CDirectSoundStream_SetMixBinVolumes_12
// This revision API was used in XDK 3911 until API had changed in XDK 4039.
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMixBinVolumes_12)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMixBinVolumes_12)
(
X_CDirectSoundStream* pThis,
DWORD dwMixBinMask,
const LONG* alVolumes)
dword_xt dwMixBinMask,
const long_xt* alVolumes)
{
DSoundMutexGuardLock;
@ -1199,7 +1199,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMixBinVolumes_12)
// * patch: CDirectSoundStream_SetMixBinVolumes_8
// ******************************************************************
// This revision API is only used in XDK 4039 and higher.
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMixBinVolumes_8)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMixBinVolumes_8)
(
X_CDirectSoundStream* pThis,
X_LPDSMIXBINS pMixBins)
@ -1220,7 +1220,7 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetMixBinVolumes_8)
// ******************************************************************
// * patch: CDirectSoundStream_SetOutputBuffer
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetOutputBuffer)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetOutputBuffer)
(
X_CDirectSoundStream* pThis,
XbHybridDSBuffer* pOutputBuffer)
@ -1244,10 +1244,10 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetOutputBuffer)
// ******************************************************************
// * patch: CDirectSoundStream_SetPitch
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetPitch)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetPitch)
(
X_CDirectSoundStream* pThis,
LONG lPitch)
long_xt lPitch)
{
DSoundMutexGuardLock;
@ -1264,10 +1264,10 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetPitch)
// ******************************************************************
// * patch: IDirectSoundStream_SetPitch
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetPitch)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundStream_SetPitch)
(
X_CDirectSoundStream* pThis,
LONG lPitch)
long_xt lPitch)
{
DSoundMutexGuardLock;
@ -1279,13 +1279,13 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetPitch)
// ******************************************************************
// * patch: CDirectSoundStream_SetPosition
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetPosition)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetPosition)
(
X_CDirectSoundStream* pThis,
D3DVALUE x,
D3DVALUE y,
D3DVALUE z,
DWORD dwApply)
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1305,12 +1305,12 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetPosition)
// ******************************************************************
// * patch: CDirectSoundStream::SetRolloffCurve
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetRolloffCurve)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetRolloffCurve)
(
X_CDirectSoundStream* pThis,
const FLOAT* pflPoints,
DWORD dwPointCount,
DWORD dwApply)
const float_xt* pflPoints,
dword_xt dwPointCount,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1329,11 +1329,11 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetRolloffCurve)
// ******************************************************************
// * patch: CDirectSoundStream_SetRolloffFactor
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetRolloffFactor)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetRolloffFactor)
(
X_CDirectSoundStream* pThis,
FLOAT fRolloffFactor,
DWORD dwApply)
float_xt fRolloffFactor,
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1353,13 +1353,13 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetRolloffFactor)
// ******************************************************************
// * patch: CDirectSoundStream_SetVelocity
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetVelocity)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetVelocity)
(
X_CDirectSoundStream* pThis,
D3DVALUE x,
D3DVALUE y,
D3DVALUE z,
DWORD dwApply)
dword_xt dwApply)
{
DSoundMutexGuardLock;
@ -1379,10 +1379,10 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetVelocity)
// ******************************************************************
// * patch: CDirectSoundStream_SetVolume
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetVolume)
xbox::hresult_xt WINAPI xbox::EMUPATCH(CDirectSoundStream_SetVolume)
(
X_CDirectSoundStream* pThis,
LONG lVolume)
long_xt lVolume)
{
DSoundMutexGuardLock;
@ -1400,10 +1400,10 @@ HRESULT WINAPI xbox::EMUPATCH(CDirectSoundStream_SetVolume)
// ******************************************************************
// * patch: IDirectSoundStream_SetVolume
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetVolume)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundStream_SetVolume)
(
X_CDirectSoundStream* pThis,
LONG lVolume
long_xt lVolume
)
{
DSoundMutexGuardLock;
@ -1416,10 +1416,10 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_SetVolume)
// ******************************************************************
// * patch: IDirectSoundStream_Set3DVoiceData
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_Set3DVoiceData)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundStream_Set3DVoiceData)
(
X_CDirectSoundStream* pThis,
DWORD a2
dword_xt a2
)
{
DSoundMutexGuardLock;
@ -1431,16 +1431,16 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_Set3DVoiceData)
LOG_UNIMPLEMENTED();
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}
// ******************************************************************
// * patch: IDirectSoundBuffer_Use3DVoiceData
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_Use3DVoiceData)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IDirectSoundStream_Use3DVoiceData)
(
X_CDirectSoundStream* pThis,
DWORD a2
dword_xt a2
)
{
DSoundMutexGuardLock;
@ -1452,5 +1452,5 @@ HRESULT WINAPI xbox::EMUPATCH(IDirectSoundStream_Use3DVoiceData)
LOG_UNIMPLEMENTED();
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}

View File

@ -28,7 +28,7 @@
#define LOG_PREFIX CXBXR_MODULE::XMO
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include <dsound.h>
#include "DirectSoundGlobal.hpp" // Global variables
@ -70,10 +70,10 @@ xbox::X_XFileMediaObject::_vtbl xbox::X_XFileMediaObject::vtbl =
// ******************************************************************
// * patch: XAudioCreateAdpcmFormat
// ******************************************************************
VOID WINAPI xbox::EMUPATCH(XAudioCreateAdpcmFormat)
xbox::void_xt WINAPI xbox::EMUPATCH(XAudioCreateAdpcmFormat)
(
WORD nChannels,
DWORD nSamplesPerSec,
word_xt nChannels,
dword_xt nSamplesPerSec,
OUT LPXBOXADPCMWAVEFORMAT pwfx)
{
DSoundMutexGuardLock;
@ -99,11 +99,11 @@ VOID WINAPI xbox::EMUPATCH(XAudioCreateAdpcmFormat)
// ******************************************************************
// * patch: XAudioDownloadEffectsImage
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(XAudioDownloadEffectsImage)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XAudioDownloadEffectsImage)
(
LPCSTR pszImageName,
LPVOID pImageLoc,
DWORD dwFlags,
dword_xt dwFlags,
LPVOID* ppImageDesc)
{
DSoundMutexGuardLock;
@ -123,9 +123,9 @@ HRESULT WINAPI xbox::EMUPATCH(XAudioDownloadEffectsImage)
// ******************************************************************
// * patch: XAudioSetEffectData
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(XAudioSetEffectData)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XAudioSetEffectData)
(
DWORD dwEffectIndex,
dword_xt dwEffectIndex,
void* pDesc,
void* pRawDesc)
{
@ -145,13 +145,13 @@ HRESULT WINAPI xbox::EMUPATCH(XAudioSetEffectData)
// ******************************************************************
// * patch: XFileCreaeMediaObject
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(XFileCreateMediaObject)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XFileCreateMediaObject)
(
LPCSTR pstrFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
dword_xt dwDesiredAccess,
dword_xt dwShareMode,
dword_xt dwCreationDisposition,
dword_xt dwFlagsAndAttributes,
OUT void** ppMediaObject)
{
DSoundMutexGuardLock;
@ -174,10 +174,10 @@ HRESULT WINAPI xbox::EMUPATCH(XFileCreateMediaObject)
// * patch: XFileCreateMediaObjectAsync
// ******************************************************************
// NOTE: Does not require a patch.
HRESULT WINAPI xbox::EMUPATCH(XFileCreateMediaObjectAsync)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XFileCreateMediaObjectAsync)
(
HANDLE hFile,
DWORD dwMaxPackets,
dword_xt dwMaxPackets,
OUT void** ppMediaObject)
{
DSoundMutexGuardLock;
@ -198,7 +198,7 @@ HRESULT WINAPI xbox::EMUPATCH(XFileCreateMediaObjectAsync)
// ******************************************************************
// * patch: XFileCreaeMediaObjectEx
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(XFileCreateMediaObjectEx)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XFileCreateMediaObjectEx)
(
HANDLE hFile,
OUT void** ppMediaObject)
@ -219,7 +219,7 @@ HRESULT WINAPI xbox::EMUPATCH(XFileCreateMediaObjectEx)
// * patch: XWaveFileCreateMediaObject
// ******************************************************************
// NOTE: Does not require any patch.
HRESULT WINAPI xbox::EMUPATCH(XWaveFileCreateMediaObject)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XWaveFileCreateMediaObject)
(
LPCSTR pszFileName,
LPCWAVEFORMATEX* ppwfxFormat,
@ -244,7 +244,7 @@ HRESULT WINAPI xbox::EMUPATCH(XWaveFileCreateMediaObject)
// * patch: XWaveFileCreateMediaObjectEx
// ******************************************************************
// NOTE: Does not require a patch.
HRESULT WINAPI xbox::EMUPATCH(XWaveFileCreateMediaObjectEx)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XWaveFileCreateMediaObjectEx)
(
LPCSTR pszFileName,
HANDLE hFile,
@ -269,11 +269,11 @@ HRESULT WINAPI xbox::EMUPATCH(XWaveFileCreateMediaObjectEx)
// * patch: XFileMediaObject_Seek
// ******************************************************************
// NOTE: Does not require a patch.
HRESULT WINAPI xbox::EMUPATCH(XFileMediaObject_Seek)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XFileMediaObject_Seek)
(
X_XFileMediaObject* pThis,
LONG lOffset,
DWORD dwOrigin,
long_xt lOffset,
dword_xt dwOrigin,
LPDWORD pdwAbsolute)
{
DSoundMutexGuardLock;
@ -294,7 +294,7 @@ HRESULT WINAPI xbox::EMUPATCH(XFileMediaObject_Seek)
// * patch: XFileMediaObject_DoWork
// ******************************************************************
// NOTE: Does not require a patch.
VOID WINAPI xbox::EMUPATCH(XFileMediaObject_DoWork)(X_XFileMediaObject* pThis)
xbox::void_xt WINAPI xbox::EMUPATCH(XFileMediaObject_DoWork)(X_XFileMediaObject* pThis)
{
DSoundMutexGuardLock;
@ -308,7 +308,7 @@ VOID WINAPI xbox::EMUPATCH(XFileMediaObject_DoWork)(X_XFileMediaObject* pThis)
// * patch: XFileMediaObject_GetStatus
// ******************************************************************
// NOTE: Does not require a patch.
HRESULT WINAPI xbox::EMUPATCH(XFileMediaObject_GetStatus)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XFileMediaObject_GetStatus)
(
X_XFileMediaObject* pThis,
OUT LPDWORD pdwStatus)
@ -329,7 +329,7 @@ HRESULT WINAPI xbox::EMUPATCH(XFileMediaObject_GetStatus)
// * patch: XFileMediaObject_GetInfo
// ******************************************************************
// NOTE: Does not require a patch.
HRESULT WINAPI xbox::EMUPATCH(XFileMediaObject_GetInfo)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XFileMediaObject_GetInfo)
(
X_XFileMediaObject* pThis,
OUT XMEDIAINFO* pInfo)
@ -350,7 +350,7 @@ HRESULT WINAPI xbox::EMUPATCH(XFileMediaObject_GetInfo)
// * patch: XFileMediaObject_Process
// ******************************************************************
// NOTE: Does not require a patch.
HRESULT WINAPI xbox::EMUPATCH(XFileMediaObject_Process)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XFileMediaObject_Process)
(
X_XFileMediaObject* pThis,
LPXMEDIAPACKET pInputBuffer,
@ -373,7 +373,7 @@ HRESULT WINAPI xbox::EMUPATCH(XFileMediaObject_Process)
// * patch: XFileMediaObject_AddRef
// ******************************************************************
// NOTE: Does not require a patch.
ULONG WINAPI xbox::EMUPATCH(XFileMediaObject_AddRef)
xbox::ulong_xt WINAPI xbox::EMUPATCH(XFileMediaObject_AddRef)
(
X_XFileMediaObject* pThis)
{
@ -394,7 +394,7 @@ ULONG WINAPI xbox::EMUPATCH(XFileMediaObject_AddRef)
// * patch: XFileMediaObject_Release
// ******************************************************************
// NOTE: Does not require a patch.
ULONG WINAPI xbox::EMUPATCH(XFileMediaObject_Release)
xbox::ulong_xt WINAPI xbox::EMUPATCH(XFileMediaObject_Release)
(
X_XFileMediaObject* pThis)
{
@ -418,7 +418,7 @@ ULONG WINAPI xbox::EMUPATCH(XFileMediaObject_Release)
// * patch: XFileMediaObject_Discontinuity
// ******************************************************************
// NOTE: Does not require a patch.
HRESULT WINAPI xbox::EMUPATCH(XFileMediaObject_Discontinuity)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XFileMediaObject_Discontinuity)
(
X_XFileMediaObject *pThis)
{

View File

@ -72,8 +72,8 @@ typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
// * X_DSMIXBINVOLUMEPAIR
// ******************************************************************
typedef struct _XDSMIXBINVOLUMEPAIR {
DWORD dwMixBin;
LONG lVolume;
dword_xt dwMixBin;
long_xt lVolume;
} X_DSMIXBINVOLUMEPAIR, *X_LPDSMIXBINVOLUMEPAIR;
// ******************************************************************
@ -81,7 +81,7 @@ typedef struct _XDSMIXBINVOLUMEPAIR {
// ******************************************************************
// Revision 2 (4039+)
typedef struct _XDSMIXBINS {
DWORD dwCount;
dword_xt dwCount;
X_LPDSMIXBINVOLUMEPAIR lpMixBinVolumePairs;
} X_DSMIXBINS, *X_LPDSMIXBINS;
@ -145,12 +145,12 @@ typedef struct _XDSMIXBINS {
// ******************************************************************
struct X_DSBUFFERDESC
{
DWORD dwSize;
DWORD dwFlags;
DWORD dwBufferBytes;
dword_xt dwSize;
dword_xt dwFlags;
dword_xt dwBufferBytes;
LPWAVEFORMATEX lpwfxFormat;
X_LPDSMIXBINS lpMixBinsOutput;
DWORD dwInputMixBin;
dword_xt dwInputMixBin;
};
// ******************************************************************
@ -158,16 +158,16 @@ struct X_DSBUFFERDESC
// ******************************************************************
struct X_DSENVOLOPEDESC
{
DWORD dwEnvelopGenerator;
DWORD dwMode;
DWORD dwDelay;
DWORD dwAttack;
DWORD dwHold;
DWORD dwDecay;
DWORD dwRelease;
DWORD dwSustain;
LONG lPitchScale;
LONG lFilterCutOff;
dword_xt dwEnvelopGenerator;
dword_xt dwMode;
dword_xt dwDelay;
dword_xt dwAttack;
dword_xt dwHold;
dword_xt dwDecay;
dword_xt dwRelease;
dword_xt dwSustain;
long_xt lPitchScale;
long_xt lFilterCutOff;
};
#define XTL_DSSCAPS_CTRL3D 0x00000010
@ -178,15 +178,15 @@ struct X_DSENVOLOPEDESC
#define XTL_DSSCAPS_NOMERGE 0x20000000
#define XTL_DSSCAPS_ACCURATENOTIFY 0x40000000
typedef VOID(XCALLBACK *LPFNXMOCALLBACK)(LPVOID pStreamContext, LPVOID pPacketContext, DWORD dwStatus);
typedef xbox::void_xt(XCALLBACK *LPFNXMOCALLBACK)(LPVOID pStreamContext, LPVOID pPacketContext, dword_xt dwStatus);
// ******************************************************************
// * X_DSSTREAMDESC
// ******************************************************************
struct X_DSSTREAMDESC
{
DWORD dwFlags;
DWORD dwMaxAttachedPackets;
dword_xt dwFlags;
dword_xt dwMaxAttachedPackets;
LPWAVEFORMATEX lpwfxFormat;
LPFNXMOCALLBACK lpfnCallback;
LPVOID lpvContext;
@ -196,7 +196,7 @@ struct X_DSSTREAMDESC
// ******************************************************************
// * REFERENCE_TIME
// ******************************************************************
typedef LONGLONG REFERENCE_TIME, *PREFERENCE_TIME, *LPREFERENCE_TIME;
typedef longlong_xt REFERENCE_TIME, *PREFERENCE_TIME, *LPREFERENCE_TIME;
// ******************************************************************
// * XMEDIAPACKET
@ -204,7 +204,7 @@ typedef LONGLONG REFERENCE_TIME, *PREFERENCE_TIME, *LPREFERENCE_TIME;
typedef struct _XMEDIAPACKET
{
LPVOID pvBuffer;
DWORD dwMaxSize;
dword_xt dwMaxSize;
PDWORD pdwCompletedSize;
PDWORD pdwStatus;
union {
@ -226,10 +226,10 @@ XMEDIAPACKET, *PXMEDIAPACKET, *LPXMEDIAPACKET;
// ******************************************************************
typedef struct _XMEDIAINFO
{
DWORD dwFlags;
DWORD dwInputSize;
DWORD dwOutputSize;
DWORD dwMaxLookahead;
dword_xt dwFlags;
dword_xt dwInputSize;
dword_xt dwOutputSize;
dword_xt dwMaxLookahead;
}
XMEDIAINFO, *PXEIDIAINFO, *LPXMEDIAINFO;
@ -246,9 +246,9 @@ XMEDIAINFO, *PXEIDIAINFO, *LPXMEDIAINFO;
// ******************************************************************
struct X_DSFILTERDESC
{
DWORD dwMode;
DWORD dwQCoefficient;
DWORD adwCoefficients[4];
dword_xt dwMode;
dword_xt dwQCoefficient;
dword_xt adwCoefficients[4];
};
// X_DSFILTERDESC modes
@ -262,12 +262,12 @@ struct X_DSFILTERDESC
// ******************************************************************
typedef struct _DSLFODESC
{
DWORD dwLFO;
DWORD dwDelay;
DWORD dwDelta;
LONG lPitchModulation;
LONG lFilterCutOffRange;
LONG lAmplitudeModulation;
dword_xt dwLFO;
dword_xt dwDelay;
dword_xt dwDelta;
long_xt lPitchModulation;
long_xt lFilterCutOffRange;
long_xt lAmplitudeModulation;
}
DSLFODESC, *LPCDSLFODESC;
@ -277,7 +277,7 @@ DSLFODESC, *LPCDSLFODESC;
typedef struct xbox_adpcmwaveformat_tag
{
WAVEFORMATEX wfx; // WAVEFORMATEX data
WORD wSamplesPerBlock; // Number of samples per encoded block. It must be 64.
word_xt wSamplesPerBlock; // Number of samples per encoded block. It must be 64.
}
XBOXADPCMWAVEFORMAT, *PXBOXADPCMWAVEFORMAT, *LPXBOXADPCMWAVEFORMAT;
@ -288,22 +288,22 @@ typedef const XBOXADPCMWAVEFORMAT *LPCXBOXADPCMWAVEFORMAT;
// ******************************************************************
struct X_DSOUTPUTLEVELS
{
DWORD dwAnalogLeftTotalPeak; // analog peak
DWORD dwAnalogRightTotalPeak;
DWORD dwAnalogLeftTotalRMS; // analog RMS
DWORD dwAnalogRightTotalRMS;
DWORD dwDigitalFrontLeftPeak; // digital peak levels
DWORD dwDigitalFrontCenterPeak;
DWORD dwDigitalFrontRightPeak;
DWORD dwDigitalBackLeftPeak;
DWORD dwDigitalBackRightPeak;
DWORD dwDigitalLowFrequencyPeak;
DWORD dwDigitalFrontLeftRMS; // digital RMS levels
DWORD dwDigitalFrontCenterRMS;
DWORD dwDigitalFrontRightRMS;
DWORD dwDigitalBackLeftRMS;
DWORD dwDigitalBackRightRMS;
DWORD dwDigitalLowFrequencyRMS;
dword_xt dwAnalogLeftTotalPeak; // analog peak
dword_xt dwAnalogRightTotalPeak;
dword_xt dwAnalogLeftTotalRMS; // analog RMS
dword_xt dwAnalogRightTotalRMS;
dword_xt dwDigitalFrontLeftPeak; // digital peak levels
dword_xt dwDigitalFrontCenterPeak;
dword_xt dwDigitalFrontRightPeak;
dword_xt dwDigitalBackLeftPeak;
dword_xt dwDigitalBackRightPeak;
dword_xt dwDigitalLowFrequencyPeak;
dword_xt dwDigitalFrontLeftRMS; // digital RMS levels
dword_xt dwDigitalFrontCenterRMS;
dword_xt dwDigitalFrontRightRMS;
dword_xt dwDigitalBackLeftRMS;
dword_xt dwDigitalBackRightRMS;
dword_xt dwDigitalLowFrequencyRMS;
};
// ******************************************************************
@ -311,10 +311,10 @@ struct X_DSOUTPUTLEVELS
// ******************************************************************
struct X_DSCAPS
{
DWORD dwFree2DBuffers;
DWORD dwFree3DBuffers;
DWORD dwFreeBufferSGEs;
DWORD dwMemoryAllocated;
dword_xt dwFree2DBuffers;
dword_xt dwFree3DBuffers;
dword_xt dwFreeBufferSGEs;
dword_xt dwMemoryAllocated;
};
#define X_DSSPEAKER_STEREO 0x00000000
@ -324,52 +324,52 @@ struct X_DSCAPS
#define X_DSSPEAKER_ENABLE_DTS 0x00020000
struct X_DS3DBUFFER {
DWORD dwSize;
dword_xt dwSize;
D3DVECTOR vPosition;
D3DVECTOR vVelocity;
DWORD dwInsideConeAngle;
DWORD dwOutsideConeAngle;
dword_xt dwInsideConeAngle;
dword_xt dwOutsideConeAngle;
D3DVECTOR vConeOrientation;
LONG lConeOutsideVolume;
FLOAT flMinDistance;
FLOAT flMaxDistance;
DWORD dwMode;
FLOAT flDistanceFactor;
FLOAT flRolloffFactor;
FLOAT flDopplerFactor;
long_xt lConeOutsideVolume;
float_xt flMinDistance;
float_xt flMaxDistance;
dword_xt dwMode;
float_xt flDistanceFactor;
float_xt flRolloffFactor;
float_xt flDopplerFactor;
};
struct X_DSI3DL2LISTENER {
LONG lRoom;
LONG lRoomHF;
FLOAT flRoomRolloffFactor;
FLOAT flDecayTime;
FLOAT flDecayHFRatio;
LONG lReflections;
FLOAT flReflectionsDelay;
LONG lReverb;
FLOAT flReverbDelay;
FLOAT flDiffusion;
FLOAT flDensity;
FLOAT flHFReference;
long_xt lRoom;
long_xt lRoomHF;
float_xt flRoomRolloffFactor;
float_xt flDecayTime;
float_xt flDecayHFRatio;
long_xt lReflections;
float_xt flReflectionsDelay;
long_xt lReverb;
float_xt flReverbDelay;
float_xt flDiffusion;
float_xt flDensity;
float_xt flHFReference;
};
struct X_DSI3DL2OBSTRUCTION {
LONG lHFLevel;
FLOAT flLFRatio;
long_xt lHFLevel;
float_xt flLFRatio;
};
struct X_DSI3DL2OCCLUSION {
LONG lHFLevel;
FLOAT flLFRatio;
long_xt lHFLevel;
float_xt flLFRatio;
};
struct X_DSI3DL2BUFFER {
LONG lDirect;
LONG lDirectHF;
LONG lRoom;
LONG lRoomHF;
FLOAT flRoomRolloffFactor;
long_xt lDirect;
long_xt lDirectHF;
long_xt lRoom;
long_xt lRoomHF;
float_xt flRoomRolloffFactor;
X_DSI3DL2OBSTRUCTION Obstruction;
X_DSI3DL2OCCLUSION Occlusion;
};
@ -378,14 +378,14 @@ typedef struct IDirectSoundStream IDirectSoundStream;
typedef IDirectSoundStream *LPDIRECTSOUNDSTREAM;
struct X_DSVOICEPROPS {
DWORD dwMixBinCount;
dword_xt dwMixBinCount;
X_DSMIXBINVOLUMEPAIR MixBinVolumePairs[8];
LONG lPitch;
LONG l3DDistanceVolume;
LONG l3DConeVolume;
LONG l3DDopplerPitch;
LONG lI3DL2DirectVolume;
LONG lI3DL2RoomVolume;
long_xt lPitch;
long_xt l3DDistanceVolume;
long_xt l3DConeVolume;
long_xt l3DDopplerPitch;
long_xt lI3DL2DirectVolume;
long_xt lI3DL2RoomVolume;
};
} // end of namespace xbox

View File

@ -109,7 +109,7 @@ struct CDirectSoundVoice : CUnknownGenericManager {
} unknown;
struct _r4034_lower {
xbox::addr p_unknown_08; // 0x008
xbox::addr_xt p_unknown_08; // 0x008
uint16_t unknown_0C; // 0x00C // zero'd - unknown
XBOXADPCMWAVEFORMAT* p_audio_format; // 0x010 // Same as XBOXADPCMWAVEFORMAT / WAVEFORMATEX structure
int32_t pitch; // 0x014 // Always init and custom pitch from SetFrequency, SetPitch, SetFormat, etc calls.
@ -203,16 +203,16 @@ struct DSBUFFER_S : CUnknownTemplate {
uint32_t unknown_08; // Offset 0x08 // -0x14
CMcpxVoiceClient* p_CMcpxVoiceClient; // Offset 0x0C // -0x10
CDirectSoundVoice* p_CDSVoice; // Offset 0x10 // -0x0C
xbox::addr p_unknown_14; // Offset 0x14 // -0x08 // (points to this address)
xbox::addr p_unknown_18; // Offset 0x18 // -0x04 // (points to above address)
xbox::addr_xt p_unknown_14; // Offset 0x14 // -0x08 // (points to this address)
xbox::addr_xt p_unknown_18; // Offset 0x18 // -0x04 // (points to above address)
} dsb_c;
static_assert(sizeof(DSBUFFER_C) == 0x14);
struct DSBUFFER_I {
CDirectSoundVoice* p_CDSVoice; // Offset 0x1C // 0x00 // Same as p_CDSVoice (above); pThis
CMcpxVoiceClient* p_CMcpxVoiceClient; // Offset 0x20 // 0x04 // Same as p_CMcpxVoiceClient (above)
xbox::addr p_unknown_24; // Offset 0x24 // 0x08
xbox::addr p_unknown_28; // Offset 0x28 // 0x0C
xbox::addr_xt p_unknown_24; // Offset 0x24 // 0x08
xbox::addr_xt p_unknown_28; // Offset 0x28 // 0x0C
uint32_t unknown_2C; // Offset 0x2C // 0x10 // was integer, later shift to offset 0x30
uint32_t unknown_30; // Offset 0x30 // 0x14 // later shifted from offset 0x2C; integer
} dsb_i;
@ -236,7 +236,7 @@ struct DSBUFFER_S : CUnknownTemplate {
init_member();
dsb_c.p_CMcpxVoiceClient = new CMcpxVoiceClient(); dsb_i.p_CMcpxVoiceClient = dsb_c.p_CMcpxVoiceClient;
dsb_c.p_CDSVoice = new CDirectSoundVoice(is3D); dsb_i.p_CDSVoice = dsb_c.p_CDSVoice;
dsb_c.p_unknown_18 = reinterpret_cast<xbox::addr>(&dsb_c.p_unknown_14);
dsb_c.p_unknown_18 = reinterpret_cast<xbox::addr_xt>(&dsb_c.p_unknown_14);
dsb_c.p_unknown_14 = dsb_c.p_unknown_18;
}
};

View File

@ -72,7 +72,7 @@ static struct {
static const char* section_symbols = "Symbols";
std::map<std::string, xbox::addr> g_SymbolAddresses;
std::map<std::string, xbox::addr_xt> g_SymbolAddresses;
bool g_SymbolCacheUsed = false;
bool bLLE_APU = false; // Set this to true for experimental APU (sound) LLE
@ -99,13 +99,13 @@ void* GetXboxFunctionPointer(std::string functionName)
}
// NOTE: GetDetectedSymbolName do not get to be in XbSymbolDatabase, get symbol string in Cxbx project only.
std::string GetDetectedSymbolName(const xbox::addr address, int * const symbolOffset)
std::string GetDetectedSymbolName(const xbox::addr_xt address, int * const symbolOffset)
{
std::string result = "";
int closestMatch = MAXINT;
for (auto it = g_SymbolAddresses.begin(); it != g_SymbolAddresses.end(); ++it) {
xbox::addr symbolAddr = it->second;
xbox::addr_xt symbolAddr = it->second;
if (symbolAddr == xbox::zero)
continue;
@ -132,11 +132,11 @@ std::string GetDetectedSymbolName(const xbox::addr address, int * const symbolOf
// NOTE: VerifySymbolAddressAgainstXRef do not get to be in XbSymbolDatabase, perform verification in Cxbx project only.
/*
bool VerifySymbolAddressAgainstXRef(char *SymbolName, xbox::addr Address, int XRef)
bool VerifySymbolAddressAgainstXRef(char *SymbolName, xbox::addr_xt Address, int XRef)
{
// Temporary verification - is XREF_D3DTSS_TEXCOORDINDEX derived correctly?
// TODO : Remove this when XREF_D3DTSS_TEXCOORDINDEX derivation is deemed stable
xbox::addr XRefAddr = XRefDataBase[XRef];
xbox::addr_xt XRefAddr = XRefDataBase[XRef];
if (XRefAddr == Address)
return true;
@ -424,7 +424,7 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader)
// Iterate through the map of symbol addresses, calling GetEmuPatchAddr on all functions.
for (auto it = g_SymbolAddresses.begin(); it != g_SymbolAddresses.end(); ++it) {
std::string functionName = it->first;
xbox::addr location = it->second;
xbox::addr_xt location = it->second;
std::stringstream output;
output << "SymbolCache: 0x" << std::setfill('0') << std::setw(8) << std::hex << location

View File

@ -32,11 +32,11 @@ extern bool bLLE_GPU; // Set this to true for experimental GPU (graphics) LLE
extern bool bLLE_USB; // Set this to true for experimental USB (input) LLE
extern bool bLLE_JIT; // Set this to true for experimental JIT
extern std::map<std::string, xbox::addr> g_SymbolAddresses;
extern std::map<std::string, xbox::addr_xt> g_SymbolAddresses;
void EmuHLEIntercept(Xbe::Header *XbeHeader);
std::string GetDetectedSymbolName(const xbox::addr address, int * const symbolOffset);
std::string GetDetectedSymbolName(const xbox::addr_xt address, int * const symbolOffset);
void* GetXboxFunctionPointer(std::string functionName);
#define XB_TYPE(func) XB_TRAMPOLINE_##func##_t

View File

@ -390,7 +390,7 @@ inline bool TitleRequiresUnpatchedFibers()
// NOTE: EmuInstallPatch do not get to be in XbSymbolDatabase, do the patches in Cxbx project only.
inline void EmuInstallPatch(const std::string FunctionName, const xbox::addr FunctionAddr)
inline void EmuInstallPatch(const std::string FunctionName, const xbox::addr_xt FunctionAddr)
{
auto it = g_PatchTable.find(FunctionName);
if (it == g_PatchTable.end()) {

View File

@ -28,7 +28,7 @@
#define LOG_PREFIX CXBXR_MODULE::XACT
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include "core\kernel\init\CxbxKrnl.h"
#include "common\Logging.h"
#include "core\kernel\support\Emu.h"
@ -52,7 +52,7 @@
// ******************************************************************
// * patch: XACTEngineCreate
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(XACTEngineCreate)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XACTEngineCreate)
(
X_XACT_RUNTIME_PARAMETERS* pParams,
X_XACTEngine** ppEngine
@ -92,11 +92,11 @@ void WINAPI xbox::EMUPATCH(XACTEngineDoWork)()
// ******************************************************************
// * EmuIXACTEngine_RegisterWaveBank
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_RegisterWaveBank)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_RegisterWaveBank)
(
X_XACTEngine* pThis,
LPVOID pvData,
DWORD dwSize,
dword_xt dwSize,
X_XACTWaveBank** ppWaveBank
)
{
@ -117,7 +117,7 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_RegisterWaveBank)
// ******************************************************************
// * EmuIXACTEngine_RegisterStreamedWaveBank
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_RegisterStreamedWaveBank)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_RegisterStreamedWaveBank)
(
X_XACTEngine* pThis,
X_XACT_WAVEBANK_STREAMING_PARAMETERS* pParams,
@ -140,11 +140,11 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_RegisterStreamedWaveBank)
// ******************************************************************
// * EmuIXACTEngine_CreateSoundBank
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_CreateSoundBank)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_CreateSoundBank)
(
X_XACTEngine* pThis,
LPVOID pvData,
DWORD dwSize,
dword_xt dwSize,
X_XACTSoundBank** ppSoundBank
)
{
@ -165,11 +165,11 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_CreateSoundBank)
// ******************************************************************
// * EmuIXACTEngine_DownloadEffectsImage
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_DownloadEffectsImage)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_DownloadEffectsImage)
(
X_XACTEngine* pThis,
PVOID pvData,
DWORD dwSize,
dword_xt dwSize,
LPVOID pEffectLoc,
LPVOID* ppImageDesc
)
@ -190,10 +190,10 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_DownloadEffectsImage)
// ******************************************************************
// * EmuIXACTEngine_CreateSoundSource
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_CreateSoundSource)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_CreateSoundSource)
(
X_XACTEngine* pThis,
DWORD dwFlags,
dword_xt dwFlags,
X_XACTSoundSource** ppSoundSource
)
{
@ -211,10 +211,10 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_CreateSoundSource)
// ******************************************************************
// * EmuIXACTEngine_EnableHeadphones
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_EnableHeadphones)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_EnableHeadphones)
(
X_XACTEngine* pThis,
BOOL fEnabled
bool_xt fEnabled
)
{
LOG_FUNC_BEGIN
@ -228,7 +228,7 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_EnableHeadphones)
// ******************************************************************
// * EmuIXACTEngine_SetListenerOrientation
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_SetListenerOrientation)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_SetListenerOrientation)
(
X_XACTEngine* pThis,
float xFront,
@ -237,7 +237,7 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_SetListenerOrientation)
float xTop,
float yTop,
float zTop,
DWORD dwApply
dword_xt dwApply
)
{
LOG_FUNC_BEGIN
@ -257,13 +257,13 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_SetListenerOrientation)
// ******************************************************************
// * EmuIXACTEngine_SetListenerPosition
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_SetListenerPosition)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_SetListenerPosition)
(
X_XACTEngine* pThis,
float x,
float y,
float z,
DWORD dwApply
dword_xt dwApply
)
{
LOG_FUNC_BEGIN
@ -280,13 +280,13 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_SetListenerPosition)
// ******************************************************************
// * EmuIXACTEngine_SetListenerVelocity
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_SetListenerVelocity)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_SetListenerVelocity)
(
X_XACTEngine* pThis,
float x,
float y,
float z,
DWORD dwApply
dword_xt dwApply
)
{
LOG_FUNC_BEGIN
@ -303,11 +303,11 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_SetListenerVelocity)
// ******************************************************************
// * EmuIXACTEngine_SetMasterVolume
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_SetMasterVolume)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_SetMasterVolume)
(
X_XACTEngine* pThis,
WORD wCategory,
LONG lVolume
word_xt wCategory,
long_xt lVolume
)
{
LOG_FUNC_BEGIN
@ -322,7 +322,7 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_SetMasterVolume)
// ******************************************************************
// * EmuIXACTEngine_CommitDeferredSettings
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_CommitDeferredSettings)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_CommitDeferredSettings)
(
X_XACTEngine* pThis
)
@ -335,11 +335,11 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_CommitDeferredSettings)
// ******************************************************************
// * EmuIXACTSoundBank_GetSoundCueIndexFromFriendlyName
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTSoundBank_GetSoundCueIndexFromFriendlyName)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTSoundBank_GetSoundCueIndexFromFriendlyName)
(
X_XACTEngine* pThis,
PCSTR pFriendlyName,
DWORD* pdwSoundCueIndex
dword_xt* pdwSoundCueIndex
)
{
LOG_FUNC_BEGIN
@ -354,12 +354,12 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTSoundBank_GetSoundCueIndexFromFriendlyName)
// ******************************************************************
// * EmuIXACTSoundBank_Play
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTSoundBank_Play)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTSoundBank_Play)
(
X_XACTSoundBank* pThis,
DWORD dwSoundCueIndex,
dword_xt dwSoundCueIndex,
X_XACTSoundSource* pSoundSource,
DWORD dwFlags,
dword_xt dwFlags,
X_XACTSoundCue** ppSoundCue
)
{
@ -377,11 +377,11 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTSoundBank_Play)
// ******************************************************************
// * EmuIXACTSoundBank_Stop
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTSoundBank_Stop)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTSoundBank_Stop)
(
X_XACTSoundBank* pThis,
DWORD dwSoundCueIndex,
DWORD dwFlags,
dword_xt dwSoundCueIndex,
dword_xt dwFlags,
X_XACTSoundCue* pSoundCue
)
{
@ -398,13 +398,13 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTSoundBank_Stop)
// ******************************************************************
// * EmuIXACTSoundSource_SetPosition
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTSoundSource_SetPosition)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTSoundSource_SetPosition)
(
X_XACTSoundSource* pThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply
float_xt x,
float_xt y,
float_xt z,
dword_xt dwApply
)
{
LOG_FUNC_BEGIN
@ -421,13 +421,13 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTSoundSource_SetPosition)
// ******************************************************************
// * EmuIXACTSoundSource_SetVelocity
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTSoundSource_SetVelocity)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTSoundSource_SetVelocity)
(
X_XACTSoundSource* pThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply
float_xt x,
float_xt y,
float_xt z,
dword_xt dwApply
)
{
LOG_FUNC_BEGIN
@ -444,7 +444,7 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTSoundSource_SetVelocity)
// ******************************************************************
// * EmuIXACTEngine_RegisterNotification
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_RegisterNotification)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_RegisterNotification)
(
X_XACTEngine* pThis,
PCXACT_NOTIFICATION_DESCRIPTION pNotificationDesc
@ -461,7 +461,7 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_RegisterNotification)
// ******************************************************************
// * EmuIXACTEngine_GetNotification
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_GetNotification)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_GetNotification)
(
X_XACTEngine* pThis,
PCXACT_NOTIFICATION_DESCRIPTION pNotificationDesc,
@ -483,7 +483,7 @@ HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_GetNotification)
// ******************************************************************
// * EmuIXACTEngine_UnRegisterWaveBank
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(IXACTEngine_UnRegisterWaveBank)
xbox::hresult_xt WINAPI xbox::EMUPATCH(IXACTEngine_UnRegisterWaveBank)
(
X_XACTEngine* pThis,
X_XACTWaveBank* pWaveBank

View File

@ -28,7 +28,6 @@
#include "common\xbe\Xbe.h"
#include "core\hle\XAPI\Xapi.h" // For EMUPATCH
#undef FIELD_OFFSET // prevent macro redefinition warnings
#include <windows.h>
#include <dsound.h>
@ -136,7 +135,7 @@ struct X_XACTSoundCue
// ******************************************************************
// * EmuXACTEngineCreate
// ******************************************************************
HRESULT WINAPI EMUPATCH(XACTEngineCreate)( X_XACT_RUNTIME_PARAMETERS* pParams, X_XACTEngine** ppEngine );
xbox::hresult_xt WINAPI EMUPATCH(XACTEngineCreate)( X_XACT_RUNTIME_PARAMETERS* pParams, X_XACTEngine** ppEngine );
// ******************************************************************
// * EmuXACTEngineDoWork
@ -146,18 +145,18 @@ void WINAPI EMUPATCH(XACTEngineDoWork)();
// ******************************************************************
// * EmuIXACTEngine_RegisterWaveBank
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_RegisterWaveBank)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_RegisterWaveBank)
(
X_XACTEngine* pThis,
LPVOID pvData,
DWORD dwSize,
dword_xt dwSize,
X_XACTWaveBank** ppWaveBank
);
// ******************************************************************
// * EmuIXACTEngine_RegisterStreamedWaveBank
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_RegisterStreamedWaveBank)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_RegisterStreamedWaveBank)
(
X_XACTEngine* pThis,
X_XACT_WAVEBANK_STREAMING_PARAMETERS* pParams,
@ -167,22 +166,22 @@ HRESULT WINAPI EMUPATCH(IXACTEngine_RegisterStreamedWaveBank)
// ******************************************************************
// * EmuIXACTEngine_CreateSoundBank
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_CreateSoundBank)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_CreateSoundBank)
(
X_XACTEngine* pThis,
LPVOID pvData,
DWORD dwSize,
dword_xt dwSize,
X_XACTSoundBank** ppSoundBank
);
// ******************************************************************
// * EmuIXACTEngine_DownloadEffectsImage
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_DownloadEffectsImage)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_DownloadEffectsImage)
(
X_XACTEngine* pThis,
PVOID pvData,
DWORD dwSize,
dword_xt dwSize,
LPVOID pEffectLoc,
LPVOID* ppImageDesc
);
@ -190,26 +189,26 @@ HRESULT WINAPI EMUPATCH(IXACTEngine_DownloadEffectsImage)
// ******************************************************************
// * EmuIXACTEngine_CreateSoundSource
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_CreateSoundSource)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_CreateSoundSource)
(
X_XACTEngine* pThis,
DWORD dwFlags,
dword_xt dwFlags,
X_XACTSoundSource** ppSoundSource
);
// ******************************************************************
// * EmuIXACTEngine_EnableHeadphones
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_EnableHeadphones)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_EnableHeadphones)
(
X_XACTEngine* pThis,
BOOL fEnabled
bool_xt fEnabled
);
// ******************************************************************
// * EmuIXACTEngine_SetListenerOrientation
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_SetListenerOrientation)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_SetListenerOrientation)
(
X_XACTEngine* pThis,
float xFront,
@ -218,109 +217,109 @@ HRESULT WINAPI EMUPATCH(IXACTEngine_SetListenerOrientation)
float xTop,
float yTop,
float zTop,
DWORD dwApply
dword_xt dwApply
);
// ******************************************************************
// * EmuIXACTEngine_SetListenerPosition
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_SetListenerPosition)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_SetListenerPosition)
(
X_XACTEngine* pThis,
float x,
float y,
float z,
DWORD dwApply
dword_xt dwApply
);
// ******************************************************************
// * EmuIXACTEngine_SetListenerVelocity
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_SetListenerVelocity)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_SetListenerVelocity)
(
X_XACTEngine* pThis,
float x,
float y,
float z,
DWORD dwApply
dword_xt dwApply
);
// ******************************************************************
// * EmuIXACTEngine_SetMasterVolume
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_SetMasterVolume)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_SetMasterVolume)
(
X_XACTEngine* pThis,
WORD wCategory,
LONG lVolume
word_xt wCategory,
long_xt lVolume
);
// ******************************************************************
// * EmuIXACTEngine_CommitDeferredSettings
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_CommitDeferredSettings)(X_XACTEngine* pThis);
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_CommitDeferredSettings)(X_XACTEngine* pThis);
// ******************************************************************
// * EmuIXACTSoundBank_GetSoundCueIndexFromFriendlyName
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTSoundBank_GetSoundCueIndexFromFriendlyName)
xbox::hresult_xt WINAPI EMUPATCH(IXACTSoundBank_GetSoundCueIndexFromFriendlyName)
(
X_XACTEngine* pThis,
PCSTR pFriendlyName,
DWORD* pdwSoundCueIndex
dword_xt* pdwSoundCueIndex
);
// ******************************************************************
// * EmuIXACTSoundBank_Play
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTSoundBank_Play)
xbox::hresult_xt WINAPI EMUPATCH(IXACTSoundBank_Play)
(
X_XACTSoundBank* pThis,
DWORD dwSoundCueIndex,
dword_xt dwSoundCueIndex,
X_XACTSoundSource* pSoundSource,
DWORD dwFlags,
dword_xt dwFlags,
X_XACTSoundCue** ppSoundCue
);
// ******************************************************************
// * EmuIXACTSoundBank_Stop
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTSoundBank_Stop)
xbox::hresult_xt WINAPI EMUPATCH(IXACTSoundBank_Stop)
(
X_XACTSoundBank* pThis,
DWORD dwSoundCueIndex,
DWORD dwFlags,
dword_xt dwSoundCueIndex,
dword_xt dwFlags,
X_XACTSoundCue* pSoundCue
);
// ******************************************************************
// * EmuIXACTSoundSource_SetPosition
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTSoundSource_SetPosition)
xbox::hresult_xt WINAPI EMUPATCH(IXACTSoundSource_SetPosition)
(
X_XACTSoundSource* pThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply
float_xt x,
float_xt y,
float_xt z,
dword_xt dwApply
);
// ******************************************************************
// * EmuIXACTSoundSource_SetVelocity
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTSoundSource_SetVelocity)
xbox::hresult_xt WINAPI EMUPATCH(IXACTSoundSource_SetVelocity)
(
X_XACTSoundSource* pThis,
FLOAT x,
FLOAT y,
FLOAT z,
DWORD dwApply
float_xt x,
float_xt y,
float_xt z,
dword_xt dwApply
);
// ******************************************************************
// * EmuIXACTEngine_RegisterNotification
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_RegisterNotification)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_RegisterNotification)
(
X_XACTEngine* pThis,
PCXACT_NOTIFICATION_DESCRIPTION pNotificationDesc
@ -329,7 +328,7 @@ HRESULT WINAPI EMUPATCH(IXACTEngine_RegisterNotification)
// ******************************************************************
// * EmuIXACTEngine_GetNotification
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_GetNotification)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_GetNotification)
(
X_XACTEngine* pThis,
PCXACT_NOTIFICATION_DESCRIPTION pNotificationDesc,
@ -339,7 +338,7 @@ HRESULT WINAPI EMUPATCH(IXACTEngine_GetNotification)
// ******************************************************************
// * EmuIXACTEngine_UnRegisterWaveBank
// ******************************************************************
HRESULT WINAPI EMUPATCH(IXACTEngine_UnRegisterWaveBank)
xbox::hresult_xt WINAPI EMUPATCH(IXACTEngine_UnRegisterWaveBank)
(
X_XACTEngine* pThis,
X_XACTWaveBank* pWaveBank

View File

@ -27,10 +27,9 @@
#define LOG_PREFIX CXBXR_MODULE::XAPI
#undef FIELD_OFFSET // prevent macro redefinition warnings
#include <xboxkrnl\xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include "common\input\SdlJoystick.h"
#include "common\input\InputManager.h"
#include <Shlwapi.h>
@ -193,8 +192,8 @@ void SetupXboxDeviceTypes()
if (typeInformation != g_SymbolAddresses.end() && typeInformation->second != xbox::zero) {
printf("Deriving XDEVICE_TYPE_GAMEPAD from DeviceTable (via GetTypeInformation)\n");
// Read the offset values of the device table structure from GetTypeInformation
xbox::addr deviceTableStartOffset = *(uint32_t*)((uint32_t)typeInformation->second + 0x01);
xbox::addr deviceTableEndOffset = *(uint32_t*)((uint32_t)typeInformation->second + 0x09);
xbox::addr_xt deviceTableStartOffset = *(uint32_t*)((uint32_t)typeInformation->second + 0x01);
xbox::addr_xt deviceTableEndOffset = *(uint32_t*)((uint32_t)typeInformation->second + 0x09);
// Calculate the number of device entires in the table
size_t deviceTableEntryCount = (deviceTableEndOffset - deviceTableStartOffset) / sizeof(uint32_t);
@ -256,9 +255,9 @@ void SetupXboxDeviceTypes()
// ******************************************************************
// * patch: XInitDevices
// ******************************************************************
xbox::VOID WINAPI xbox::EMUPATCH(XInitDevices)
xbox::void_xt WINAPI xbox::EMUPATCH(XInitDevices)
(
DWORD dwPreallocTypeCount,
dword_xt dwPreallocTypeCount,
PXDEVICE_PREALLOC_TYPE PreallocTypes
)
{
@ -321,7 +320,7 @@ void UpdateConnectedDeviceState(xbox::PXPP_DEVICE_TYPE DeviceType) {
// * This in turn requires USB LLE to be implemented, or USBD_Init
// * patched with a stub, so this patch is still enabled for now
// ******************************************************************
xbox::DWORD WINAPI xbox::EMUPATCH(XGetDevices)
xbox::dword_xt WINAPI xbox::EMUPATCH(XGetDevices)
(
PXPP_DEVICE_TYPE DeviceType
)
@ -332,7 +331,7 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XGetDevices)
UCHAR oldIrql = xbox::KeRaiseIrqlToDpcLevel();
DWORD ret = DeviceType->CurrentConnected;
dword_xt ret = DeviceType->CurrentConnected;
DeviceType->ChangeConnected = 0;
DeviceType->PreviousConnected = DeviceType->CurrentConnected;
@ -349,7 +348,7 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XGetDevices)
// * This in turn requires USB LLE to be implemented, or USBD_Init
// * patched with a stub, so this patch is still enabled for now
// ******************************************************************
xbox::BOOL WINAPI xbox::EMUPATCH(XGetDeviceChanges)
xbox::bool_xt WINAPI xbox::EMUPATCH(XGetDeviceChanges)
(
PXPP_DEVICE_TYPE DeviceType,
PDWORD pdwInsertions,
@ -403,8 +402,8 @@ xbox::BOOL WINAPI xbox::EMUPATCH(XGetDeviceChanges)
xbox::HANDLE WINAPI xbox::EMUPATCH(XInputOpen)
(
IN PXPP_DEVICE_TYPE DeviceType,
IN DWORD dwPort,
IN DWORD dwSlot,
IN dword_xt dwPort,
IN dword_xt dwSlot,
IN PXINPUT_POLLING_PARAMETERS pPollingParameters OPTIONAL
)
{
@ -455,7 +454,7 @@ xbox::HANDLE WINAPI xbox::EMUPATCH(XInputOpen)
// ******************************************************************
// * patch: XInputClose
// ******************************************************************
xbox::VOID WINAPI xbox::EMUPATCH(XInputClose)
xbox::void_xt WINAPI xbox::EMUPATCH(XInputClose)
(
IN HANDLE hDevice
)
@ -472,7 +471,7 @@ xbox::VOID WINAPI xbox::EMUPATCH(XInputClose)
// ******************************************************************
// * patch: XInputPoll
// ******************************************************************
xbox::DWORD WINAPI xbox::EMUPATCH(XInputPoll)
xbox::dword_xt WINAPI xbox::EMUPATCH(XInputPoll)
(
IN HANDLE hDevice
)
@ -487,7 +486,7 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XInputPoll)
// ******************************************************************
// * patch: XInputGetCapabilities
// ******************************************************************
xbox::DWORD WINAPI xbox::EMUPATCH(XInputGetCapabilities)
xbox::dword_xt WINAPI xbox::EMUPATCH(XInputGetCapabilities)
(
IN HANDLE hDevice,
OUT PXINPUT_CAPABILITIES pCapabilities
@ -498,7 +497,7 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XInputGetCapabilities)
LOG_FUNC_ARG_OUT(pCapabilities)
LOG_FUNC_END;
DWORD ret = ERROR_DEVICE_NOT_CONNECTED;
dword_xt ret = ERROR_DEVICE_NOT_CONNECTED;
PCXBX_CONTROLLER_HOST_BRIDGE Device = (PCXBX_CONTROLLER_HOST_BRIDGE)hDevice;
int Port = Device->XboxPort;
if (g_XboxControllerHostBridge[Port].hXboxDevice == hDevice && !g_XboxControllerHostBridge[Port].bPendingRemoval) {
@ -739,7 +738,7 @@ void EmuSBCGetState(xbox::PX_SBC_GAMEPAD pSBCGamepad, xbox::PXINPUT_GAMEPAD pXIG
// ******************************************************************
// * patch: XInputGetState
// ******************************************************************
xbox::DWORD WINAPI xbox::EMUPATCH(XInputGetState)
xbox::dword_xt WINAPI xbox::EMUPATCH(XInputGetState)
(
IN HANDLE hDevice,
OUT PXINPUT_STATE pState
@ -752,7 +751,7 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XInputGetState)
LOG_FUNC_ARG_OUT(pState)
LOG_FUNC_END;
DWORD ret = ERROR_DEVICE_NOT_CONNECTED;
dword_xt ret = ERROR_DEVICE_NOT_CONNECTED;
PCXBX_CONTROLLER_HOST_BRIDGE Device = (PCXBX_CONTROLLER_HOST_BRIDGE)hDevice;
int Port = Device->XboxPort;
if (g_XboxControllerHostBridge[Port].hXboxDevice == hDevice) {
@ -773,7 +772,7 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XInputGetState)
// ******************************************************************
// * patch: XInputSetState
// ******************************************************************
xbox::DWORD WINAPI xbox::EMUPATCH(XInputSetState)
xbox::dword_xt WINAPI xbox::EMUPATCH(XInputSetState)
(
IN HANDLE hDevice,
IN OUT PXINPUT_FEEDBACK pFeedback
@ -808,10 +807,10 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XInputSetState)
// ******************************************************************
// * patch: SetThreadPriorityBoost
// ******************************************************************
xbox::BOOL WINAPI xbox::EMUPATCH(SetThreadPriorityBoost)
xbox::bool_xt WINAPI xbox::EMUPATCH(SetThreadPriorityBoost)
(
HANDLE hThread,
BOOL DisablePriorityBoost
bool_xt DisablePriorityBoost
)
{
@ -832,7 +831,7 @@ xbox::BOOL WINAPI xbox::EMUPATCH(SetThreadPriorityBoost)
// ******************************************************************
// * patch: SetThreadPriority
// ******************************************************************
xbox::BOOL WINAPI xbox::EMUPATCH(SetThreadPriority)
xbox::bool_xt WINAPI xbox::EMUPATCH(SetThreadPriority)
(
HANDLE hThread,
int nPriority
@ -877,7 +876,7 @@ int WINAPI xbox::EMUPATCH(GetThreadPriority)
// ******************************************************************
// * patch: GetExitCodeThread
// ******************************************************************
xbox::BOOL WINAPI xbox::EMUPATCH(GetExitCodeThread)
xbox::bool_xt WINAPI xbox::EMUPATCH(GetExitCodeThread)
(
HANDLE hThread,
LPDWORD lpExitCode
@ -890,7 +889,7 @@ xbox::BOOL WINAPI xbox::EMUPATCH(GetExitCodeThread)
LOG_FUNC_ARG(lpExitCode)
LOG_FUNC_END;
BOOL bRet = GetExitCodeThread(hThread, lpExitCode);
BOOL bRet = GetExitCodeThread(hThread, (::LPDWORD)lpExitCode);
RETURN(bRet);
}
@ -898,10 +897,10 @@ xbox::BOOL WINAPI xbox::EMUPATCH(GetExitCodeThread)
// ******************************************************************
// * patch: XapiThreadStartup
// ******************************************************************
xbox::VOID WINAPI xbox::EMUPATCH(XapiThreadStartup)
xbox::void_xt WINAPI xbox::EMUPATCH(XapiThreadStartup)
(
DWORD dwDummy1,
DWORD dwDummy2
dword_xt dwDummy1,
dword_xt dwDummy2
)
{
LOG_FUNC_BEGIN
@ -909,7 +908,7 @@ xbox::VOID WINAPI xbox::EMUPATCH(XapiThreadStartup)
LOG_FUNC_ARG(dwDummy2)
LOG_FUNC_END;
typedef int (__stdcall *pfDummyFunc)(DWORD dwDummy);
typedef int (__stdcall *pfDummyFunc)(dword_xt dwDummy);
pfDummyFunc func = (pfDummyFunc)dwDummy1;
@ -931,10 +930,10 @@ xbox::VOID WINAPI xbox::EMUPATCH(XapiThreadStartup)
// ******************************************************************
// * patch: XRegisterThreadNotifyRoutine
// ******************************************************************
xbox::VOID WINAPI xbox::EMUPATCH(XRegisterThreadNotifyRoutine)
xbox::void_xt WINAPI xbox::EMUPATCH(XRegisterThreadNotifyRoutine)
(
PXTHREAD_NOTIFICATION pThreadNotification,
BOOL fRegister
bool_xt fRegister
)
{
LOG_FUNC_BEGIN
@ -992,7 +991,7 @@ void WINAPI EmuFiberStartup(fiber_context_t* context)
// ******************************************************************
xbox::LPVOID WINAPI xbox::EMUPATCH(CreateFiber)
(
DWORD dwStackSize,
dword_xt dwStackSize,
LPFIBER_START_ROUTINE lpStartRoutine,
LPVOID lpParameter
)
@ -1018,7 +1017,7 @@ xbox::LPVOID WINAPI xbox::EMUPATCH(CreateFiber)
// ******************************************************************
// * patch: DeleteFiber
// ******************************************************************
xbox::VOID WINAPI xbox::EMUPATCH(DeleteFiber)
xbox::void_xt WINAPI xbox::EMUPATCH(DeleteFiber)
(
LPVOID lpFiber
)
@ -1032,7 +1031,7 @@ xbox::VOID WINAPI xbox::EMUPATCH(DeleteFiber)
// ******************************************************************
// * patch: SwitchToFiber
// ******************************************************************
xbox::VOID WINAPI xbox::EMUPATCH(SwitchToFiber)
xbox::void_xt WINAPI xbox::EMUPATCH(SwitchToFiber)
(
LPVOID lpFiber
)
@ -1062,11 +1061,11 @@ xbox::LPVOID WINAPI xbox::EMUPATCH(ConvertThreadToFiber)
// ******************************************************************
// * patch: QueueUserAPC
// ******************************************************************
xbox::DWORD WINAPI xbox::EMUPATCH(QueueUserAPC)
xbox::dword_xt WINAPI xbox::EMUPATCH(QueueUserAPC)
(
PAPCFUNC pfnAPC,
HANDLE hThread,
DWORD dwData
dword_xt dwData
)
{
LOG_FUNC_BEGIN
@ -1075,7 +1074,7 @@ xbox::DWORD WINAPI xbox::EMUPATCH(QueueUserAPC)
LOG_FUNC_ARG(dwData)
LOG_FUNC_END;
DWORD dwRet = 0;
dword_xt dwRet = 0;
// If necessary, we can just continue to emulate NtQueueApcThread (0xCE).
// I added this because NtQueueApcThread fails in Metal Slug 3.
@ -1095,12 +1094,12 @@ xbox::DWORD WINAPI xbox::EMUPATCH(QueueUserAPC)
// ******************************************************************
// * patch: GetOverlappedResult
// ******************************************************************
BOOL WINAPI xbox::EMUPATCH(GetOverlappedResult)
xbox::bool_xt WINAPI xbox::EMUPATCH(GetOverlappedResult)
(
HANDLE hFile,
LPOVERLAPPED lpOverlapped,
LPDWORD lpNumberOfBytesTransferred,
BOOL bWait
bool_xt bWait
)
{
LOG_FUNC_BEGIN
@ -1122,7 +1121,7 @@ BOOL WINAPI xbox::EMUPATCH(GetOverlappedResult)
// ******************************************************************
// * patch: XLaunchNewImageA
// ******************************************************************
xbox::DWORD WINAPI xbox::EMUPATCH(XLaunchNewImageA)
xbox::dword_xt WINAPI xbox::EMUPATCH(XLaunchNewImageA)
(
LPCSTR lpTitlePath,
PLAUNCH_DATA pLaunchData
@ -1153,7 +1152,7 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XLaunchNewImageA)
PVOID LaunchDataVAddr = xbox::MmAllocateContiguousMemory(sizeof(xbox::LAUNCH_DATA_PAGE));
if (!LaunchDataVAddr)
{
RETURN(STATUS_NO_MEMORY);
RETURN(xbox::status_no_memory);
}
xbox::LaunchDataPage = (xbox::LAUNCH_DATA_PAGE*)LaunchDataVAddr;
}
@ -1205,7 +1204,7 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XLaunchNewImageA)
// ******************************************************************
// * patch: XGetLaunchInfo
// ******************************************************************
DWORD WINAPI xbox::EMUPATCH(XGetLaunchInfo)
xbox::dword_xt WINAPI xbox::EMUPATCH(XGetLaunchInfo)
(
PDWORD pdwLaunchDataType,
PLAUNCH_DATA pLaunchData
@ -1225,7 +1224,7 @@ DWORD WINAPI xbox::EMUPATCH(XGetLaunchInfo)
LOG_FUNC_ARG(pLaunchData)
LOG_FUNC_END;
DWORD ret = ERROR_NOT_FOUND;
dword_xt ret = ERROR_NOT_FOUND;
if (xbox::LaunchDataPage != NULL)
{
@ -1255,9 +1254,9 @@ DWORD WINAPI xbox::EMUPATCH(XGetLaunchInfo)
// ******************************************************************
// * patch: XSetProcessQuantumLength
// ******************************************************************
xbox::VOID WINAPI xbox::EMUPATCH(XSetProcessQuantumLength)
xbox::void_xt WINAPI xbox::EMUPATCH(XSetProcessQuantumLength)
(
DWORD dwMilliseconds
dword_xt dwMilliseconds
)
{
@ -1270,12 +1269,12 @@ xbox::VOID WINAPI xbox::EMUPATCH(XSetProcessQuantumLength)
// ******************************************************************
// * patch: SignalObjectAndWait
// ******************************************************************
xbox::DWORD WINAPI xbox::EMUPATCH(SignalObjectAndWait)
xbox::dword_xt WINAPI xbox::EMUPATCH(SignalObjectAndWait)
(
HANDLE hObjectToSignal,
HANDLE hObjectToWaitOn,
DWORD dwMilliseconds,
BOOL bAlertable
dword_xt dwMilliseconds,
bool_xt bAlertable
)
{
@ -1286,7 +1285,7 @@ xbox::DWORD WINAPI xbox::EMUPATCH(SignalObjectAndWait)
LOG_FUNC_ARG(bAlertable)
LOG_FUNC_END;
DWORD dwRet = SignalObjectAndWait( hObjectToSignal, hObjectToWaitOn, dwMilliseconds, bAlertable );
dword_xt dwRet = SignalObjectAndWait( hObjectToSignal, hObjectToWaitOn, dwMilliseconds, bAlertable );
RETURN(dwRet);
}
@ -1296,11 +1295,11 @@ xbox::DWORD WINAPI xbox::EMUPATCH(SignalObjectAndWait)
// ******************************************************************
MMRESULT WINAPI xbox::EMUPATCH(timeSetEvent)
(
UINT uDelay,
UINT uResolution,
uint_xt uDelay,
uint_xt uResolution,
LPTIMECALLBACK fptc,
DWORD dwUser,
UINT fuEvent
dword_xt dwUser,
uint_xt fuEvent
)
{
@ -1323,7 +1322,7 @@ MMRESULT WINAPI xbox::EMUPATCH(timeSetEvent)
// ******************************************************************
MMRESULT WINAPI xbox::EMUPATCH(timeKillEvent)
(
UINT uTimerID
uint_xt uTimerID
)
{
@ -1338,12 +1337,12 @@ MMRESULT WINAPI xbox::EMUPATCH(timeKillEvent)
// ******************************************************************
// * patch: RaiseException
// ******************************************************************
xbox::VOID WINAPI xbox::EMUPATCH(RaiseException)
xbox::void_xt WINAPI xbox::EMUPATCH(RaiseException)
(
DWORD dwExceptionCode, // exception code
DWORD dwExceptionFlags, // continuable exception flag
DWORD nNumberOfArguments, // number of arguments
CONST ULONG_PTR *lpArguments // array of arguments
dword_xt dwExceptionCode, // exception code
dword_xt dwExceptionFlags, // continuable exception flag
dword_xt nNumberOfArguments, // number of arguments
CONST ulong_ptr_xt *lpArguments // array of arguments
)
{
@ -1364,10 +1363,10 @@ xbox::VOID WINAPI xbox::EMUPATCH(RaiseException)
// ******************************************************************
// patch: XMountMUA
// ******************************************************************
xbox::DWORD WINAPI xbox::EMUPATCH(XMountMUA)
xbox::dword_xt WINAPI xbox::EMUPATCH(XMountMUA)
(
DWORD dwPort,
DWORD dwSlot,
dword_xt dwPort,
dword_xt dwSlot,
PCHAR pchDrive
)
{
@ -1388,13 +1387,13 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XMountMUA)
// ******************************************************************
// * patch: XGetDeviceEnumerationStatus
// ******************************************************************
xbox::DWORD WINAPI xbox::EMUPATCH(XGetDeviceEnumerationStatus)()
xbox::dword_xt WINAPI xbox::EMUPATCH(XGetDeviceEnumerationStatus)()
{
LOG_FUNC();
DWORD ret = (g_bIsDevicesInitializing || g_bIsDevicesEmulating) ? XDEVICE_ENUMERATION_BUSY : XDEVICE_ENUMERATION_IDLE;
dword_xt ret = (g_bIsDevicesInitializing || g_bIsDevicesEmulating) ? XDEVICE_ENUMERATION_BUSY : XDEVICE_ENUMERATION_IDLE;
RETURN(ret);
}
@ -1402,7 +1401,7 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XGetDeviceEnumerationStatus)()
// ******************************************************************
// * patch: XInputGetDeviceDescription
// ******************************************************************
xbox::DWORD WINAPI xbox::EMUPATCH(XInputGetDeviceDescription)
xbox::dword_xt WINAPI xbox::EMUPATCH(XInputGetDeviceDescription)
(
HANDLE hDevice,
PVOID pDescription
@ -1424,10 +1423,10 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XInputGetDeviceDescription)
// ******************************************************************
// * patch: XMountMURootA
// ******************************************************************
xbox::DWORD WINAPI xbox::EMUPATCH(XMountMURootA)
xbox::dword_xt WINAPI xbox::EMUPATCH(XMountMURootA)
(
DWORD dwPort,
DWORD dwSlot,
dword_xt dwPort,
dword_xt dwSlot,
PCHAR pchDrive
)
{
@ -1448,7 +1447,7 @@ xbox::DWORD WINAPI xbox::EMUPATCH(XMountMURootA)
// ******************************************************************
// * patch: OutputDebugStringA
// ******************************************************************
xbox::VOID WINAPI xbox::EMUPATCH(OutputDebugStringA)
xbox::void_xt WINAPI xbox::EMUPATCH(OutputDebugStringA)
(
IN LPCSTR lpOutputString
)

View File

@ -51,7 +51,7 @@ typedef void* LPSECURITY_ATTRIBUTES;
// ******************************************************************
// * PTHREAD_START_ROUTINE / LPTHREAD_START_ROUTINE
// ******************************************************************
typedef DWORD (WINAPI *PTHREAD_START_ROUTINE)
typedef xbox::dword_xt (WINAPI *PTHREAD_START_ROUTINE)
(
LPVOID lpThreadParameter
);
@ -62,12 +62,12 @@ typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
// ******************************************************************
typedef struct _XINPUT_POLLING_PARAMETERS
{
BYTE fAutoPoll : 1;
BYTE fInterruptOut : 1;
BYTE ReservedMBZ1 : 6;
BYTE bInputInterval;
BYTE bOutputInterval;
BYTE ReservedMBZ2;
xbox::byte_xt fAutoPoll : 1;
xbox::byte_xt fInterruptOut : 1;
xbox::byte_xt ReservedMBZ1 : 6;
xbox::byte_xt bInputInterval;
xbox::byte_xt bOutputInterval;
xbox::byte_xt ReservedMBZ2;
}
XINPUT_POLLING_PARAMETERS, *PXINPUT_POLLING_PARAMETERS;
@ -76,9 +76,9 @@ XINPUT_POLLING_PARAMETERS, *PXINPUT_POLLING_PARAMETERS;
// ******************************************************************
typedef struct _XPP_DEVICE_TYPE
{
ULONG CurrentConnected;
ULONG ChangeConnected;
ULONG PreviousConnected;
xbox::ulong_xt CurrentConnected;
xbox::ulong_xt ChangeConnected;
xbox::ulong_xt PreviousConnected;
}
XPP_DEVICE_TYPE, *PXPP_DEVICE_TYPE;
@ -87,9 +87,9 @@ XPP_DEVICE_TYPE, *PXPP_DEVICE_TYPE;
// ******************************************************************
typedef struct _XPP_DEVICE_INPUTSTATE_DESC
{
unsigned char ucSize; //size of InputState, doesn't include the dwPacketNumber, seems DWORD aligned.
unsigned char ucSize; //size of InputState, doesn't include the dwPacketNumber, seems xbox::dword_xt aligned.
unsigned char * pInputState;//pointer to InputState
unsigned char ucUnknown[3]; //for DWORD align
unsigned char ucUnknown[3]; //for xbox::dword_xt align
}
XPP_DEVICE_INPUTSTATE_DESC, *PXPP_DEVICE_INPUTSTATE_DESC;
@ -98,9 +98,9 @@ XPP_DEVICE_INPUTSTATE_DESC, *PXPP_DEVICE_INPUTSTATE_DESC;
// ******************************************************************
typedef struct _XPP_DEVICE_FEEDBACK_DESC
{
unsigned char ucSize; //size of Feedback, not include Feedback_Header, seems DWORD aligned.
unsigned char ucSize; //size of Feedback, not include Feedback_Header, seems xbox::dword_xt aligned.
unsigned char * pFeedback; //pointer to Feedback
unsigned char ucUnknown[3]; //for DWORD align
unsigned char ucUnknown[3]; //for xbox::dword_xt align
}
XPP_DEVICE_FEEDBACK_DESC, *PXPP_DEVICE_FEEDBACK_DESC;
@ -109,15 +109,15 @@ XPP_DEVICE_FEEDBACK_DESC, *PXPP_DEVICE_FEEDBACK_DESC;
// ******************************************************************
typedef struct _XID_TYPE_INFORMATION
{
UCHAR ucType;
BYTE bRemainingHandles;
UCHAR ucUnknown[2];//probably for DWORD align
xbox::uchar_xt ucType;
xbox::byte_xt bRemainingHandles;
xbox::uchar_xt ucUnknown[2];//probably for xbox::dword_xt align
PXPP_DEVICE_TYPE XppType;//pointer to DeviceType structure.
PXPP_DEVICE_INPUTSTATE_DESC pInputStateDesc;//pointer to InputStateDesc structure
PXPP_DEVICE_FEEDBACK_DESC pFeedbackDesc;//pointer to FeedbackDesc structure
DWORD * pConstant;//always 0x0801
xbox::dword_xt * pConstant;//always 0x0801
void * pFunction;//unknown function for device related process
DWORD dwEndZero;//last DWROD, always 0
xbox::dword_xt dwEndZero;//last DWROD, always 0
} XID_TYPE_INFORMATION, *PXID_TYPE_INFORMATION;
// ******************************************************************
@ -126,7 +126,7 @@ typedef struct _XID_TYPE_INFORMATION
typedef struct _XDEVICE_PREALLOC_TYPE
{
PXPP_DEVICE_TYPE DeviceType;
DWORD dwPreallocCount;
xbox::dword_xt dwPreallocCount;
}
XDEVICE_PREALLOC_TYPE, *PXDEVICE_PREALLOC_TYPE;
@ -135,12 +135,12 @@ XDEVICE_PREALLOC_TYPE, *PXDEVICE_PREALLOC_TYPE;
// ******************************************************************
typedef struct _XINPUT_GAMEPAD
{
WORD wButtons;
BYTE bAnalogButtons[8];
SHORT sThumbLX;
SHORT sThumbLY;
SHORT sThumbRX;
SHORT sThumbRY;
xbox::word_xt wButtons;
xbox::byte_xt bAnalogButtons[8];
xbox::short_xt sThumbLX;
xbox::short_xt sThumbLY;
xbox::short_xt sThumbRX;
xbox::short_xt sThumbRY;
}
XINPUT_GAMEPAD, *PXINPUT_GAMEPAD;
@ -148,17 +148,17 @@ XINPUT_GAMEPAD, *PXINPUT_GAMEPAD;
// * X_SBC_GAMEPAD for xbox SteelBatalion GAMEPAD struc
// ******************************************************************
typedef struct _X_SBC_GAMEPAD {
WORD wButtons[3];
SHORT sAimingX;
SHORT sAimingY;
SHORT sRotationLever;//maybe only high byte was used.
SHORT sSightChangeX;
SHORT sSightChangeY;
WORD wLeftPedal;//maybe only high byte was used.
WORD wMiddlePedal;//maybe only high byte was used.
WORD wRightPedal;//maybe only high byte was used.
UCHAR ucTunerDial;//low nibble, The 9 o'clock postion is 0, and the 6 o'clock position is 12. The blank area between the 6 and 9 o'clock positions is 13, 14, and 15 clockwise.
UCHAR ucGearLever;//GearLever 1~5 for gear 1~5, 7~13 for gear R,N,1~5, 15 for gear R. we use the continues range from 7~13
xbox::word_xt wButtons[3];
xbox::short_xt sAimingX;
xbox::short_xt sAimingY;
xbox::short_xt sRotationLever;//maybe only high byte was used.
xbox::short_xt sSightChangeX;
xbox::short_xt sSightChangeY;
xbox::word_xt wLeftPedal;//maybe only high byte was used.
xbox::word_xt wMiddlePedal;//maybe only high byte was used.
xbox::word_xt wRightPedal;//maybe only high byte was used.
xbox::uchar_xt ucTunerDial;//low nibble, The 9 o'clock postion is 0, and the 6 o'clock position is 12. The blank area between the 6 and 9 o'clock positions is 13, 14, and 15 clockwise.
xbox::uchar_xt ucGearLever;//GearLever 1~5 for gear 1~5, 7~13 for gear R,N,1~5, 15 for gear R. we use the continues range from 7~13
}
X_SBC_GAMEPAD, *PX_SBC_GAMEPAD;
@ -167,8 +167,8 @@ X_SBC_GAMEPAD, *PX_SBC_GAMEPAD;
// ******************************************************************
typedef struct _XINPUT_RUMBLE
{
WORD wLeftMotorSpeed;
WORD wRightMotorSpeed;
xbox::word_xt wLeftMotorSpeed;
xbox::word_xt wRightMotorSpeed;
}
XINPUT_RUMBLE, *PXINPUT_RUMBLE;
@ -178,8 +178,8 @@ XINPUT_RUMBLE, *PXINPUT_RUMBLE;
#include "AlignPrefix1.h"
typedef struct _XINPUT_CAPABILITIES
{
BYTE SubType;
WORD Reserved;
xbox::byte_xt SubType;
xbox::word_xt Reserved;
union
{
@ -226,7 +226,7 @@ XINPUT_CAPABILITIES, *PXINPUT_CAPABILITIES;
// ******************************************************************
typedef struct _XINPUT_STATE
{
DWORD dwPacketNumber;
xbox::dword_xt dwPacketNumber;
union
{
@ -241,11 +241,11 @@ XINPUT_STATE, *PXINPUT_STATE;
#include "AlignPrefix1.h"
typedef struct _XINPUT_FEEDBACK_HEADER
{
DWORD dwStatus;
xbox::dword_xt dwStatus;
HANDLE OPTIONAL hEvent;
BYTE Unknown1[4];
xbox::byte_xt Unknown1[4];
PVOID IoCompletedEvent; // PKEVENT really
BYTE Unknown2[50];
xbox::byte_xt Unknown2[50];
}
#include "AlignPosfix1.h"
XINPUT_FEEDBACK_HEADER, *PXINPUT_FEEDBACK_HEADER;
@ -269,15 +269,15 @@ XINPUT_FEEDBACK, *PXINPUT_FEEDBACK;
// ******************************************************************
typedef struct _RTL_HEAP_PARAMETERS
{
ULONG Length;
BYTE Unknown[0x2C];
xbox::ulong_xt Length;
xbox::byte_xt Unknown[0x2C];
}
RTL_HEAP_PARAMETERS;
// ******************************************************************
// * XTHREAD_NOTIFY_PROC
// ******************************************************************
typedef VOID (WINAPI *XTHREAD_NOTIFY_PROC)(BOOL fCreate);
typedef xbox::void_xt (WINAPI *XTHREAD_NOTIFY_PROC)(bool_xt fCreate);
// ******************************************************************
// * XTHREAD_NOTIFICATION
@ -296,7 +296,7 @@ XTHREAD_NOTIFICATION, *PXTHREAD_NOTIFICATION;
typedef struct _XCALCSIG_SIGNATURE
{
BYTE Signature[XCALCSIG_SIGNATURE_SIZE];
xbox::byte_xt Signature[XCALCSIG_SIGNATURE_SIZE];
}
XCALCSIG_SIGNATURE, *PXCALCSIG_SIGNATURE;
@ -309,8 +309,8 @@ XCALCSIG_SIGNATURE, *PXCALCSIG_SIGNATURE;
typedef struct _LAUNCH_DATA
{
BYTE Data[MAX_LAUNCH_DATA_SIZE];
}
xbox::byte_xt Data[MAX_LAUNCH_DATA_SIZE];
}
LAUNCH_DATA, *PLAUNCH_DATA;
#define LDT_TITLE 0
@ -332,13 +332,13 @@ LAUNCH_DATA, *PLAUNCH_DATA;
// ******************************************************************
// * patch: XFormatUtilityDrive
// ******************************************************************
BOOL WINAPI EMUPATCH(XFormatUtilityDrive)();
xbox::bool_xt WINAPI EMUPATCH(XFormatUtilityDrive)();
#if 0 // Handled by ExQueryNonVolatileSetting(XC_MAX_OS) returning XBOX_USER_SETTINGS
// ******************************************************************
// * patch: GetTimeZoneInformation
// ******************************************************************
DWORD WINAPI EMUPATCH(GetTimeZoneInformation)
xbox::dword_xt WINAPI EMUPATCH(GetTimeZoneInformation)
(
OUT LPTIME_ZONE_INFORMATION lpTimeZoneInformation
);
@ -347,24 +347,24 @@ DWORD WINAPI EMUPATCH(GetTimeZoneInformation)
// ******************************************************************
// * patch: XMountUtilityDrive
// ******************************************************************
BOOL WINAPI EMUPATCH(XMountUtilityDrive)
xbox::bool_xt WINAPI EMUPATCH(XMountUtilityDrive)
(
BOOL fFormatClean
bool_xt fFormatClean
);
// ******************************************************************
// * patch: XInitDevices
// ******************************************************************
VOID WINAPI EMUPATCH(XInitDevices)
xbox::void_xt WINAPI EMUPATCH(XInitDevices)
(
DWORD dwPreallocTypeCount,
dword_xt dwPreallocTypeCount,
PXDEVICE_PREALLOC_TYPE PreallocTypes
);
// ******************************************************************
// * patch: XGetDevices
// ******************************************************************
DWORD WINAPI EMUPATCH(XGetDevices)
xbox::dword_xt WINAPI EMUPATCH(XGetDevices)
(
XPP_DEVICE_TYPE *DeviceType
);
@ -372,7 +372,7 @@ DWORD WINAPI EMUPATCH(XGetDevices)
// ******************************************************************
// * patch: XGetDeviceChanges
// ******************************************************************
BOOL WINAPI EMUPATCH(XGetDeviceChanges)
xbox::bool_xt WINAPI EMUPATCH(XGetDeviceChanges)
(
PXPP_DEVICE_TYPE DeviceType,
PDWORD pdwInsertions,
@ -385,15 +385,15 @@ BOOL WINAPI EMUPATCH(XGetDeviceChanges)
HANDLE WINAPI EMUPATCH(XInputOpen)
(
IN PXPP_DEVICE_TYPE DeviceType,
IN DWORD dwPort,
IN DWORD dwSlot,
IN dword_xt dwPort,
IN dword_xt dwSlot,
IN PXINPUT_POLLING_PARAMETERS pPollingParameters OPTIONAL
);
// ******************************************************************
// * patch: XInputClose
// ******************************************************************
VOID WINAPI EMUPATCH(XInputClose)
xbox::void_xt WINAPI EMUPATCH(XInputClose)
(
IN HANDLE hDevice
);
@ -401,7 +401,7 @@ VOID WINAPI EMUPATCH(XInputClose)
// ******************************************************************
// * patch: XInputPoll
// ******************************************************************
DWORD WINAPI EMUPATCH(XInputPoll)
xbox::dword_xt WINAPI EMUPATCH(XInputPoll)
(
IN HANDLE Device
);
@ -409,7 +409,7 @@ DWORD WINAPI EMUPATCH(XInputPoll)
// ******************************************************************
// * patch: XInputGetCapabilities
// ******************************************************************
DWORD WINAPI EMUPATCH(XInputGetCapabilities)
xbox::dword_xt WINAPI EMUPATCH(XInputGetCapabilities)
(
IN HANDLE hDevice,
OUT PXINPUT_CAPABILITIES pCapabilities
@ -418,7 +418,7 @@ DWORD WINAPI EMUPATCH(XInputGetCapabilities)
// ******************************************************************
// * patch: XInputGetState
// ******************************************************************
DWORD WINAPI EMUPATCH(XInputGetState)
xbox::dword_xt WINAPI EMUPATCH(XInputGetState)
(
IN HANDLE hDevice,
OUT PXINPUT_STATE pState
@ -427,7 +427,7 @@ DWORD WINAPI EMUPATCH(XInputGetState)
// ******************************************************************
// * patch: XInputSetState
// ******************************************************************
DWORD WINAPI EMUPATCH(XInputSetState)
xbox::dword_xt WINAPI EMUPATCH(XInputSetState)
(
IN HANDLE hDevice,
IN OUT PXINPUT_FEEDBACK pFeedback
@ -440,14 +440,14 @@ DWORD WINAPI EMUPATCH(XInputSetState)
HANDLE WINAPI EMUPATCH(CreateMutex)
(
LPSECURITY_ATTRIBUTES lpMutexAttributes,
BOOL bInitialOwner,
bool_xt bInitialOwner,
LPCSTR lpName
);
// ******************************************************************
// * patch: CloseHandle
// ******************************************************************
BOOL WINAPI EMUPATCH(CloseHandle)
xbox::bool_xt WINAPI EMUPATCH(CloseHandle)
(
HANDLE hObject
);
@ -455,7 +455,7 @@ BOOL WINAPI EMUPATCH(CloseHandle)
// ******************************************************************
// * patch: SetThreadPriority
// ******************************************************************
BOOL WINAPI EMUPATCH(SetThreadPriority)
xbox::bool_xt WINAPI EMUPATCH(SetThreadPriority)
(
HANDLE hThread,
int nPriority
@ -472,16 +472,16 @@ int WINAPI EMUPATCH(GetThreadPriority)
// ******************************************************************
// * patch: SetThreadPriorityBoost
// ******************************************************************
BOOL WINAPI EMUPATCH(SetThreadPriorityBoost)
xbox::bool_xt WINAPI EMUPATCH(SetThreadPriorityBoost)
(
HANDLE hThread,
BOOL DisablePriorityBoost
bool_xt DisablePriorityBoost
);
// ******************************************************************
// * patch: GetExitCodeThread
// ******************************************************************
BOOL WINAPI EMUPATCH(GetExitCodeThread)
xbox::bool_xt WINAPI EMUPATCH(GetExitCodeThread)
(
HANDLE hThread,
LPDWORD lpExitCode
@ -490,26 +490,26 @@ BOOL WINAPI EMUPATCH(GetExitCodeThread)
// ******************************************************************
// * patch: XapiThreadStartup
// ******************************************************************
VOID WINAPI EMUPATCH(XapiThreadStartup)
xbox::void_xt WINAPI EMUPATCH(XapiThreadStartup)
(
DWORD dwDummy1,
DWORD dwDummy2
dword_xt dwDummy1,
dword_xt dwDummy2
);
/* Too High Level!
// ******************************************************************
// * patch: XapiSetupPerTitleDriveLetters
// ******************************************************************
NTSTATUS CDECL XapiSetupPerTitleDriveLetters(DWORD dwTitleId, LPCWSTR wszTitleName);
NTSTATUS CDECL XapiSetupPerTitleDriveLetters(dword_xt dwTitleId, LPCWSTR wszTitleName);
*/
// ******************************************************************
// * patch: XRegisterThreadNotifyRoutine
// ******************************************************************
VOID WINAPI EMUPATCH(XRegisterThreadNotifyRoutine)
xbox::void_xt WINAPI EMUPATCH(XRegisterThreadNotifyRoutine)
(
PXTHREAD_NOTIFICATION pThreadNotification,
BOOL fRegister
bool_xt fRegister
);
// ******************************************************************
@ -517,7 +517,7 @@ VOID WINAPI EMUPATCH(XRegisterThreadNotifyRoutine)
// ******************************************************************
LPVOID WINAPI EMUPATCH(CreateFiber)
(
DWORD dwStackSize,
dword_xt dwStackSize,
LPFIBER_START_ROUTINE lpStartRoutine,
LPVOID lpParameter
);
@ -525,7 +525,7 @@ LPVOID WINAPI EMUPATCH(CreateFiber)
// ******************************************************************
// * patch: DeleteFiber
// ******************************************************************
VOID WINAPI EMUPATCH(DeleteFiber)
xbox::void_xt WINAPI EMUPATCH(DeleteFiber)
(
LPVOID lpFiber
);
@ -533,7 +533,7 @@ VOID WINAPI EMUPATCH(DeleteFiber)
// ******************************************************************
// * patch: SwitchToFiber
// ******************************************************************
VOID WINAPI EMUPATCH(SwitchToFiber)
xbox::void_xt WINAPI EMUPATCH(SwitchToFiber)
(
LPVOID lpFiber
);
@ -549,12 +549,12 @@ LPVOID WINAPI EMUPATCH(ConvertThreadToFiber)
// ******************************************************************
// * patch: XapiFiberStartup
// ******************************************************************
VOID WINAPI EMUPATCH(XapiFiberStartup)(DWORD dwDummy);
xbox::void_xt WINAPI EMUPATCH(XapiFiberStartup)(dword_xt dwDummy);
// ******************************************************************
// * patch: QueryPerformanceCounter
// ******************************************************************
BOOL WINAPI EMUPATCH(QueryPerformanceCounter)
xbox::bool_xt WINAPI EMUPATCH(QueryPerformanceCounter)
(
LARGE_INTEGER *lpPerformanceCount
);
@ -562,30 +562,30 @@ BOOL WINAPI EMUPATCH(QueryPerformanceCounter)
// ******************************************************************
// * patch: QueueUserAPC
// ******************************************************************
DWORD WINAPI EMUPATCH(QueueUserAPC)
xbox::dword_xt WINAPI EMUPATCH(QueueUserAPC)
(
PAPCFUNC pfnAPC,
HANDLE hThread,
DWORD dwData
dword_xt dwData
);
#if 0 // Handled by WaitForSingleObject
// ******************************************************************
// * patch: GetOverlappedResult
// ******************************************************************
BOOL WINAPI EMUPATCH(GetOverlappedResult)
xbox::bool_xt WINAPI EMUPATCH(GetOverlappedResult)
(
HANDLE hFile,
LPOVERLAPPED lpOverlapped,
LPDWORD lpNumberOfBytesTransferred,
BOOL bWait
bool_xt bWait
);
#endif
// ******************************************************************
// * patch: XLaunchNewImageA
// ******************************************************************
DWORD WINAPI EMUPATCH(XLaunchNewImageA)
xbox::dword_xt WINAPI EMUPATCH(XLaunchNewImageA)
(
LPCSTR lpTitlePath,
PLAUNCH_DATA pLaunchData
@ -595,7 +595,7 @@ DWORD WINAPI EMUPATCH(XLaunchNewImageA)
// ******************************************************************
// * patch: XGetLaunchInfo
// ******************************************************************
DWORD WINAPI EMUPATCH(XGetLaunchInfo)
xbox::dword_xt WINAPI EMUPATCH(XGetLaunchInfo)
(
PDWORD pdwLaunchDataType,
PLAUNCH_DATA pLaunchData
@ -605,20 +605,20 @@ DWORD WINAPI EMUPATCH(XGetLaunchInfo)
// ******************************************************************
// * patch: XSetProcessQuantumLength
// ******************************************************************
VOID WINAPI EMUPATCH(XSetProcessQuantumLength)
xbox::void_xt WINAPI EMUPATCH(XSetProcessQuantumLength)
(
DWORD dwMilliseconds
dword_xt dwMilliseconds
);
// ******************************************************************
// * patch: SignalObjectAndWait
// ******************************************************************
DWORD WINAPI EMUPATCH(SignalObjectAndWait)
xbox::dword_xt WINAPI EMUPATCH(SignalObjectAndWait)
(
HANDLE hObjectToSignal,
HANDLE hObjectToWaitOn,
DWORD dwMilliseconds,
BOOL bAlertable
dword_xt dwMilliseconds,
bool_xt bAlertable
);
// ******************************************************************
@ -626,11 +626,11 @@ DWORD WINAPI EMUPATCH(SignalObjectAndWait)
// ******************************************************************
MMRESULT WINAPI EMUPATCH(timeSetEvent)
(
UINT uDelay,
UINT uResolution,
uint_xt uDelay,
uint_xt uResolution,
LPTIMECALLBACK fptc,
DWORD dwUser,
UINT fuEvent
dword_xt dwUser,
uint_xt fuEvent
);
// ******************************************************************
@ -638,18 +638,18 @@ MMRESULT WINAPI EMUPATCH(timeSetEvent)
// ******************************************************************
MMRESULT WINAPI EMUPATCH(timeKillEvent)
(
UINT uTimerID
uint_xt uTimerID
);
// ******************************************************************
// * patch: RaiseException
// ******************************************************************
VOID WINAPI EMUPATCH(RaiseException)
xbox::void_xt WINAPI EMUPATCH(RaiseException)
(
DWORD dwExceptionCode, // exception code
DWORD dwExceptionFlags, // continuable exception flag
DWORD nNumberOfArguments, // number of arguments
CONST ULONG_PTR *lpArguments // array of arguments
dword_xt dwExceptionCode, // exception code
dword_xt dwExceptionFlags, // continuable exception flag
dword_xt nNumberOfArguments, // number of arguments
CONST ulong_ptr_xt *lpArguments // array of arguments
);
// ******************************************************************
@ -664,42 +664,42 @@ int WINAPI EMUPATCH(lstrcmpiW)
// ******************************************************************
// * patch: XMountMUA
// ******************************************************************
DWORD WINAPI EMUPATCH(XMountMUA)
xbox::dword_xt WINAPI EMUPATCH(XMountMUA)
(
DWORD dwPort,
DWORD dwSlot,
dword_xt dwPort,
dword_xt dwSlot,
PCHAR pchDrive
);
// ******************************************************************
// * patch: XMountMURootA
// ******************************************************************
DWORD WINAPI EMUPATCH(XMountMURootA)
xbox::dword_xt WINAPI EMUPATCH(XMountMURootA)
(
DWORD dwPort,
DWORD dwSlot,
dword_xt dwPort,
dword_xt dwSlot,
PCHAR pchDrive
);
// ******************************************************************
// * patch: XMountAlternateTitleA
// ******************************************************************
/*DWORD WINAPI EMUPATCH(XMountAlternateTitleA)
/*xbox::dword_xt WINAPI EMUPATCH(XMountAlternateTitleA)
(
LPCSTR lpRootPath,
DWORD dwAltTitleId,
dword_xt dwAltTitleId,
PCHAR pchDrive
);*/
// ******************************************************************
// * patch: XUnmountAlternateTitleA
// ******************************************************************
//DWORD WINAPI EMUPATCH(XUnmountAlternateTitleA)(CHAR chDrive);
//xbox::dword_xt WINAPI EMUPATCH(XUnmountAlternateTitleA)(char_xt chDrive);
// ******************************************************************
// * patch: MoveFileA
// ******************************************************************
BOOL WINAPI EMUPATCH(MoveFileA)
xbox::bool_xt WINAPI EMUPATCH(MoveFileA)
(
LPCSTR lpExistingFileName,
LPCSTR lpNewFileName
@ -708,17 +708,17 @@ BOOL WINAPI EMUPATCH(MoveFileA)
// ******************************************************************
// * patch: XGetDeviceEnumerationStatus
// ******************************************************************
DWORD WINAPI EMUPATCH(XGetDeviceEnumerationStatus)();
xbox::dword_xt WINAPI EMUPATCH(XGetDeviceEnumerationStatus)();
// ******************************************************************
// * patch: SwitchToThread
// ******************************************************************
BOOL WINAPI EMUPATCH(SwitchToThread)();
xbox::bool_xt WINAPI EMUPATCH(SwitchToThread)();
// ******************************************************************
// * patch: XInputGetDeviceDescription
// ******************************************************************
DWORD WINAPI EMUPATCH(XInputGetDeviceDescription)
xbox::dword_xt WINAPI EMUPATCH(XInputGetDeviceDescription)
(
HANDLE hDevice,
PVOID pDescription
@ -727,11 +727,11 @@ DWORD WINAPI EMUPATCH(XInputGetDeviceDescription)
// ******************************************************************
// * patch: ReadFileEx
// ******************************************************************
BOOL WINAPI EMUPATCH(ReadFileEx)
xbox::bool_xt WINAPI EMUPATCH(ReadFileEx)
(
HANDLE hFile, // handle to file
LPVOID lpBuffer, // data buffer
DWORD nNumberOfBytesToRead, // number of bytes to read
dword_xt nNumberOfBytesToRead, // number of bytes to read
LPOVERLAPPED lpOverlapped, // offset
LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine // completion routine
);
@ -739,11 +739,11 @@ BOOL WINAPI EMUPATCH(ReadFileEx)
// ******************************************************************
// * patch: WriteFileEx
// ******************************************************************
BOOL WINAPI EMUPATCH(WriteFileEx)
xbox::bool_xt WINAPI EMUPATCH(WriteFileEx)
(
HANDLE hFile, // handle to output file
LPCVOID lpBuffer, // data buffer
DWORD nNumberOfBytesToWrite, // number of bytes to write
dword_xt nNumberOfBytesToWrite, // number of bytes to write
LPOVERLAPPED lpOverlapped, // overlapped buffer
LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine // completion routine
);
@ -751,7 +751,7 @@ BOOL WINAPI EMUPATCH(WriteFileEx)
// ******************************************************************
// * patch: OutputDebugStringA
// ******************************************************************
VOID WINAPI EMUPATCH(OutputDebugStringA)
xbox::void_xt WINAPI EMUPATCH(OutputDebugStringA)
(
IN LPCSTR lpOutputString
);
@ -763,7 +763,7 @@ VOID WINAPI EMUPATCH(OutputDebugStringA)
// ******************************************************************
HANDLE WINAPI EMUPATCH(XCalculateSignatureBegin)
(
DWORD dwFlags
dword_xt dwFlags
);
// ******************************************************************
@ -771,24 +771,24 @@ HANDLE WINAPI EMUPATCH(XCalculateSignatureBegin)
// ******************************************************************
HANDLE WINAPI EMUPATCH(XCalculateSignatureBeginEx)
(
DWORD dwFlags,
DWORD dwAltTitleId
dword_xt dwFlags,
dword_xt dwAltTitleId
);
// ******************************************************************
// * patch: XCalculateSignatureUpdate
// ******************************************************************
DWORD WINAPI EMUPATCH(XCalculateSignatureUpdate)
xbox::dword_xt WINAPI EMUPATCH(XCalculateSignatureUpdate)
(
HANDLE hCalcSig,
const BYTE *pbData,
ULONG cbData
const xbox::byte_xt *pbData,
ulong_xt cbData
);
// ******************************************************************
// * patch: XCalculateSignatureEnd
// ******************************************************************
DWORD WINAPI EMUPATCH(XCalculateSignatureEnd)
xbox::dword_xt WINAPI EMUPATCH(XCalculateSignatureEnd)
(
HANDLE hCalcSig,
PXCALCSIG_SIGNATURE pSignature

View File

@ -27,7 +27,6 @@
#define LOG_PREFIX CXBXR_MODULE::XGRP
#undef FIELD_OFFSET // prevent macro redefinition warnings
#include <windows.h>
#include "core\kernel\support\Emu.h"
@ -54,7 +53,7 @@ PVOID WINAPI xbox::EMUPATCH(XGIsSwizzledFormat)
// ******************************************************************
// * patch: XGSwizzleRect
// ******************************************************************
VOID WINAPI xbox::EMUPATCH(XGSwizzleRect)
xbox::void_xt WINAPI xbox::EMUPATCH(XGSwizzleRect)
(
LPCVOID pSource,
DWORD Pitch,
@ -115,7 +114,7 @@ VOID WINAPI xbox::EMUPATCH(XGSwizzleRect)
// ******************************************************************
// * patch: XGSwizzleBox
// ******************************************************************
VOID WINAPI xbox::EMUPATCH(XGSwizzleBox)
xbox::void_xt WINAPI xbox::EMUPATCH(XGSwizzleBox)
(
LPCVOID pSource,
DWORD RowPitch,
@ -182,11 +181,11 @@ VOID WINAPI xbox::EMUPATCH(XGSwizzleBox)
// ******************************************************************
// * patch: XGWriteSurfaceOrTextureToXPR
// ******************************************************************
HRESULT WINAPI xbox::EMUPATCH(XGWriteSurfaceOrTextureToXPR)
xbox::hresult_xt WINAPI xbox::EMUPATCH(XGWriteSurfaceOrTextureToXPR)
(
LPVOID pResource,
const char* cPath,
BOOL bWriteSurfaceAsTexture
bool_xt bWriteSurfaceAsTexture
)
{
LOG_FUNC_BEGIN
@ -207,17 +206,17 @@ HRESULT WINAPI xbox::EMUPATCH(XGWriteSurfaceOrTextureToXPR)
// ******************************************************************
// * patch: XGSetTextureHeader
// ******************************************************************
VOID WINAPI xbox::EMUPATCH(XGSetTextureHeader)
xbox::void_xt WINAPI xbox::EMUPATCH(XGSetTextureHeader)
(
UINT Width,
UINT Height,
UINT Levels,
uint_xt Width,
uint_xt Height,
uint_xt Levels,
DWORD Usage,
X_D3DFORMAT Format,
D3DPOOL Pool,
X_D3DTexture* pTexture,
UINT Data,
UINT Pitch
uint_xt Data,
uint_xt Pitch
)
{
LOG_FUNC_BEGIN
@ -274,7 +273,7 @@ VOID WINAPI xbox::EMUPATCH(XGSetTextureHeader)
// ******************************************************************
// * patch: XFONT_OpenBitmapFontFromMemory
// ******************************************************************
//HRESULT WINAPI xbox::EMUPATCH(XFONT_OpenBitmapFontFromMemory)
//xbox::hresult_xt WINAPI xbox::EMUPATCH(XFONT_OpenBitmapFontFromMemory)
//(
// CONST void *pFontData,
// unsigned uFontDataSize,

View File

@ -49,7 +49,7 @@ PVOID WINAPI EMUPATCH(XGIsSwizzledFormat)
// ******************************************************************
// * patch: XGSwizzleRect
// ******************************************************************
VOID WINAPI EMUPATCH(XGSwizzleRect)
xbox::void_xt WINAPI EMUPATCH(XGSwizzleRect)
(
LPCVOID pSource,
DWORD Pitch,
@ -65,7 +65,7 @@ VOID WINAPI EMUPATCH(XGSwizzleRect)
// ******************************************************************
// * patch: XGSwizzleBox
// ******************************************************************
VOID WINAPI EMUPATCH(XGSwizzleBox)
xbox::void_xt WINAPI EMUPATCH(XGSwizzleBox)
(
LPCVOID pSource,
DWORD RowPitch,
@ -82,33 +82,33 @@ VOID WINAPI EMUPATCH(XGSwizzleBox)
// ******************************************************************
// * patch: XGWriteSurfaceOrTextureToXPR
// ******************************************************************
HRESULT WINAPI EMUPATCH(XGWriteSurfaceOrTextureToXPR)
xbox::hresult_xt WINAPI EMUPATCH(XGWriteSurfaceOrTextureToXPR)
(
LPVOID pResource,
const char* cPath,
BOOL bWriteSurfaceAsTexture
bool_xt bWriteSurfaceAsTexture
);
// ******************************************************************
// * patch: XGSetTextureHeader
// ******************************************************************
VOID WINAPI EMUPATCH(XGSetTextureHeader)
xbox::void_xt WINAPI EMUPATCH(XGSetTextureHeader)
(
UINT Width,
UINT Height,
UINT Levels,
uint_xt Width,
uint_xt Height,
uint_xt Levels,
DWORD Usage,
X_D3DFORMAT Format,
D3DPOOL Pool,
X_D3DTexture* pTexture,
UINT Data,
UINT Pitch
uint_xt Data,
uint_xt Pitch
);
// ******************************************************************
// * patch: XFONT_OpenBitmapFontFromMemory
// ******************************************************************
HRESULT WINAPI EMUPATCH(XFONT_OpenBitmapFontFromMemory)
xbox::hresult_xt WINAPI EMUPATCH(XFONT_OpenBitmapFontFromMemory)
(
CONST void *pFontData,
unsigned uFontDataSize,

View File

@ -32,16 +32,16 @@ namespace xbox {
// ******************************************************************
// * patch: WSAStartup
// ******************************************************************
int WINAPI EMUPATCH(WSAStartup)
xbox::int_xt WINAPI EMUPATCH(WSAStartup)
(
WORD wVersionRequested,
word_xt wVersionRequested,
WSADATA *lpWSAData
);
// ******************************************************************
// * patch: XNetStartup
// ******************************************************************
INT WINAPI EMUPATCH(XNetStartup)
xbox::int_xt WINAPI EMUPATCH(XNetStartup)
(
const PVOID pDummy
);
@ -49,12 +49,12 @@ INT WINAPI EMUPATCH(XNetStartup)
// ******************************************************************
// * patch: XNetGetEthernetLinkStatus
// ******************************************************************
DWORD WINAPI EMUPATCH(XNetGetEthernetLinkStatus)();
xbox::dword_xt WINAPI EMUPATCH(XNetGetEthernetLinkStatus)();
// ******************************************************************
// * patch: XOnlineLaunchNewImage
// ******************************************************************
HRESULT WINAPI XOnlineLaunchNewImage
xbox::hresult_xt WINAPI XOnlineLaunchNewImage
(
LPCSTR lpImagePath,
LPVOID pLaunchData
@ -63,60 +63,60 @@ HRESULT WINAPI XOnlineLaunchNewImage
// ******************************************************************
// * patch: XOnlineLogon
// ******************************************************************
HRESULT WINAPI EMUPATCH(XOnlineLogon)
xbox::hresult_xt WINAPI EMUPATCH(XOnlineLogon)
(
VOID* pUsers,
DWORD* pdwServiceIDs,
DWORD dwServices,
void_xt* pUsers,
dword_xt* pdwServiceIDs,
dword_xt dwServices,
HANDLE hEvent,
HANDLE pHandle
);
SOCKET WINAPI EMUPATCH(socket)
(
int af,
int type,
int protocol
int_xt af,
int_xt type,
int_xt protocol
);
int WINAPI EMUPATCH(connect)
xbox::int_xt WINAPI EMUPATCH(connect)
(
SOCKET s,
const struct sockaddr FAR *name,
int namelen
int_xt namelen
);
int WINAPI EMUPATCH(send)
xbox::int_xt WINAPI EMUPATCH(send)
(
SOCKET s,
const char FAR *buf,
int len,
int flags
int_xt len,
int_xt flags
);
int WINAPI EMUPATCH(recv)
xbox::int_xt WINAPI EMUPATCH(recv)
(
SOCKET s,
char FAR *buf,
int len,
int flags
int_xt len,
int_xt flags
);
int WINAPI EMUPATCH(bind)
xbox::int_xt WINAPI EMUPATCH(bind)
(
SOCKET s,
const struct sockaddr FAR *name,
int namelen
int_xt namelen
);
int WINAPI EMUPATCH(listen)
xbox::int_xt WINAPI EMUPATCH(listen)
(
SOCKET s,
int backlog
int_xt backlog
);
int WINAPI EMUPATCH(ioctlsocket)
xbox::int_xt WINAPI EMUPATCH(ioctlsocket)
(
SOCKET s,
long cmd,

View File

@ -12,34 +12,41 @@
#ifndef XBOXKRNL_DBG_H
#define XBOXKRNL_DBG_H
XBSYSAPI EXPORTNUM(5) VOID NTAPI DbgBreakPoint();
XBSYSAPI EXPORTNUM(6) VOID NTAPI DbgBreakPointWithStatus
#include "types.h"
namespace xbox
{
XBSYSAPI EXPORTNUM(5) void_xt NTAPI DbgBreakPoint();
XBSYSAPI EXPORTNUM(6) void_xt NTAPI DbgBreakPointWithStatus
(
IN ULONG Status
IN ulong_xt Status
);
XBSYSAPI EXPORTNUM(7) NTSTATUS NTAPI DbgLoadImageSymbols
XBSYSAPI EXPORTNUM(7) ntstatus_xt NTAPI DbgLoadImageSymbols
(
IN PANSI_STRING Name,
IN PVOID Base,
IN ULONG_PTR ProcessId
IN ulong_ptr_xt ProcessId
);
XBSYSAPI EXPORTNUM(8) ULONG _cdecl DbgPrint
XBSYSAPI EXPORTNUM(8) ulong_xt _cdecl DbgPrint
(
PCHAR Format, ...
);
XBSYSAPI EXPORTNUM(10) ULONG NTAPI DbgPrompt
XBSYSAPI EXPORTNUM(10) ulong_xt NTAPI DbgPrompt
(
IN PCCH Prompt,
OUT PCH Response,
IN ULONG MaximumResponseLength
IN ulong_xt MaximumResponseLength
);
XBSYSAPI EXPORTNUM(11) VOID NTAPI DbgUnLoadImageSymbols
XBSYSAPI EXPORTNUM(11) void_xt NTAPI DbgUnLoadImageSymbols
(
IN PANSI_STRING Name,
IN PVOID Base,
IN ULONG_PTR ProcessId
IN ulong_ptr_xt ProcessId
);
}
#endif

View File

@ -12,12 +12,17 @@
#ifndef XBOXKRNL_EX_H
#define XBOXKRNL_EX_H
XBSYSAPI EXPORTNUM(12) VOID NTAPI ExAcquireReadWriteLockExclusive
#include "types.h"
namespace xbox
{
XBSYSAPI EXPORTNUM(12) void_xt NTAPI ExAcquireReadWriteLockExclusive
(
IN PERWLOCK ReadWriteLock
);
XBSYSAPI EXPORTNUM(13) VOID NTAPI ExAcquireReadWriteLockShared
XBSYSAPI EXPORTNUM(13) void_xt NTAPI ExAcquireReadWriteLockShared
(
IN PERWLOCK ReadWriteLock
);
@ -31,7 +36,7 @@ XBSYSAPI EXPORTNUM(13) VOID NTAPI ExAcquireReadWriteLockShared
// ******************************************************************
XBSYSAPI EXPORTNUM(14) PVOID NTAPI ExAllocatePool
(
IN SIZE_T NumberOfBytes
IN size_xt NumberOfBytes
);
// ******************************************************************
@ -43,8 +48,8 @@ XBSYSAPI EXPORTNUM(14) PVOID NTAPI ExAllocatePool
// ******************************************************************
XBSYSAPI EXPORTNUM(15) PVOID NTAPI ExAllocatePoolWithTag
(
IN SIZE_T NumberOfBytes,
IN ULONG Tag
IN size_xt NumberOfBytes,
IN ulong_xt Tag
);
XBSYSAPI EXPORTNUM(16) OBJECT_TYPE ExEventObjectType;
@ -56,7 +61,7 @@ XBSYSAPI EXPORTNUM(16) OBJECT_TYPE ExEventObjectType;
// * Deallocates a block of pool memory
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(17) VOID NTAPI ExFreePool
XBSYSAPI EXPORTNUM(17) void_xt NTAPI ExFreePool
(
IN PVOID P
);
@ -64,7 +69,7 @@ XBSYSAPI EXPORTNUM(17) VOID NTAPI ExFreePool
// ******************************************************************
// * 0x0012 - ExInitializeReadWriteLock()
// ******************************************************************
XBSYSAPI EXPORTNUM(18) VOID NTAPI ExInitializeReadWriteLock
XBSYSAPI EXPORTNUM(18) void_xt NTAPI ExInitializeReadWriteLock
(
IN PERWLOCK ReadWriteLock
);
@ -78,14 +83,14 @@ XBSYSAPI EXPORTNUM(19) LARGE_INTEGER NTAPI ExInterlockedAddLargeInteger
);
// Source:ReactOS
XBSYSAPI EXPORTNUM(20) VOID FASTCALL ExInterlockedAddLargeStatistic
XBSYSAPI EXPORTNUM(20) void_xt FASTCALL ExInterlockedAddLargeStatistic
(
IN PLARGE_INTEGER Addend,
IN ULONG Increment
IN ulong_xt Increment
);
// Source:ReactOS
XBSYSAPI EXPORTNUM(21) LONGLONG FASTCALL ExInterlockedCompareExchange64
XBSYSAPI EXPORTNUM(21) longlong_xt FASTCALL ExInterlockedCompareExchange64
(
IN OUT PLONGLONG Destination,
IN PLONGLONG Exchange,
@ -97,7 +102,7 @@ XBSYSAPI EXPORTNUM(22) OBJECT_TYPE ExMutantObjectType;
// ******************************************************************
// * ExQueryPoolBlockSize
// ******************************************************************
XBSYSAPI EXPORTNUM(23) ULONG NTAPI ExQueryPoolBlockSize
XBSYSAPI EXPORTNUM(23) ulong_xt NTAPI ExQueryPoolBlockSize
(
IN PVOID PoolBlock
);
@ -105,36 +110,36 @@ XBSYSAPI EXPORTNUM(23) ULONG NTAPI ExQueryPoolBlockSize
// ******************************************************************
// * 0x0018 - ExQueryNonVolatileSetting()
// ******************************************************************
XBSYSAPI EXPORTNUM(24) NTSTATUS NTAPI ExQueryNonVolatileSetting
XBSYSAPI EXPORTNUM(24) ntstatus_xt NTAPI ExQueryNonVolatileSetting
(
IN DWORD ValueIndex,
OUT DWORD *Type,
IN dword_xt ValueIndex,
OUT dword_xt *Type,
OUT PVOID Value,
IN SIZE_T ValueLength,
IN size_xt ValueLength,
OUT PSIZE_T ResultLength OPTIONAL
);
// ******************************************************************
// * ExReadWriteRefurbInfo
// ******************************************************************
XBSYSAPI EXPORTNUM(25) NTSTATUS NTAPI ExReadWriteRefurbInfo
XBSYSAPI EXPORTNUM(25) ntstatus_xt NTAPI ExReadWriteRefurbInfo
(
IN OUT PXBOX_REFURB_INFO pRefurbInfo,
IN ULONG dwBufferSize,
IN BOOLEAN bIsWriteMode
IN ulong_xt dwBufferSize,
IN boolean_xt bIsWriteMode
);
XBSYSAPI EXPORTNUM(26) VOID NTAPI ExRaiseException
XBSYSAPI EXPORTNUM(26) void_xt NTAPI ExRaiseException
(
IN PEXCEPTION_RECORD ExceptionRecord
);
XBSYSAPI EXPORTNUM(27) VOID NTAPI ExRaiseStatus
XBSYSAPI EXPORTNUM(27) void_xt NTAPI ExRaiseStatus
(
IN NTSTATUS Status
IN ntstatus_xt Status
);
XBSYSAPI EXPORTNUM(28) VOID NTAPI ExReleaseReadWriteLock
XBSYSAPI EXPORTNUM(28) void_xt NTAPI ExReleaseReadWriteLock
(
IN PERWLOCK ReadWriteLock
);
@ -142,12 +147,12 @@ XBSYSAPI EXPORTNUM(28) VOID NTAPI ExReleaseReadWriteLock
// ******************************************************************
// * 0x001D - ExSaveNonVolatileSetting()
// ******************************************************************
XBSYSAPI EXPORTNUM(29) NTSTATUS NTAPI ExSaveNonVolatileSetting
XBSYSAPI EXPORTNUM(29) ntstatus_xt NTAPI ExSaveNonVolatileSetting
(
IN DWORD ValueIndex,
IN DWORD Type,
IN dword_xt ValueIndex,
IN dword_xt Type,
IN PVOID Value,
IN SIZE_T ValueLength
IN size_xt ValueLength
);
XBSYSAPI EXPORTNUM(30) OBJECT_TYPE ExSemaphoreObjectType;
@ -180,33 +185,33 @@ XBSYSAPI EXPORTNUM(34) PLIST_ENTRY FASTCALL ExfInterlockedRemoveHeadList
IN PLIST_ENTRY ListHead
);
XBSYSAPI EXPORTNUM(51) LONG FASTCALL KRNL(InterlockedCompareExchange)
XBSYSAPI EXPORTNUM(51) long_xt FASTCALL KRNL(InterlockedCompareExchange)
(
IN OUT volatile PLONG Destination,
IN LONG Exchange,
IN LONG Comparand
IN long_xt Exchange,
IN long_xt Comparand
);
XBSYSAPI EXPORTNUM(52) LONG FASTCALL KRNL(InterlockedDecrement)
XBSYSAPI EXPORTNUM(52) long_xt FASTCALL KRNL(InterlockedDecrement)
(
IN OUT PLONG Addend
);
XBSYSAPI EXPORTNUM(53) LONG FASTCALL KRNL(InterlockedIncrement)
XBSYSAPI EXPORTNUM(53) long_xt FASTCALL KRNL(InterlockedIncrement)
(
IN OUT PLONG Addend
);
XBSYSAPI EXPORTNUM(54) LONG FASTCALL KRNL(InterlockedExchange)
XBSYSAPI EXPORTNUM(54) long_xt FASTCALL KRNL(InterlockedExchange)
(
IN volatile PLONG Destination,
IN LONG Value
IN long_xt Value
);
XBSYSAPI EXPORTNUM(55) LONG FASTCALL KRNL(InterlockedExchangeAdd)
XBSYSAPI EXPORTNUM(55) long_xt FASTCALL KRNL(InterlockedExchangeAdd)
(
IN volatile PLONG Addend,
IN LONG Value
IN long_xt Value
);
// Dxbx Note : The Xbox1 SINGLE_LIST strucures are the same as in WinNT
@ -226,6 +231,8 @@ XBSYSAPI EXPORTNUM(58) SLIST_ENTRY * FASTCALL KRNL(InterlockedPushEntrySList)
IN PSLIST_ENTRY ListEntry
);
}
#endif

View File

@ -12,16 +12,21 @@
#ifndef XBOXKRNL_HAL_H
#define XBOXKRNL_HAL_H
#include "types.h"
namespace xbox
{
// ******************************************************************
// * HalReadSMCTrayState
// ******************************************************************
XBSYSAPI EXPORTNUM(9) NTSTATUS NTAPI HalReadSMCTrayState
XBSYSAPI EXPORTNUM(9) ntstatus_xt NTAPI HalReadSMCTrayState
(
DWORD* State,
DWORD* Count
dword_xt* State,
dword_xt* Count
);
XBSYSAPI EXPORTNUM(38) VOID FASTCALL HalClearSoftwareInterrupt
XBSYSAPI EXPORTNUM(38) void_xt FASTCALL HalClearSoftwareInterrupt
(
KIRQL Request
);
@ -29,73 +34,73 @@ XBSYSAPI EXPORTNUM(38) VOID FASTCALL HalClearSoftwareInterrupt
// ******************************************************************
// * 0x0027 - HalDisableSystemInterrupt()
// ******************************************************************
XBSYSAPI EXPORTNUM(39) VOID NTAPI HalDisableSystemInterrupt
XBSYSAPI EXPORTNUM(39) void_xt NTAPI HalDisableSystemInterrupt
(
IN ULONG BusInterruptLevel
IN ulong_xt BusInterruptLevel
);
XBSYSAPI EXPORTNUM(40) ULONG HalDiskCachePartitionCount;
XBSYSAPI EXPORTNUM(40) ulong_xt HalDiskCachePartitionCount;
XBSYSAPI EXPORTNUM(41) PANSI_STRING HalDiskModelNumber;
XBSYSAPI EXPORTNUM(42) PANSI_STRING HalDiskSerialNumber;
// ******************************************************************
// * 0x002B - HalEnableSystemInterrupt()
// ******************************************************************
XBSYSAPI EXPORTNUM(43) VOID NTAPI HalEnableSystemInterrupt
XBSYSAPI EXPORTNUM(43) void_xt NTAPI HalEnableSystemInterrupt
(
IN ULONG BusInterruptLevel,
IN ulong_xt BusInterruptLevel,
IN KINTERRUPT_MODE InterruptMode
);
// ******************************************************************
// * HalGetInterruptVector
// ******************************************************************
XBSYSAPI EXPORTNUM(44) ULONG NTAPI HalGetInterruptVector
XBSYSAPI EXPORTNUM(44) ulong_xt NTAPI HalGetInterruptVector
(
IN ULONG BusInterruptLevel,
IN ulong_xt BusInterruptLevel,
OUT PKIRQL Irql
);
// ******************************************************************
// * HalReadSMBusValue
// ******************************************************************
XBSYSAPI EXPORTNUM(45) NTSTATUS NTAPI HalReadSMBusValue
XBSYSAPI EXPORTNUM(45) ntstatus_xt NTAPI HalReadSMBusValue
(
IN UCHAR Address,
IN UCHAR Command,
IN BOOLEAN WriteWord,
IN uchar_xt Address,
IN uchar_xt Command,
IN boolean_xt WriteWord,
OUT PULONG DataValue
);
// ******************************************************************
// * HalReadWritePCISpace
// ******************************************************************
XBSYSAPI EXPORTNUM(46) VOID NTAPI HalReadWritePCISpace
XBSYSAPI EXPORTNUM(46) void_xt NTAPI HalReadWritePCISpace
(
IN ULONG BusNumber,
IN ULONG SlotNumber,
IN ULONG RegisterNumber,
IN ulong_xt BusNumber,
IN ulong_xt SlotNumber,
IN ulong_xt RegisterNumber,
IN PVOID Buffer,
IN ULONG Length,
IN BOOLEAN WritePCISpace
IN ulong_xt Length,
IN boolean_xt WritePCISpace
);
typedef VOID (*PHAL_SHUTDOWN_NOTIFICATION)(
typedef void_xt (*PHAL_SHUTDOWN_NOTIFICATION)(
IN struct _HAL_SHUTDOWN_REGISTRATION *ShutdownRegistration
);
typedef struct _HAL_SHUTDOWN_REGISTRATION {
PHAL_SHUTDOWN_NOTIFICATION NotificationRoutine;
LONG Priority;
long_xt Priority;
LIST_ENTRY ListEntry;
} HAL_SHUTDOWN_REGISTRATION, *PHAL_SHUTDOWN_REGISTRATION;
XBSYSAPI EXPORTNUM(47) VOID NTAPI HalRegisterShutdownNotification(
XBSYSAPI EXPORTNUM(47) void_xt NTAPI HalRegisterShutdownNotification(
IN PHAL_SHUTDOWN_REGISTRATION ShutdownRegistration,
IN BOOLEAN Register
IN boolean_xt Register
);
XBSYSAPI EXPORTNUM(46) VOID FASTCALL HalRequestSoftwareInterrupt
XBSYSAPI EXPORTNUM(46) void_xt FASTCALL HalRequestSoftwareInterrupt
(
IN KIRQL Request
);
@ -107,7 +112,7 @@ XBSYSAPI EXPORTNUM(46) VOID FASTCALL HalRequestSoftwareInterrupt
// * Reboot / Shutdown / Etc
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(49) VOID DECLSPEC_NORETURN NTAPI HalReturnToFirmware
XBSYSAPI EXPORTNUM(49) void_xt DECLSPEC_NORETURN NTAPI HalReturnToFirmware
(
RETURN_FIRMWARE Routine
);
@ -115,96 +120,98 @@ XBSYSAPI EXPORTNUM(49) VOID DECLSPEC_NORETURN NTAPI HalReturnToFirmware
// ******************************************************************
// * HalWriteSMBusValue
// ******************************************************************
XBSYSAPI EXPORTNUM(50) NTSTATUS NTAPI HalWriteSMBusValue
XBSYSAPI EXPORTNUM(50) ntstatus_xt NTAPI HalWriteSMBusValue
(
UCHAR Address,
UCHAR Command,
BOOLEAN WriteWord,
ULONG DataValue
uchar_xt Address,
uchar_xt Command,
boolean_xt WriteWord,
ulong_xt DataValue
);
// ******************************************************************
// * READ_PORT_BUFFER_UCHAR
// ******************************************************************
XBSYSAPI EXPORTNUM(329) VOID NTAPI READ_PORT_BUFFER_UCHAR
XBSYSAPI EXPORTNUM(329) void_xt NTAPI READ_PORT_BUFFER_UCHAR
(
IN PUCHAR Port,
IN PUCHAR Buffer,
IN ULONG Count
IN ulong_xt Count
);
// ******************************************************************
// * READ_PORT_BUFFER_USHORT
// ******************************************************************
XBSYSAPI EXPORTNUM(330) VOID NTAPI READ_PORT_BUFFER_USHORT
XBSYSAPI EXPORTNUM(330) void_xt NTAPI READ_PORT_BUFFER_USHORT
(
IN PUSHORT Port,
IN PUSHORT Buffer,
IN ULONG Count
IN ulong_xt Count
);
// ******************************************************************
// * READ_PORT_BUFFER_ULONG
// ******************************************************************
XBSYSAPI EXPORTNUM(331) VOID NTAPI READ_PORT_BUFFER_ULONG
XBSYSAPI EXPORTNUM(331) void_xt NTAPI READ_PORT_BUFFER_ULONG
(
IN PULONG Port,
IN PULONG Buffer,
IN ULONG Count
IN ulong_xt Count
);
// ******************************************************************
// * WRITE_PORT_BUFFER_UCHAR
// ******************************************************************
XBSYSAPI EXPORTNUM(332) VOID NTAPI WRITE_PORT_BUFFER_UCHAR
XBSYSAPI EXPORTNUM(332) void_xt NTAPI WRITE_PORT_BUFFER_UCHAR
(
IN PUCHAR Port,
IN PUCHAR Buffer,
IN ULONG Count
IN ulong_xt Count
);
// ******************************************************************
// * WRITE_PORT_BUFFER_USHORT
// ******************************************************************
XBSYSAPI EXPORTNUM(333) VOID NTAPI WRITE_PORT_BUFFER_USHORT
XBSYSAPI EXPORTNUM(333) void_xt NTAPI WRITE_PORT_BUFFER_USHORT
(
IN PUSHORT Port,
IN PUSHORT Buffer,
IN ULONG Count
IN ulong_xt Count
);
// ******************************************************************
// * WRITE_PORT_BUFFER_ULONG
// ******************************************************************
XBSYSAPI EXPORTNUM(334) VOID NTAPI WRITE_PORT_BUFFER_ULONG
XBSYSAPI EXPORTNUM(334) void_xt NTAPI WRITE_PORT_BUFFER_ULONG
(
IN PULONG Port,
IN PULONG Buffer,
IN ULONG Count
IN ulong_xt Count
);
// ******************************************************************
// * HalBootSMCVideoMode
// ******************************************************************
XBSYSAPI EXPORTNUM(356) DWORD HalBootSMCVideoMode;
XBSYSAPI EXPORTNUM(356) dword_xt HalBootSMCVideoMode;
XBSYSAPI EXPORTNUM(358) BOOLEAN NTAPI HalIsResetOrShutdownPending
XBSYSAPI EXPORTNUM(358) boolean_xt NTAPI HalIsResetOrShutdownPending
(
);
XBSYSAPI EXPORTNUM(360) NTSTATUS NTAPI HalInitiateShutdown
XBSYSAPI EXPORTNUM(360) ntstatus_xt NTAPI HalInitiateShutdown
(
);
XBSYSAPI EXPORTNUM(365) VOID NTAPI HalEnableSecureTrayEject
XBSYSAPI EXPORTNUM(365) void_xt NTAPI HalEnableSecureTrayEject
(
);
XBSYSAPI EXPORTNUM(366) NTSTATUS NTAPI HalWriteSMCScratchRegister
XBSYSAPI EXPORTNUM(366) ntstatus_xt NTAPI HalWriteSMCScratchRegister
(
IN DWORD ScratchRegister
IN dword_xt ScratchRegister
);
}
#endif

View File

@ -12,12 +12,17 @@
#ifndef XBOXKRNL_IO_H
#define XBOXKRNL_IO_H
#include "types.h"
namespace xbox
{
// ******************************************************************
// * 0x003B - IoAllocateIrp()
// ******************************************************************
XBSYSAPI EXPORTNUM(59) PVOID NTAPI IoAllocateIrp
(
IN CCHAR StackSize
IN cchar_xt StackSize
);
// ******************************************************************
@ -25,10 +30,10 @@ XBSYSAPI EXPORTNUM(59) PVOID NTAPI IoAllocateIrp
// ******************************************************************
XBSYSAPI EXPORTNUM(60) PVOID NTAPI IoBuildAsynchronousFsdRequest
(
IN ULONG MajorFunction,
IN ulong_xt MajorFunction,
IN PDEVICE_OBJECT DeviceObject,
OUT PVOID Buffer OPTIONAL,
IN ULONG Length,
IN ulong_xt Length,
OUT PLARGE_INTEGER StartingOffset OPTIONAL,
OUT PIO_STATUS_BLOCK IoStatusBlock OPTIONAL
);
@ -38,13 +43,13 @@ XBSYSAPI EXPORTNUM(60) PVOID NTAPI IoBuildAsynchronousFsdRequest
// ******************************************************************
XBSYSAPI EXPORTNUM(61) PVOID NTAPI IoBuildDeviceIoControlRequest
(
IN ULONG IoControlCode,
IN ulong_xt IoControlCode,
IN PDEVICE_OBJECT DeviceObject,
IN PVOID InputBuffer OPTIONAL,
IN ULONG InputBufferLength,
IN ulong_xt InputBufferLength,
OUT PVOID OutputBuffer OPTIONAL,
IN ULONG OutputBufferLength OPTIONAL,
IN BOOLEAN InternalDeviceIoControl,
IN ulong_xt OutputBufferLength OPTIONAL,
IN boolean_xt InternalDeviceIoControl,
IN PKEVENT Event,
OUT PIO_STATUS_BLOCK IoStatusBlock OPTIONAL
);
@ -54,10 +59,10 @@ XBSYSAPI EXPORTNUM(61) PVOID NTAPI IoBuildDeviceIoControlRequest
// ******************************************************************
XBSYSAPI EXPORTNUM(62) PVOID NTAPI IoBuildSynchronousFsdRequest
(
IN ULONG MajorFunction,
IN ulong_xt MajorFunction,
IN PDEVICE_OBJECT DeviceObject,
OUT PVOID Buffer OPTIONAL,
IN ULONG Length,
IN ulong_xt Length,
OUT PLARGE_INTEGER StartingOffset OPTIONAL,
IN PKEVENT Event,
OUT PIO_STATUS_BLOCK IoStatusBlock
@ -66,13 +71,13 @@ XBSYSAPI EXPORTNUM(62) PVOID NTAPI IoBuildSynchronousFsdRequest
// ******************************************************************
// * 0x003F - IoCheckShareAccess()
// ******************************************************************
XBSYSAPI EXPORTNUM(63) NTSTATUS NTAPI IoCheckShareAccess
XBSYSAPI EXPORTNUM(63) ntstatus_xt NTAPI IoCheckShareAccess
(
IN ACCESS_MASK DesiredAccess,
IN ULONG DesiredShareAccess,
IN access_mask_xt DesiredAccess,
IN ulong_xt DesiredShareAccess,
OUT PFILE_OBJECT FileObject,
OUT PSHARE_ACCESS ShareAccess,
IN BOOLEAN Update
IN boolean_xt Update
);
// ******************************************************************
@ -83,37 +88,37 @@ XBSYSAPI EXPORTNUM(64) OBJECT_TYPE IoCompletionObjectType;
// ******************************************************************
// * 0x0041 - IoCreateDevice()
// ******************************************************************
XBSYSAPI EXPORTNUM(65) NTSTATUS NTAPI IoCreateDevice
XBSYSAPI EXPORTNUM(65) ntstatus_xt NTAPI IoCreateDevice
(
IN PDRIVER_OBJECT DriverObject,
IN ULONG DeviceExtensionSize,
IN ulong_xt DeviceExtensionSize,
IN PSTRING DeviceName OPTIONAL,
IN ULONG DeviceType,
IN BOOLEAN Exclusive,
IN ulong_xt DeviceType,
IN boolean_xt Exclusive,
OUT PDEVICE_OBJECT* DeviceObject
);
// ******************************************************************
// * 0x0042 - IoCreateFile()
// ******************************************************************
XBSYSAPI EXPORTNUM(66) NTSTATUS NTAPI IoCreateFile
XBSYSAPI EXPORTNUM(66) ntstatus_xt NTAPI IoCreateFile
(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
IN access_mask_xt DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER AllocationSize,
IN ULONG FileAttributes,
IN ULONG ShareAccess,
IN ULONG Disposition,
IN ULONG CreateOptions,
IN ULONG Options
IN ulong_xt FileAttributes,
IN ulong_xt ShareAccess,
IN ulong_xt Disposition,
IN ulong_xt CreateOptions,
IN ulong_xt Options
);
// ******************************************************************
// * 0x0043 - IoCreateSymbolicLink()
// ******************************************************************
XBSYSAPI EXPORTNUM(67) NTSTATUS NTAPI IoCreateSymbolicLink
XBSYSAPI EXPORTNUM(67) ntstatus_xt NTAPI IoCreateSymbolicLink
(
IN PSTRING SymbolicLinkName,
IN PSTRING DeviceName
@ -122,7 +127,7 @@ XBSYSAPI EXPORTNUM(67) NTSTATUS NTAPI IoCreateSymbolicLink
// ******************************************************************
// * 0x0044 - IoDeleteDevice()
// ******************************************************************
XBSYSAPI EXPORTNUM(68) VOID NTAPI IoDeleteDevice
XBSYSAPI EXPORTNUM(68) void_xt NTAPI IoDeleteDevice
(
IN PDEVICE_OBJECT irql
);
@ -130,7 +135,7 @@ XBSYSAPI EXPORTNUM(68) VOID NTAPI IoDeleteDevice
// ******************************************************************
// * 0x0045 - IoDeleteSymbolicLink()
// ******************************************************************
XBSYSAPI EXPORTNUM(69) NTSTATUS NTAPI IoDeleteSymbolicLink
XBSYSAPI EXPORTNUM(69) ntstatus_xt NTAPI IoDeleteSymbolicLink
(
IN PSTRING SymbolicLinkName
);
@ -148,7 +153,7 @@ XBSYSAPI EXPORTNUM(71) OBJECT_TYPE IoFileObjectType;
// ******************************************************************
// * 0x0048 - IoFreeIrp()
// ******************************************************************
XBSYSAPI EXPORTNUM(72) VOID NTAPI IoFreeIrp
XBSYSAPI EXPORTNUM(72) void_xt NTAPI IoFreeIrp
(
IN PIRP Irp
);
@ -159,14 +164,14 @@ XBSYSAPI EXPORTNUM(72) VOID NTAPI IoFreeIrp
XBSYSAPI EXPORTNUM(73) PVOID NTAPI IoInitializeIrp
(
IN PIRP Irp,
IN USHORT PacketSize,
IN CCHAR StackSize
IN ushort_xt PacketSize,
IN cchar_xt StackSize
);
// ******************************************************************
// * 0x004A - IoInvalidDeviceRequest()
// ******************************************************************
XBSYSAPI EXPORTNUM(74) NTSTATUS NTAPI IoInvalidDeviceRequest
XBSYSAPI EXPORTNUM(74) ntstatus_xt NTAPI IoInvalidDeviceRequest
(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
@ -175,11 +180,11 @@ XBSYSAPI EXPORTNUM(74) NTSTATUS NTAPI IoInvalidDeviceRequest
// ******************************************************************
// * 0x004B - IoQueryFileInformation()
// ******************************************************************
XBSYSAPI EXPORTNUM(75) NTSTATUS NTAPI IoQueryFileInformation
XBSYSAPI EXPORTNUM(75) ntstatus_xt NTAPI IoQueryFileInformation
(
IN PFILE_OBJECT FileObject,
IN FILE_INFORMATION_CLASS FileInformationClass,
IN ULONG Length,
IN ulong_xt Length,
OUT PVOID FileInformation,
OUT PULONG ReturnedLength
);
@ -187,11 +192,11 @@ XBSYSAPI EXPORTNUM(75) NTSTATUS NTAPI IoQueryFileInformation
// ******************************************************************
// * 0x004C - IoQueryVolumeInformation()
// ******************************************************************
XBSYSAPI EXPORTNUM(76) NTSTATUS NTAPI IoQueryVolumeInformation
XBSYSAPI EXPORTNUM(76) ntstatus_xt NTAPI IoQueryVolumeInformation
(
IN PFILE_OBJECT FileObject,
IN FS_INFORMATION_CLASS FsInformationClass,
IN ULONG Length,
IN ulong_xt Length,
OUT PVOID FsInformation,
OUT PULONG ReturnedLength
);
@ -199,7 +204,7 @@ XBSYSAPI EXPORTNUM(76) NTSTATUS NTAPI IoQueryVolumeInformation
// ******************************************************************
// * 0x004D - IoQueueThreadIrp()
// ******************************************************************
XBSYSAPI EXPORTNUM(77) VOID NTAPI IoQueueThreadIrp
XBSYSAPI EXPORTNUM(77) void_xt NTAPI IoQueueThreadIrp
(
IN PIRP Irp
);
@ -207,7 +212,7 @@ XBSYSAPI EXPORTNUM(77) VOID NTAPI IoQueueThreadIrp
// ******************************************************************
// * 0x004E - IoRemoveShareAccess()
// ******************************************************************
XBSYSAPI EXPORTNUM(78) VOID NTAPI IoRemoveShareAccess
XBSYSAPI EXPORTNUM(78) void_xt NTAPI IoRemoveShareAccess
(
IN PFILE_OBJECT FileObject,
IN PSHARE_ACCESS ShareAccess
@ -216,22 +221,22 @@ XBSYSAPI EXPORTNUM(78) VOID NTAPI IoRemoveShareAccess
// ******************************************************************
// * 0x004F - IoSetIoCompletion()
// ******************************************************************
XBSYSAPI EXPORTNUM(79) NTSTATUS NTAPI IoSetIoCompletion
XBSYSAPI EXPORTNUM(79) ntstatus_xt NTAPI IoSetIoCompletion
(
IN PKQUEUE IoCompletion,
IN PVOID KeyContext,
IN PVOID ApcContext,
IN NTSTATUS IoStatus,
IN ULONG IoStatusInformation
IN ntstatus_xt IoStatus,
IN ulong_xt IoStatusInformation
);
// ******************************************************************
// * 0x0050 - IoSetShareAccess()
// ******************************************************************
XBSYSAPI EXPORTNUM(80) CCHAR NTAPI IoSetShareAccess
XBSYSAPI EXPORTNUM(80) cchar_xt NTAPI IoSetShareAccess
(
IN ULONG DesiredAccess,
IN ULONG DesiredShareAccess,
IN ulong_xt DesiredAccess,
IN ulong_xt DesiredShareAccess,
IN PFILE_OBJECT FileObject,
OUT PSHARE_ACCESS ShareAccess
);
@ -239,7 +244,7 @@ XBSYSAPI EXPORTNUM(80) CCHAR NTAPI IoSetShareAccess
// ******************************************************************
// * 0x0051 - IoStartNextPacket()
// ******************************************************************
XBSYSAPI EXPORTNUM(81) VOID NTAPI IoStartNextPacket
XBSYSAPI EXPORTNUM(81) void_xt NTAPI IoStartNextPacket
(
IN PDEVICE_OBJECT DeviceObject
);
@ -247,16 +252,16 @@ XBSYSAPI EXPORTNUM(81) VOID NTAPI IoStartNextPacket
// ******************************************************************
// * 0x0052 - IoStartNextPacketByKey()
// ******************************************************************
XBSYSAPI EXPORTNUM(82) VOID NTAPI IoStartNextPacketByKey
XBSYSAPI EXPORTNUM(82) void_xt NTAPI IoStartNextPacketByKey
(
IN PDEVICE_OBJECT DeviceObject,
IN ULONG Key
IN ulong_xt Key
);
// ******************************************************************
// * 0x0053 - IoStartPacket()
// ******************************************************************
XBSYSAPI EXPORTNUM(83) VOID NTAPI IoStartPacket
XBSYSAPI EXPORTNUM(83) void_xt NTAPI IoStartPacket
(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
@ -266,34 +271,34 @@ XBSYSAPI EXPORTNUM(83) VOID NTAPI IoStartPacket
// ******************************************************************
// * 0x0054 - IoSynchronousDeviceIoControlRequest()
// ******************************************************************
XBSYSAPI EXPORTNUM(84) NTSTATUS NTAPI IoSynchronousDeviceIoControlRequest
XBSYSAPI EXPORTNUM(84) ntstatus_xt NTAPI IoSynchronousDeviceIoControlRequest
(
IN ULONG IoControlCode,
IN ulong_xt IoControlCode,
IN PDEVICE_OBJECT DeviceObject,
IN PVOID InputBuffer OPTIONAL,
IN ULONG InputBufferLength,
IN ulong_xt InputBufferLength,
OUT PVOID OutputBuffer OPTIONAL,
IN ULONG OutputBufferLength,
IN ulong_xt OutputBufferLength,
OUT PULONG ReturnedOutputBufferLength OPTIONAL,
IN BOOLEAN InternalDeviceIoControl
IN boolean_xt InternalDeviceIoControl
);
// ******************************************************************
// * 0x0055 - IoSynchronousFsdRequest()
// ******************************************************************
XBSYSAPI EXPORTNUM(85) NTSTATUS NTAPI IoSynchronousFsdRequest
XBSYSAPI EXPORTNUM(85) ntstatus_xt NTAPI IoSynchronousFsdRequest
(
IN ULONG MajorFunction,
IN ulong_xt MajorFunction,
IN PDEVICE_OBJECT DeviceObject,
OUT PVOID Buffer OPTIONAL,
IN ULONG Length,
IN ulong_xt Length,
IN PLARGE_INTEGER StartingOffset OPTIONAL
);
// ******************************************************************
// * 0x0056 - IofCallDriver()
// ******************************************************************
XBSYSAPI EXPORTNUM(86) NTSTATUS FASTCALL IofCallDriver
XBSYSAPI EXPORTNUM(86) ntstatus_xt FASTCALL IofCallDriver
(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
@ -302,16 +307,16 @@ XBSYSAPI EXPORTNUM(86) NTSTATUS FASTCALL IofCallDriver
// ******************************************************************
// * 0x0057 - IofCompleteRequest()
// ******************************************************************
XBSYSAPI EXPORTNUM(87) VOID FASTCALL IofCompleteRequest
XBSYSAPI EXPORTNUM(87) void_xt FASTCALL IofCompleteRequest
(
IN PIRP Irp,
IN CCHAR PriorityBoost
IN cchar_xt PriorityBoost
);
// ******************************************************************
// * 0x005A - IoDismountVolume()
// ******************************************************************
XBSYSAPI EXPORTNUM(90) NTSTATUS NTAPI IoDismountVolume
XBSYSAPI EXPORTNUM(90) ntstatus_xt NTAPI IoDismountVolume
(
IN PDEVICE_OBJECT DeviceObject
);
@ -319,7 +324,7 @@ XBSYSAPI EXPORTNUM(90) NTSTATUS NTAPI IoDismountVolume
// ******************************************************************
// * 0x005B - IoDismountVolumeByName()
// ******************************************************************
XBSYSAPI EXPORTNUM(91) NTSTATUS NTAPI IoDismountVolumeByName
XBSYSAPI EXPORTNUM(91) ntstatus_xt NTAPI IoDismountVolumeByName
(
IN PSTRING VolumeName
);
@ -327,11 +332,13 @@ XBSYSAPI EXPORTNUM(91) NTSTATUS NTAPI IoDismountVolumeByName
// ******************************************************************
// * 0x0167 - IoMarkIrpMustComplete()
// ******************************************************************
XBSYSAPI EXPORTNUM(359) CCHAR NTAPI IoMarkIrpMustComplete
XBSYSAPI EXPORTNUM(359) cchar_xt NTAPI IoMarkIrpMustComplete
(
IN PIRP Irp
);
}
#endif

View File

@ -12,10 +12,15 @@
#ifndef KERNEL_H
#define KERNEL_H
#include "types.h"
namespace xbox
{
// ******************************************************************
// * 0x005C - KeAlertResumeThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(92) NTSTATUS NTAPI KeAlertResumeThread
XBSYSAPI EXPORTNUM(92) ntstatus_xt NTAPI KeAlertResumeThread
(
IN HANDLE ThreadHandle,
IN OUT PULONG PreviousSuspendCount
@ -24,7 +29,7 @@ XBSYSAPI EXPORTNUM(92) NTSTATUS NTAPI KeAlertResumeThread
// ******************************************************************
// * 0x005D - KeAlertThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(93) NTSTATUS NTAPI KeAlertThread
XBSYSAPI EXPORTNUM(93) ntstatus_xt NTAPI KeAlertThread
(
IN HANDLE ThreadHandle
);
@ -32,7 +37,7 @@ XBSYSAPI EXPORTNUM(93) NTSTATUS NTAPI KeAlertThread
// ******************************************************************
// * 0x005E - KeBoostPriorityThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(94) NTSTATUS NTAPI KeBoostPriorityThread
XBSYSAPI EXPORTNUM(94) ntstatus_xt NTAPI KeBoostPriorityThread
(
IN PKTHREAD Thread,
IN KPRIORITY Increment
@ -41,17 +46,17 @@ XBSYSAPI EXPORTNUM(94) NTSTATUS NTAPI KeBoostPriorityThread
// ******************************************************************
// * 0x005F - KeBugCheck()
// ******************************************************************
XBSYSAPI EXPORTNUM(95) VOID NTAPI KeBugCheck
XBSYSAPI EXPORTNUM(95) void_xt NTAPI KeBugCheck
(
IN ULONG BugCheckMode
IN ulong_xt BugCheckMode
);
// ******************************************************************
// * 0x0060 - KeBugCheckEx()
// ******************************************************************
XBSYSAPI EXPORTNUM(96) NTSTATUS NTAPI KeBugCheckEx
XBSYSAPI EXPORTNUM(96) ntstatus_xt NTAPI KeBugCheckEx
(
IN DWORD BugCheckCode,
IN dword_xt BugCheckCode,
IN PVOID BugCheckParameter1,
IN PVOID BugCheckParameter2,
IN PVOID BugCheckParameter3,
@ -61,7 +66,7 @@ XBSYSAPI EXPORTNUM(96) NTSTATUS NTAPI KeBugCheckEx
// ******************************************************************
// * 0x0061 - KeCancelTimer()
// ******************************************************************
XBSYSAPI EXPORTNUM(97) BOOLEAN NTAPI KeCancelTimer
XBSYSAPI EXPORTNUM(97) boolean_xt NTAPI KeCancelTimer
(
IN PKTIMER
);
@ -69,7 +74,7 @@ XBSYSAPI EXPORTNUM(97) BOOLEAN NTAPI KeCancelTimer
// ******************************************************************
// * 0x0062 - KeConnectInterrupt()
// ******************************************************************
XBSYSAPI EXPORTNUM(98) BOOLEAN NTAPI KeConnectInterrupt
XBSYSAPI EXPORTNUM(98) boolean_xt NTAPI KeConnectInterrupt
(
IN PKINTERRUPT InterruptObject
);
@ -77,17 +82,17 @@ XBSYSAPI EXPORTNUM(98) BOOLEAN NTAPI KeConnectInterrupt
// ******************************************************************
// * 0x0063 - KeDelayExecutionThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(99) NTSTATUS NTAPI KeDelayExecutionThread
XBSYSAPI EXPORTNUM(99) ntstatus_xt NTAPI KeDelayExecutionThread
(
IN KPROCESSOR_MODE WaitMode,
IN BOOLEAN Alertable,
IN boolean_xt Alertable,
IN PLARGE_INTEGER Interval
);
// ******************************************************************
// * 0x0064 - KeDisconnectInterrupt()
// ******************************************************************
XBSYSAPI EXPORTNUM(100) VOID NTAPI KeDisconnectInterrupt
XBSYSAPI EXPORTNUM(100) void_xt NTAPI KeDisconnectInterrupt
(
IN PKINTERRUPT InterruptObject
);
@ -95,9 +100,9 @@ XBSYSAPI EXPORTNUM(100) VOID NTAPI KeDisconnectInterrupt
// ******************************************************************
// * 0x0065 - KeEnterCriticalRegion()
// ******************************************************************
XBSYSAPI EXPORTNUM(101) VOID NTAPI KeEnterCriticalRegion
XBSYSAPI EXPORTNUM(101) void_xt NTAPI KeEnterCriticalRegion
(
VOID
void_xt
);
// ******************************************************************
@ -113,7 +118,7 @@ XBSYSAPI EXPORTNUM(104) PKTHREAD NTAPI KeGetCurrentThread(void);
// ******************************************************************
// * 0x0069 - KeInitializeApc()
// ******************************************************************
XBSYSAPI EXPORTNUM(105) VOID NTAPI KeInitializeApc
XBSYSAPI EXPORTNUM(105) void_xt NTAPI KeInitializeApc
(
IN PKAPC Apc,
IN PKTHREAD Thread,
@ -127,7 +132,7 @@ XBSYSAPI EXPORTNUM(105) VOID NTAPI KeInitializeApc
// ******************************************************************
// * 0x006A - KeInitializeDeviceQueue()
// ******************************************************************
XBSYSAPI EXPORTNUM(106) VOID NTAPI KeInitializeDeviceQueue
XBSYSAPI EXPORTNUM(106) void_xt NTAPI KeInitializeDeviceQueue
(
OUT PKDEVICE_QUEUE DeviceQueue
);
@ -135,7 +140,7 @@ XBSYSAPI EXPORTNUM(106) VOID NTAPI KeInitializeDeviceQueue
// ******************************************************************
// * 0x006B - KeInitializeDpc()
// ******************************************************************
XBSYSAPI EXPORTNUM(107) VOID NTAPI KeInitializeDpc
XBSYSAPI EXPORTNUM(107) void_xt NTAPI KeInitializeDpc
(
KDPC *Dpc,
PKDEFERRED_ROUTINE DeferredRoutine,
@ -145,90 +150,90 @@ XBSYSAPI EXPORTNUM(107) VOID NTAPI KeInitializeDpc
// ******************************************************************
// * 0x006C - KeInitializeEvent()
// ******************************************************************
XBSYSAPI EXPORTNUM(108) VOID NTAPI KeInitializeEvent
XBSYSAPI EXPORTNUM(108) void_xt NTAPI KeInitializeEvent
(
IN PRKEVENT Event,
IN EVENT_TYPE Type,
IN BOOLEAN SignalState
IN boolean_xt SignalState
);
// ******************************************************************
// * 0x006D - KeInitializeInterrupt()
// ******************************************************************
XBSYSAPI EXPORTNUM(109) VOID NTAPI KeInitializeInterrupt
XBSYSAPI EXPORTNUM(109) void_xt NTAPI KeInitializeInterrupt
(
OUT PKINTERRUPT Interrupt,
IN PKSERVICE_ROUTINE ServiceRoutine,
IN PVOID ServiceContext,
IN ULONG Vector,
IN ulong_xt Vector,
IN KIRQL Irql,
IN KINTERRUPT_MODE InterruptMode,
IN BOOLEAN ShareVector
IN boolean_xt ShareVector
);
// ******************************************************************
// * 0x006E - KeInitializeMutant()
// ******************************************************************
XBSYSAPI EXPORTNUM(110) VOID NTAPI KeInitializeMutant
XBSYSAPI EXPORTNUM(110) void_xt NTAPI KeInitializeMutant
(
IN PRKMUTANT Mutant,
IN BOOLEAN InitialOwner
IN boolean_xt InitialOwner
);
// ******************************************************************
// * 0x006F - KeInitializeQueue()
// ******************************************************************
XBSYSAPI EXPORTNUM(111) VOID NTAPI KeInitializeQueue
XBSYSAPI EXPORTNUM(111) void_xt NTAPI KeInitializeQueue
(
IN PKQUEUE Queue,
IN ULONG Count OPTIONAL
IN ulong_xt Count OPTIONAL
);
// ******************************************************************
// * 0x0070 - KeInitializeSemaphore()
// ******************************************************************
XBSYSAPI EXPORTNUM(112) VOID NTAPI KeInitializeSemaphore
XBSYSAPI EXPORTNUM(112) void_xt NTAPI KeInitializeSemaphore
(
IN PRKSEMAPHORE Semaphore,
IN LONG Count,
IN LONG Limit
IN long_xt Count,
IN long_xt Limit
);
// ******************************************************************
// * 0x0071 - KeInitializeTimerEx()
// ******************************************************************
XBSYSAPI EXPORTNUM(113) VOID NTAPI KeInitializeTimerEx
XBSYSAPI EXPORTNUM(113) void_xt NTAPI KeInitializeTimerEx
(
IN PKTIMER Timer,
IN TIMER_TYPE Type
);
XBSYSAPI EXPORTNUM(114) BOOLEAN NTAPI KeInsertByKeyDeviceQueue
XBSYSAPI EXPORTNUM(114) boolean_xt NTAPI KeInsertByKeyDeviceQueue
(
IN PKDEVICE_QUEUE DeviceQueue,
IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry,
IN ULONG SortKey
IN ulong_xt SortKey
);
XBSYSAPI EXPORTNUM(115) BOOLEAN NTAPI KeInsertDeviceQueue
XBSYSAPI EXPORTNUM(115) boolean_xt NTAPI KeInsertDeviceQueue
(
IN PKDEVICE_QUEUE DeviceQueue,
IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
);
XBSYSAPI EXPORTNUM(116) LONG NTAPI KeInsertHeadQueue
XBSYSAPI EXPORTNUM(116) long_xt NTAPI KeInsertHeadQueue
(
IN PRKQUEUE Queue,
IN PLIST_ENTRY Entry
);
XBSYSAPI EXPORTNUM(117) LONG NTAPI KeInsertQueue
XBSYSAPI EXPORTNUM(117) long_xt NTAPI KeInsertQueue
(
IN PRKQUEUE Queue,
IN PLIST_ENTRY Entry
);
XBSYSAPI EXPORTNUM(118) BOOLEAN NTAPI KeInsertQueueApc
XBSYSAPI EXPORTNUM(118) boolean_xt NTAPI KeInsertQueueApc
(
IN PRKAPC Apc,
IN PVOID SystemArgument1,
@ -239,7 +244,7 @@ XBSYSAPI EXPORTNUM(118) BOOLEAN NTAPI KeInsertQueueApc
// ******************************************************************
// * 0x0077 - KeInsertQueueDpc()
// ******************************************************************
XBSYSAPI EXPORTNUM(119) BOOLEAN NTAPI KeInsertQueueDpc
XBSYSAPI EXPORTNUM(119) boolean_xt NTAPI KeInsertQueueDpc
(
IN PKDPC Dpc,
IN PVOID SystemArgument1,
@ -254,24 +259,24 @@ XBSYSAPI EXPORTNUM(120) KSYSTEM_TIME KeInterruptTime;
// ******************************************************************
// * 0x0079 - KeIsExecutingDpc()
// ******************************************************************
XBSYSAPI EXPORTNUM(121) BOOLEAN NTAPI KeIsExecutingDpc();
XBSYSAPI EXPORTNUM(121) boolean_xt NTAPI KeIsExecutingDpc();
// ******************************************************************
// * 0x007A - KeLeaveCriticalRegion()
// ******************************************************************
XBSYSAPI EXPORTNUM(122) VOID NTAPI KeLeaveCriticalRegion
XBSYSAPI EXPORTNUM(122) void_xt NTAPI KeLeaveCriticalRegion
(
VOID
void_xt
);
XBSYSAPI EXPORTNUM(123) LONG NTAPI KePulseEvent
XBSYSAPI EXPORTNUM(123) long_xt NTAPI KePulseEvent
(
IN PRKEVENT Event,
IN KPRIORITY Increment,
IN BOOLEAN Wait
IN boolean_xt Wait
);
XBSYSAPI EXPORTNUM(124) LONG NTAPI KeQueryBasePriorityThread
XBSYSAPI EXPORTNUM(124) long_xt NTAPI KeQueryBasePriorityThread
(
IN PKTHREAD Thread
);
@ -279,22 +284,22 @@ XBSYSAPI EXPORTNUM(124) LONG NTAPI KeQueryBasePriorityThread
// ******************************************************************
// * 0x007D - KeQueryInterruptTime()
// ******************************************************************
XBSYSAPI EXPORTNUM(125) ULONGLONG NTAPI KeQueryInterruptTime(void);
XBSYSAPI EXPORTNUM(125) ulonglong_xt NTAPI KeQueryInterruptTime(void);
// ******************************************************************
// * 0x007E - KeQueryPerformanceCounter()
// ******************************************************************
XBSYSAPI EXPORTNUM(126) ULONGLONG NTAPI KeQueryPerformanceCounter(void);
XBSYSAPI EXPORTNUM(126) ulonglong_xt NTAPI KeQueryPerformanceCounter(void);
// ******************************************************************
// * 0x007F - KeQueryPerformanceFrequency()
// ******************************************************************
XBSYSAPI EXPORTNUM(127) ULONGLONG NTAPI KeQueryPerformanceFrequency(void);
XBSYSAPI EXPORTNUM(127) ulonglong_xt NTAPI KeQueryPerformanceFrequency(void);
// ******************************************************************
// * 0x0080 - KeQuerySystemTime()
// ******************************************************************
XBSYSAPI EXPORTNUM(128) VOID NTAPI KeQuerySystemTime
XBSYSAPI EXPORTNUM(128) void_xt NTAPI KeQuerySystemTime
(
PLARGE_INTEGER CurrentTime
);
@ -302,33 +307,33 @@ XBSYSAPI EXPORTNUM(128) VOID NTAPI KeQuerySystemTime
// ******************************************************************
// * 0x0081 - KeRaiseIrqlToDpcLevel()
// ******************************************************************
XBSYSAPI EXPORTNUM(129) UCHAR NTAPI KeRaiseIrqlToDpcLevel();
XBSYSAPI EXPORTNUM(129) uchar_xt NTAPI KeRaiseIrqlToDpcLevel();
// ******************************************************************
// * 0x0082 - KeRaiseIrqlToSynchLevel()
// ******************************************************************
XBSYSAPI EXPORTNUM(130) UCHAR NTAPI KeRaiseIrqlToSynchLevel();
XBSYSAPI EXPORTNUM(130) uchar_xt NTAPI KeRaiseIrqlToSynchLevel();
XBSYSAPI EXPORTNUM(131) LONG NTAPI KeReleaseMutant
XBSYSAPI EXPORTNUM(131) long_xt NTAPI KeReleaseMutant
(
IN PRKMUTANT Mutant,
IN KPRIORITY Increment,
IN BOOLEAN Abandoned,
IN BOOLEAN Wait
IN boolean_xt Abandoned,
IN boolean_xt Wait
);
XBSYSAPI EXPORTNUM(132) LONG NTAPI KeReleaseSemaphore
XBSYSAPI EXPORTNUM(132) long_xt NTAPI KeReleaseSemaphore
(
IN PRKSEMAPHORE Semaphore,
IN KPRIORITY Increment,
IN LONG Adjustment,
IN BOOLEAN Wait
IN long_xt Adjustment,
IN boolean_xt Wait
);
XBSYSAPI EXPORTNUM(133) PKDEVICE_QUEUE_ENTRY NTAPI KeRemoveByKeyDeviceQueue
(
IN PKDEVICE_QUEUE DeviceQueue,
IN ULONG SortKey
IN ulong_xt SortKey
);
XBSYSAPI EXPORTNUM(134) PKDEVICE_QUEUE_ENTRY NTAPI KeRemoveDeviceQueue
@ -336,7 +341,7 @@ XBSYSAPI EXPORTNUM(134) PKDEVICE_QUEUE_ENTRY NTAPI KeRemoveDeviceQueue
IN PKDEVICE_QUEUE DeviceQueue
);
XBSYSAPI EXPORTNUM(135) BOOLEAN NTAPI KeRemoveEntryDeviceQueue
XBSYSAPI EXPORTNUM(135) boolean_xt NTAPI KeRemoveEntryDeviceQueue
(
IN PKDEVICE_QUEUE DeviceQueue,
IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
@ -352,7 +357,7 @@ XBSYSAPI EXPORTNUM(136) PLIST_ENTRY NTAPI KeRemoveQueue
// ******************************************************************
// * 0x0089 - KeRemoveQueueDpc()
// ******************************************************************
XBSYSAPI EXPORTNUM(137) BOOLEAN NTAPI KeRemoveQueueDpc
XBSYSAPI EXPORTNUM(137) boolean_xt NTAPI KeRemoveQueueDpc
(
IN PKDPC Dpc
);
@ -360,7 +365,7 @@ XBSYSAPI EXPORTNUM(137) BOOLEAN NTAPI KeRemoveQueueDpc
// ******************************************************************
// * 0x008A - KeResetEvent()
// ******************************************************************
XBSYSAPI EXPORTNUM(138) LONG NTAPI KeResetEvent
XBSYSAPI EXPORTNUM(138) long_xt NTAPI KeResetEvent
(
IN PRKEVENT Event
);
@ -368,7 +373,7 @@ XBSYSAPI EXPORTNUM(138) LONG NTAPI KeResetEvent
// ******************************************************************
// * 0x008B - KeRestoreFloatingPointState()
// ******************************************************************
XBSYSAPI EXPORTNUM(139) NTSTATUS NTAPI KeRestoreFloatingPointState
XBSYSAPI EXPORTNUM(139) ntstatus_xt NTAPI KeRestoreFloatingPointState
(
IN PKFLOATING_SAVE PublicFloatSave
);
@ -376,7 +381,7 @@ XBSYSAPI EXPORTNUM(139) NTSTATUS NTAPI KeRestoreFloatingPointState
// ******************************************************************
// * 0x008C - KeResumeThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(140) ULONG NTAPI KeResumeThread
XBSYSAPI EXPORTNUM(140) ulong_xt NTAPI KeResumeThread
(
IN PKTHREAD Thread
);
@ -389,7 +394,7 @@ XBSYSAPI EXPORTNUM(141) PLIST_ENTRY NTAPI KeRundownQueue
// ******************************************************************
// * 0x008E - KeSaveFloatingPointState()
// ******************************************************************
XBSYSAPI EXPORTNUM(142) NTSTATUS NTAPI KeSaveFloatingPointState
XBSYSAPI EXPORTNUM(142) ntstatus_xt NTAPI KeSaveFloatingPointState
(
OUT PKFLOATING_SAVE PublicFloatSave
);
@ -397,29 +402,29 @@ XBSYSAPI EXPORTNUM(142) NTSTATUS NTAPI KeSaveFloatingPointState
// ******************************************************************
// * 0x008F - KeSetBasePriorityThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(143) LONG NTAPI KeSetBasePriorityThread
XBSYSAPI EXPORTNUM(143) long_xt NTAPI KeSetBasePriorityThread
(
IN PKTHREAD Thread,
IN LONG Priority
IN long_xt Priority
);
XBSYSAPI EXPORTNUM(144) ULONG NTAPI KeSetDisableBoostThread
XBSYSAPI EXPORTNUM(144) ulong_xt NTAPI KeSetDisableBoostThread
(
IN PKTHREAD Thread,
IN ULONG Disable
IN ulong_xt Disable
);
// ******************************************************************
// * 0x0091 - KeSetEvent()
// ******************************************************************
XBSYSAPI EXPORTNUM(145) LONG NTAPI KeSetEvent
XBSYSAPI EXPORTNUM(145) long_xt NTAPI KeSetEvent
(
IN PRKEVENT Event,
IN KPRIORITY Increment,
IN BOOLEAN Wait
IN boolean_xt Wait
);
XBSYSAPI EXPORTNUM(146) VOID NTAPI KeSetEventBoostPriority
XBSYSAPI EXPORTNUM(146) void_xt NTAPI KeSetEventBoostPriority
(
IN PRKEVENT Event,
IN PRKTHREAD *Thread
@ -434,16 +439,16 @@ XBSYSAPI EXPORTNUM(147) KPRIORITY NTAPI KeSetPriorityProcess
// ******************************************************************
// * 0x0094 - KeSetPriorityThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(148) BOOLEAN NTAPI KeSetPriorityThread
XBSYSAPI EXPORTNUM(148) boolean_xt NTAPI KeSetPriorityThread
(
IN PKTHREAD Thread,
IN LONG Priority
IN long_xt Priority
);
// ******************************************************************
// * 0x0095 - KeSetTimer()
// ******************************************************************
XBSYSAPI EXPORTNUM(149) BOOLEAN NTAPI KeSetTimer
XBSYSAPI EXPORTNUM(149) boolean_xt NTAPI KeSetTimer
(
IN PKTIMER Timer,
IN LARGE_INTEGER DueTime,
@ -453,26 +458,26 @@ XBSYSAPI EXPORTNUM(149) BOOLEAN NTAPI KeSetTimer
// ******************************************************************
// * 0x0096 - KeSetTimerEx()
// ******************************************************************
XBSYSAPI EXPORTNUM(150) BOOLEAN NTAPI KeSetTimerEx
XBSYSAPI EXPORTNUM(150) boolean_xt NTAPI KeSetTimerEx
(
IN PKTIMER Timer,
IN LARGE_INTEGER DueTime,
IN LONG Period OPTIONAL,
IN long_xt Period OPTIONAL,
IN PKDPC Dpc OPTIONAL
);
// ******************************************************************
// * 0x0097 - KeStallExecutionProcessor()
// ******************************************************************
XBSYSAPI EXPORTNUM(151) VOID NTAPI KeStallExecutionProcessor
XBSYSAPI EXPORTNUM(151) void_xt NTAPI KeStallExecutionProcessor
(
IN ULONG MicroSeconds
IN ulong_xt MicroSeconds
);
// ******************************************************************
// * 0x0098 - KeSuspendThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(152) ULONG NTAPI KeSuspendThread
XBSYSAPI EXPORTNUM(152) ulong_xt NTAPI KeSuspendThread
(
IN PKTHREAD Thread
);
@ -480,7 +485,7 @@ XBSYSAPI EXPORTNUM(152) ULONG NTAPI KeSuspendThread
// ******************************************************************
// * 0x0099 - KeSynchronizeExecution()
// ******************************************************************
XBSYSAPI EXPORTNUM(153) BOOLEAN NTAPI KeSynchronizeExecution
XBSYSAPI EXPORTNUM(153) boolean_xt NTAPI KeSynchronizeExecution
(
IN PKINTERRUPT Interrupt,
IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,
@ -495,7 +500,7 @@ XBSYSAPI EXPORTNUM(154) KSYSTEM_TIME KeSystemTime;
// ******************************************************************
// * 0x009B - KeTestAlertThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(155) BOOLEAN NTAPI KeTestAlertThread
XBSYSAPI EXPORTNUM(155) boolean_xt NTAPI KeTestAlertThread
(
IN KPROCESSOR_MODE AlertMode
);
@ -503,24 +508,24 @@ XBSYSAPI EXPORTNUM(155) BOOLEAN NTAPI KeTestAlertThread
// ******************************************************************
// * 0x009C - KeTickCount
// ******************************************************************
XBSYSAPI EXPORTNUM(156) volatile DWORD KeTickCount;
XBSYSAPI EXPORTNUM(156) volatile dword_xt KeTickCount;
// ******************************************************************
// * 0x009D - KeTimeIncrement
// ******************************************************************
XBSYSAPI EXPORTNUM(157) ULONG KeTimeIncrement;
XBSYSAPI EXPORTNUM(157) ulong_xt KeTimeIncrement;
// ******************************************************************
// * 0x009E - KeWaitForMultipleObjects()
// ******************************************************************
XBSYSAPI EXPORTNUM(158) NTSTATUS NTAPI KeWaitForMultipleObjects
XBSYSAPI EXPORTNUM(158) ntstatus_xt NTAPI KeWaitForMultipleObjects
(
IN ULONG Count,
IN ulong_xt Count,
IN PVOID Object[],
IN WAIT_TYPE WaitType,
IN KWAIT_REASON WaitReason,
IN KPROCESSOR_MODE WaitMode,
IN BOOLEAN Alertable,
IN boolean_xt Alertable,
IN PLARGE_INTEGER Timeout OPTIONAL,
IN PKWAIT_BLOCK WaitBlockArray OPTIONAL
);
@ -528,15 +533,17 @@ XBSYSAPI EXPORTNUM(158) NTSTATUS NTAPI KeWaitForMultipleObjects
// ******************************************************************
// * 0x009F - KeWaitForSingleObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(159) NTSTATUS NTAPI KeWaitForSingleObject
XBSYSAPI EXPORTNUM(159) ntstatus_xt NTAPI KeWaitForSingleObject
(
IN PVOID Object,
IN KWAIT_REASON WaitReason,
IN KPROCESSOR_MODE WaitMode,
IN BOOLEAN Alertable,
IN boolean_xt Alertable,
IN PLARGE_INTEGER Timeout OPTIONAL
);
}
#endif

View File

@ -12,6 +12,11 @@
#ifndef XBOXKRNL_MM_H
#define XBOXKRNL_MM_H
#include "types.h"
namespace xbox
{
XBSYSAPI EXPORTNUM(102) PVOID MmGlobalData[8];
// ******************************************************************
@ -24,7 +29,7 @@ XBSYSAPI EXPORTNUM(102) PVOID MmGlobalData[8];
// ******************************************************************
XBSYSAPI EXPORTNUM(165) PVOID NTAPI MmAllocateContiguousMemory
(
IN ULONG NumberOfBytes
IN ulong_xt NumberOfBytes
);
// ******************************************************************
@ -32,11 +37,11 @@ XBSYSAPI EXPORTNUM(165) PVOID NTAPI MmAllocateContiguousMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(166) PVOID NTAPI MmAllocateContiguousMemoryEx
(
IN ULONG NumberOfBytes,
IN PHYSICAL_ADDRESS LowestAcceptableAddress,
IN PHYSICAL_ADDRESS HighestAcceptableAddress,
IN ULONG Alignment OPTIONAL,
IN ULONG ProtectionType
IN ulong_xt NumberOfBytes,
IN physical_address_xt LowestAcceptableAddress,
IN physical_address_xt HighestAcceptableAddress,
IN ulong_xt Alignment OPTIONAL,
IN ulong_xt ProtectionType
);
// ******************************************************************
@ -44,8 +49,8 @@ XBSYSAPI EXPORTNUM(166) PVOID NTAPI MmAllocateContiguousMemoryEx
// ******************************************************************
XBSYSAPI EXPORTNUM(167) PVOID NTAPI MmAllocateSystemMemory
(
ULONG NumberOfBytes,
ULONG Protect
ulong_xt NumberOfBytes,
ulong_xt Protect
);
// ******************************************************************
@ -53,8 +58,8 @@ XBSYSAPI EXPORTNUM(167) PVOID NTAPI MmAllocateSystemMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(168) PVOID NTAPI MmClaimGpuInstanceMemory
(
IN SIZE_T NumberOfBytes,
OUT SIZE_T *NumberOfPaddingBytes
IN size_xt NumberOfBytes,
OUT size_xt *NumberOfPaddingBytes
);
// ******************************************************************
@ -62,14 +67,14 @@ XBSYSAPI EXPORTNUM(168) PVOID NTAPI MmClaimGpuInstanceMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(169) PVOID NTAPI MmCreateKernelStack
(
IN ULONG NumberOfBytes,
IN BOOLEAN DebuggerThread
IN ulong_xt NumberOfBytes,
IN boolean_xt DebuggerThread
);
// ******************************************************************
// * MmDeleteKernelStack
// ******************************************************************
XBSYSAPI EXPORTNUM(170) VOID NTAPI MmDeleteKernelStack
XBSYSAPI EXPORTNUM(170) void_xt NTAPI MmDeleteKernelStack
(
IN PVOID StackBase,
IN PVOID StackLimit
@ -78,7 +83,7 @@ XBSYSAPI EXPORTNUM(170) VOID NTAPI MmDeleteKernelStack
// ******************************************************************
// * MmFreeContiguousMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(171) VOID NTAPI MmFreeContiguousMemory
XBSYSAPI EXPORTNUM(171) void_xt NTAPI MmFreeContiguousMemory
(
IN PVOID BaseAddress
);
@ -86,16 +91,16 @@ XBSYSAPI EXPORTNUM(171) VOID NTAPI MmFreeContiguousMemory
// ******************************************************************
// * MmFreeSystemMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(172) ULONG NTAPI MmFreeSystemMemory
XBSYSAPI EXPORTNUM(172) ulong_xt NTAPI MmFreeSystemMemory
(
PVOID BaseAddress,
ULONG NumberOfBytes
ulong_xt NumberOfBytes
);
// ******************************************************************
// * MmGetPhysicalAddress
// ******************************************************************
XBSYSAPI EXPORTNUM(173) PHYSICAL_ADDRESS NTAPI MmGetPhysicalAddress
XBSYSAPI EXPORTNUM(173) physical_address_xt NTAPI MmGetPhysicalAddress
(
IN PVOID BaseAddress
);
@ -103,7 +108,7 @@ XBSYSAPI EXPORTNUM(173) PHYSICAL_ADDRESS NTAPI MmGetPhysicalAddress
// ******************************************************************
// * MmIsAddressValid
// ******************************************************************
XBSYSAPI EXPORTNUM(174) BOOLEAN NTAPI MmIsAddressValid
XBSYSAPI EXPORTNUM(174) boolean_xt NTAPI MmIsAddressValid
(
IN PVOID VirtualAddress
);
@ -111,20 +116,20 @@ XBSYSAPI EXPORTNUM(174) BOOLEAN NTAPI MmIsAddressValid
// ******************************************************************
// * MmLockUnlockBufferPages
// ******************************************************************
XBSYSAPI EXPORTNUM(175) VOID NTAPI MmLockUnlockBufferPages
XBSYSAPI EXPORTNUM(175) void_xt NTAPI MmLockUnlockBufferPages
(
IN PVOID BaseAddress,
IN SIZE_T NumberOfBytes,
IN BOOLEAN UnlockPages
IN size_xt NumberOfBytes,
IN boolean_xt UnlockPages
);
// ******************************************************************
// * MmLockUnlockPhysicalPage
// ******************************************************************
XBSYSAPI EXPORTNUM(176) VOID NTAPI MmLockUnlockPhysicalPage
XBSYSAPI EXPORTNUM(176) void_xt NTAPI MmLockUnlockPhysicalPage
(
IN ULONG_PTR PhysicalAddress,
IN BOOLEAN UnlockPage
IN ulong_ptr_xt PhysicalAddress,
IN boolean_xt UnlockPage
);
// ******************************************************************
@ -132,25 +137,25 @@ XBSYSAPI EXPORTNUM(176) VOID NTAPI MmLockUnlockPhysicalPage
// ******************************************************************
XBSYSAPI EXPORTNUM(177) PVOID NTAPI MmMapIoSpace
(
IN PHYSICAL_ADDRESS PhysicalAddress,
IN ULONG NumberOfBytes,
IN ULONG ProtectionType
IN physical_address_xt PhysicalAddress,
IN ulong_xt NumberOfBytes,
IN ulong_xt ProtectionType
);
// ******************************************************************
// * MmPersistContiguousMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(178) VOID NTAPI MmPersistContiguousMemory
XBSYSAPI EXPORTNUM(178) void_xt NTAPI MmPersistContiguousMemory
(
IN PVOID BaseAddress,
IN ULONG NumberOfBytes,
IN BOOLEAN Persist
IN ulong_xt NumberOfBytes,
IN boolean_xt Persist
);
// ******************************************************************
// * MmQueryAddressProtect
// ******************************************************************
XBSYSAPI EXPORTNUM(179) ULONG NTAPI MmQueryAddressProtect
XBSYSAPI EXPORTNUM(179) ulong_xt NTAPI MmQueryAddressProtect
(
IN PVOID VirtualAddress
);
@ -158,7 +163,7 @@ XBSYSAPI EXPORTNUM(179) ULONG NTAPI MmQueryAddressProtect
// ******************************************************************
// * MmQueryAllocationSize
// ******************************************************************
XBSYSAPI EXPORTNUM(180) ULONG NTAPI MmQueryAllocationSize
XBSYSAPI EXPORTNUM(180) ulong_xt NTAPI MmQueryAllocationSize
(
IN PVOID BaseAddress
);
@ -166,7 +171,7 @@ XBSYSAPI EXPORTNUM(180) ULONG NTAPI MmQueryAllocationSize
// ******************************************************************
// * MmQueryStatistics
// ******************************************************************
XBSYSAPI EXPORTNUM(181) NTSTATUS NTAPI MmQueryStatistics
XBSYSAPI EXPORTNUM(181) ntstatus_xt NTAPI MmQueryStatistics
(
OUT PMM_STATISTICS MemoryStatistics
);
@ -174,20 +179,20 @@ XBSYSAPI EXPORTNUM(181) NTSTATUS NTAPI MmQueryStatistics
// ******************************************************************
// * MmSetAddressProtect
// ******************************************************************
XBSYSAPI EXPORTNUM(182) VOID NTAPI MmSetAddressProtect
XBSYSAPI EXPORTNUM(182) void_xt NTAPI MmSetAddressProtect
(
IN PVOID BaseAddress,
IN ULONG NumberOfBytes,
IN ULONG NewProtect
IN ulong_xt NumberOfBytes,
IN ulong_xt NewProtect
);
// ******************************************************************
// * MmUnmapIoSpace
// ******************************************************************
XBSYSAPI EXPORTNUM(183) VOID NTAPI MmUnmapIoSpace
XBSYSAPI EXPORTNUM(183) void_xt NTAPI MmUnmapIoSpace
(
IN PVOID BaseAddress,
IN ULONG NumberOfBytes
IN ulong_xt NumberOfBytes
);
// ******************************************************************
@ -195,28 +200,28 @@ XBSYSAPI EXPORTNUM(183) VOID NTAPI MmUnmapIoSpace
// ******************************************************************
XBSYSAPI EXPORTNUM(374) PVOID NTAPI MmDbgAllocateMemory
(
IN ULONG NumberOfBytes,
IN ULONG Protect
IN ulong_xt NumberOfBytes,
IN ulong_xt Protect
);
// ******************************************************************
// * MmDbgFreeMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(375) ULONG NTAPI MmDbgFreeMemory
XBSYSAPI EXPORTNUM(375) ulong_xt NTAPI MmDbgFreeMemory
(
IN PVOID BaseAddress,
IN ULONG NumberOfBytes
IN ulong_xt NumberOfBytes
);
// ******************************************************************
// * MmDbgQueryAvailablePages
// ******************************************************************
XBSYSAPI EXPORTNUM(376) ULONG NTAPI MmDbgQueryAvailablePages(void);
XBSYSAPI EXPORTNUM(376) ulong_xt NTAPI MmDbgQueryAvailablePages(void);
// ******************************************************************
// * MmDbgReleaseAddress
// ******************************************************************
XBSYSAPI EXPORTNUM(377) VOID NTAPI MmDbgReleaseAddress
XBSYSAPI EXPORTNUM(377) void_xt NTAPI MmDbgReleaseAddress
(
IN PVOID VirtualAddress,
IN PULONG Opaque
@ -231,6 +236,8 @@ XBSYSAPI EXPORTNUM(378) PVOID NTAPI MmDbgWriteCheck
IN PULONG Opaque
);
}
#endif

View File

@ -12,24 +12,29 @@
#ifndef XBOXKRNL_NT_H
#define XBOXKRNL_NT_H
#include "types.h"
namespace xbox
{
#define NtCurrentThread() ((HANDLE)-2)
// ******************************************************************
// * NtAllocateVirtualMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(184) NTSTATUS NTAPI NtAllocateVirtualMemory
XBSYSAPI EXPORTNUM(184) ntstatus_xt NTAPI NtAllocateVirtualMemory
(
IN OUT PVOID *BaseAddress,
IN ULONG ZeroBits,
IN ulong_xt ZeroBits,
IN OUT PULONG AllocationSize,
IN DWORD AllocationType,
IN DWORD Protect
IN dword_xt AllocationType,
IN dword_xt Protect
);
// ******************************************************************
// * 0x00B9 - NtCancelTimer()
// ******************************************************************
XBSYSAPI EXPORTNUM(185) NTSTATUS NTAPI NtCancelTimer
XBSYSAPI EXPORTNUM(185) ntstatus_xt NTAPI NtCancelTimer
(
IN HANDLE TimerHandle,
OUT PBOOLEAN CurrentState OPTIONAL
@ -38,7 +43,7 @@ XBSYSAPI EXPORTNUM(185) NTSTATUS NTAPI NtCancelTimer
// ******************************************************************
// * NtClearEvent
// ******************************************************************
XBSYSAPI EXPORTNUM(186) NTSTATUS NTAPI NtClearEvent
XBSYSAPI EXPORTNUM(186) ntstatus_xt NTAPI NtClearEvent
(
IN HANDLE EventHandle
);
@ -50,12 +55,12 @@ XBSYSAPI EXPORTNUM(186) NTSTATUS NTAPI NtClearEvent
// * Closes an object handle
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(187) NTSTATUS NTAPI NtClose
XBSYSAPI EXPORTNUM(187) ntstatus_xt NTAPI NtClose
(
IN HANDLE Handle
);
XBSYSAPI EXPORTNUM(188) NTSTATUS NTAPI NtCreateDirectoryObject
XBSYSAPI EXPORTNUM(188) ntstatus_xt NTAPI NtCreateDirectoryObject
(
OUT PHANDLE DirectoryHandle,
IN POBJECT_ATTRIBUTES ObjectAttributes
@ -64,12 +69,12 @@ XBSYSAPI EXPORTNUM(188) NTSTATUS NTAPI NtCreateDirectoryObject
// ******************************************************************
// * NtCreateEvent
// ******************************************************************
XBSYSAPI EXPORTNUM(189) NTSTATUS NTAPI NtCreateEvent
XBSYSAPI EXPORTNUM(189) ntstatus_xt NTAPI NtCreateEvent
(
OUT PHANDLE EventHandle,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN EVENT_TYPE EventType,
IN BOOLEAN InitialState
IN boolean_xt InitialState
);
@ -83,52 +88,52 @@ XBSYSAPI EXPORTNUM(189) NTSTATUS NTAPI NtCreateEvent
// * a handle for the file object.
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(190) NTSTATUS NTAPI NtCreateFile
XBSYSAPI EXPORTNUM(190) ntstatus_xt NTAPI NtCreateFile
(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
IN access_mask_xt DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER AllocationSize OPTIONAL,
IN ULONG FileAttributes,
IN ULONG ShareAccess,
IN ULONG CreateDisposition,
IN ULONG CreateOptions
IN ulong_xt FileAttributes,
IN ulong_xt ShareAccess,
IN ulong_xt CreateDisposition,
IN ulong_xt CreateOptions
);
XBSYSAPI EXPORTNUM(191) NTSTATUS NTAPI NtCreateIoCompletion
XBSYSAPI EXPORTNUM(191) ntstatus_xt NTAPI NtCreateIoCompletion
(
OUT PHANDLE IoCompletionHandle,
IN ACCESS_MASK DesiredAccess,
IN access_mask_xt DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN ULONG Count
IN ulong_xt Count
);
// ******************************************************************
// * NtCreateMutant
// ******************************************************************
XBSYSAPI EXPORTNUM(192) NTSTATUS NTAPI NtCreateMutant
XBSYSAPI EXPORTNUM(192) ntstatus_xt NTAPI NtCreateMutant
(
OUT PHANDLE MutantHandle,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN BOOLEAN InitialOwner
IN boolean_xt InitialOwner
);
// ******************************************************************
// * NtCreateSemaphore
// ******************************************************************
XBSYSAPI EXPORTNUM(193) NTSTATUS NTAPI NtCreateSemaphore
XBSYSAPI EXPORTNUM(193) ntstatus_xt NTAPI NtCreateSemaphore
(
OUT PHANDLE SemaphoreHandle,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN ULONG InitialCount,
IN ULONG MaximumCount
IN ulong_xt InitialCount,
IN ulong_xt MaximumCount
);
// ******************************************************************
// * 0x00C2 - NtCreateTimer()
// ******************************************************************
XBSYSAPI EXPORTNUM(194) NTSTATUS NTAPI NtCreateTimer
XBSYSAPI EXPORTNUM(194) ntstatus_xt NTAPI NtCreateTimer
(
OUT PHANDLE TimerHandle,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
@ -138,7 +143,7 @@ XBSYSAPI EXPORTNUM(194) NTSTATUS NTAPI NtCreateTimer
// ******************************************************************
// * 0x00C3 - NtDeleteFile()
// ******************************************************************
XBSYSAPI EXPORTNUM(195) NTSTATUS NTAPI NtDeleteFile
XBSYSAPI EXPORTNUM(195) ntstatus_xt NTAPI NtDeleteFile
(
IN POBJECT_ATTRIBUTES ObjectAttributes
);
@ -146,34 +151,34 @@ XBSYSAPI EXPORTNUM(195) NTSTATUS NTAPI NtDeleteFile
// ******************************************************************
// * 0x00C4 - NtDeviceIoControlFile
// ******************************************************************
XBSYSAPI EXPORTNUM(196) NTSTATUS NTAPI NtDeviceIoControlFile
XBSYSAPI EXPORTNUM(196) ntstatus_xt NTAPI NtDeviceIoControlFile
(
IN HANDLE FileHandle,
IN HANDLE Event OPTIONAL,
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
IN PVOID ApcContext OPTIONAL,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN ULONG IoControlCode,
IN ulong_xt IoControlCode,
IN PVOID InputBuffer OPTIONAL,
IN ULONG InputBufferLength,
IN ulong_xt InputBufferLength,
OUT PVOID OutputBuffer OPTIONAL,
IN ULONG OutputBufferLength
IN ulong_xt OutputBufferLength
);
// ******************************************************************
// * NtDuplicateObject
// ******************************************************************
XBSYSAPI EXPORTNUM(197) NTSTATUS NTAPI NtDuplicateObject
XBSYSAPI EXPORTNUM(197) ntstatus_xt NTAPI NtDuplicateObject
(
PVOID SourceHandle,
PVOID *TargetHandle,
DWORD Options
dword_xt Options
);
// ******************************************************************
// * NtFlushBuffersFile
// ******************************************************************
XBSYSAPI EXPORTNUM(198) NTSTATUS NTAPI NtFlushBuffersFile
XBSYSAPI EXPORTNUM(198) ntstatus_xt NTAPI NtFlushBuffersFile
(
PVOID FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock
@ -182,31 +187,31 @@ XBSYSAPI EXPORTNUM(198) NTSTATUS NTAPI NtFlushBuffersFile
// ******************************************************************
// * NtFreeVirtualMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(199) NTSTATUS NTAPI NtFreeVirtualMemory
XBSYSAPI EXPORTNUM(199) ntstatus_xt NTAPI NtFreeVirtualMemory
(
IN OUT PVOID *BaseAddress,
IN OUT PULONG FreeSize,
IN ULONG FreeType
IN ulong_xt FreeType
);
// ******************************************************************
// * 0x00C8 - NtFsControlFile
// ******************************************************************
XBSYSAPI EXPORTNUM(200) NTSTATUS NTAPI NtFsControlFile
XBSYSAPI EXPORTNUM(200) ntstatus_xt NTAPI NtFsControlFile
(
IN HANDLE FileHandle,
IN HANDLE Event OPTIONAL,
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
IN PVOID ApcContext OPTIONAL,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN ULONG FsControlCode,
IN ulong_xt FsControlCode,
IN PVOID InputBuffer OPTIONAL,
IN ULONG InputBufferLength,
IN ulong_xt InputBufferLength,
OUT PVOID OutputBuffer OPTIONAL,
IN ULONG OutputBufferLength
IN ulong_xt OutputBufferLength
);
XBSYSAPI EXPORTNUM(201) NTSTATUS NTAPI NtOpenDirectoryObject
XBSYSAPI EXPORTNUM(201) ntstatus_xt NTAPI NtOpenDirectoryObject
(
OUT PHANDLE DirectoryHandle,
IN POBJECT_ATTRIBUTES ObjectAttributes
@ -215,25 +220,25 @@ XBSYSAPI EXPORTNUM(201) NTSTATUS NTAPI NtOpenDirectoryObject
// ******************************************************************
// * NtOpenFile
// ******************************************************************
XBSYSAPI EXPORTNUM(202) NTSTATUS NTAPI NtOpenFile
XBSYSAPI EXPORTNUM(202) ntstatus_xt NTAPI NtOpenFile
(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
IN access_mask_xt DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN ULONG ShareAccess,
IN ULONG OpenOptions
IN ulong_xt ShareAccess,
IN ulong_xt OpenOptions
);
XBSYSAPI EXPORTNUM(203) NTSTATUS NTAPI NtOpenSymbolicLinkObject(
XBSYSAPI EXPORTNUM(203) ntstatus_xt NTAPI NtOpenSymbolicLinkObject(
OUT PHANDLE LinkHandle,
IN POBJECT_ATTRIBUTES ObjectAttributes
);
XBSYSAPI EXPORTNUM(205) NTSTATUS NTAPI NtProtectVirtualMemory(
XBSYSAPI EXPORTNUM(205) ntstatus_xt NTAPI NtProtectVirtualMemory(
IN OUT PVOID *BaseAddress,
IN OUT PSIZE_T RegionSize,
IN ULONG NewProtect,
IN ulong_xt NewProtect,
OUT PULONG OldProtect
);
@ -241,7 +246,7 @@ XBSYSAPI EXPORTNUM(205) NTSTATUS NTAPI NtProtectVirtualMemory(
// ******************************************************************
// * NtPulseEvent
// ******************************************************************
XBSYSAPI EXPORTNUM(205) NTSTATUS NTAPI NtPulseEvent
XBSYSAPI EXPORTNUM(205) ntstatus_xt NTAPI NtPulseEvent
(
IN HANDLE EventHandle,
OUT PLONG PreviousState OPTIONAL
@ -250,19 +255,19 @@ XBSYSAPI EXPORTNUM(205) NTSTATUS NTAPI NtPulseEvent
// ******************************************************************
// * NtQueueApcThread
// ******************************************************************
XBSYSAPI EXPORTNUM(206) NTSTATUS NTAPI NtQueueApcThread
XBSYSAPI EXPORTNUM(206) ntstatus_xt NTAPI NtQueueApcThread
(
IN HANDLE ThreadHandle,
IN PIO_APC_ROUTINE ApcRoutine,
IN PVOID ApcRoutineContext OPTIONAL,
IN PIO_STATUS_BLOCK ApcStatusBlock OPTIONAL,
IN ULONG ApcReserved OPTIONAL
IN ulong_xt ApcReserved OPTIONAL
);
// ******************************************************************
// * NtQueryDirectoryFile
// ******************************************************************
XBSYSAPI EXPORTNUM(207) NTSTATUS NTAPI NtQueryDirectoryFile
XBSYSAPI EXPORTNUM(207) ntstatus_xt NTAPI NtQueryDirectoryFile
(
IN HANDLE FileHandle,
IN HANDLE Event OPTIONAL,
@ -270,20 +275,20 @@ XBSYSAPI EXPORTNUM(207) NTSTATUS NTAPI NtQueryDirectoryFile
IN PVOID ApcContext,
OUT PIO_STATUS_BLOCK IoStatusBlock,
OUT FILE_DIRECTORY_INFORMATION *FileInformation,
IN ULONG Length,
IN ulong_xt Length,
IN FILE_INFORMATION_CLASS FileInformationClass,
IN PSTRING FileMask,
IN BOOLEAN RestartScan
IN boolean_xt RestartScan
);
// ******************************************************************
// * 0x00D0 - NtQueryDirectoryObject
// ******************************************************************
XBSYSAPI EXPORTNUM(208) NTSTATUS NTAPI NtQueryDirectoryObject(
XBSYSAPI EXPORTNUM(208) ntstatus_xt NTAPI NtQueryDirectoryObject(
IN HANDLE DirectoryHandle,
OUT PVOID Buffer,
IN ULONG Length,
IN BOOLEAN RestartScan,
IN ulong_xt Length,
IN boolean_xt RestartScan,
IN OUT PULONG Context,
OUT PULONG ReturnedLength OPTIONAL
);
@ -291,7 +296,7 @@ XBSYSAPI EXPORTNUM(208) NTSTATUS NTAPI NtQueryDirectoryObject(
// ******************************************************************
// * 0x00D1 - NtQueryEvent()
// ******************************************************************
XBSYSAPI EXPORTNUM(209) NTSTATUS NTAPI NtQueryEvent
XBSYSAPI EXPORTNUM(209) ntstatus_xt NTAPI NtQueryEvent
(
IN HANDLE EventHandle,
OUT PEVENT_BASIC_INFORMATION EventInformation
@ -300,7 +305,7 @@ XBSYSAPI EXPORTNUM(209) NTSTATUS NTAPI NtQueryEvent
// ******************************************************************
// * NtQueryFullAttributesFile
// ******************************************************************
XBSYSAPI EXPORTNUM(210) NTSTATUS NTAPI NtQueryFullAttributesFile
XBSYSAPI EXPORTNUM(210) ntstatus_xt NTAPI NtQueryFullAttributesFile
(
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PFILE_NETWORK_OPEN_INFORMATION Attributes
@ -313,19 +318,19 @@ XBSYSAPI EXPORTNUM(210) NTSTATUS NTAPI NtQueryFullAttributesFile
// * Return various kinds of information about a given file object.
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(211) NTSTATUS NTAPI NtQueryInformationFile
XBSYSAPI EXPORTNUM(211) ntstatus_xt NTAPI NtQueryInformationFile
(
IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
OUT PVOID FileInformation,
IN ULONG Length,
IN ulong_xt Length,
IN FILE_INFORMATION_CLASS FileInfo
);
// ******************************************************************
// * 0x00D4 - NtQueryIoCompletion
// ******************************************************************
XBSYSAPI EXPORTNUM(212) NTSTATUS NTAPI NtQueryIoCompletion
XBSYSAPI EXPORTNUM(212) ntstatus_xt NTAPI NtQueryIoCompletion
(
IN HANDLE IoCompletionHandle,
OUT PIO_COMPLETION_BASIC_INFORMATION IoCompletionInformation
@ -334,7 +339,7 @@ XBSYSAPI EXPORTNUM(212) NTSTATUS NTAPI NtQueryIoCompletion
// ******************************************************************
// * 0x00D5 - NtQueryMutant()
// ******************************************************************
XBSYSAPI EXPORTNUM(213) NTSTATUS NTAPI NtQueryMutant
XBSYSAPI EXPORTNUM(213) ntstatus_xt NTAPI NtQueryMutant
(
IN HANDLE MutantHandle,
OUT PMUTANT_BASIC_INFORMATION MutantInformation
@ -343,7 +348,7 @@ XBSYSAPI EXPORTNUM(213) NTSTATUS NTAPI NtQueryMutant
// ******************************************************************
// * 0x00D6 - NtQuerySemaphore()
// ******************************************************************
XBSYSAPI EXPORTNUM(214) NTSTATUS NTAPI NtQuerySemaphore
XBSYSAPI EXPORTNUM(214) ntstatus_xt NTAPI NtQuerySemaphore
(
IN HANDLE SemaphoreHandle,
OUT PSEMAPHORE_BASIC_INFORMATION SemaphoreInformation
@ -352,7 +357,7 @@ XBSYSAPI EXPORTNUM(214) NTSTATUS NTAPI NtQuerySemaphore
// ******************************************************************
// * 0x00D7 - NtQuerySymbolicLinkObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(215) NTSTATUS NTAPI NtQuerySymbolicLinkObject
XBSYSAPI EXPORTNUM(215) ntstatus_xt NTAPI NtQuerySymbolicLinkObject
(
HANDLE LinkHandle,
OUT PSTRING LinkTarget,
@ -362,7 +367,7 @@ XBSYSAPI EXPORTNUM(215) NTSTATUS NTAPI NtQuerySymbolicLinkObject
// ******************************************************************
// * 0x00D8 - NtQueryTimer()
// ******************************************************************
XBSYSAPI EXPORTNUM(216) NTSTATUS NTAPI NtQueryTimer
XBSYSAPI EXPORTNUM(216) ntstatus_xt NTAPI NtQueryTimer
(
IN HANDLE TimerHandle,
OUT PTIMER_BASIC_INFORMATION TimerInformation
@ -371,7 +376,7 @@ XBSYSAPI EXPORTNUM(216) NTSTATUS NTAPI NtQueryTimer
// ******************************************************************
// * NtQueryVirtualMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(217) NTSTATUS NTAPI NtQueryVirtualMemory
XBSYSAPI EXPORTNUM(217) ntstatus_xt NTAPI NtQueryVirtualMemory
(
IN PVOID BaseAddress,
OUT PMEMORY_BASIC_INFORMATION Buffer
@ -380,12 +385,12 @@ XBSYSAPI EXPORTNUM(217) NTSTATUS NTAPI NtQueryVirtualMemory
// ******************************************************************
// * NtQueryVolumeInformationFile
// ******************************************************************
XBSYSAPI EXPORTNUM(218) NTSTATUS NTAPI NtQueryVolumeInformationFile
XBSYSAPI EXPORTNUM(218) ntstatus_xt NTAPI NtQueryVolumeInformationFile
(
IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
OUT PFILE_FS_SIZE_INFORMATION FileInformation,
IN ULONG Length,
IN ulong_xt Length,
IN FS_INFORMATION_CLASS FileInformationClass
);
@ -396,7 +401,7 @@ XBSYSAPI EXPORTNUM(218) NTSTATUS NTAPI NtQueryVolumeInformationFile
// * Read data from an opened file.
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(219) NTSTATUS NTAPI NtReadFile
XBSYSAPI EXPORTNUM(219) ntstatus_xt NTAPI NtReadFile
(
IN HANDLE FileHandle, // TODO: correct paramters
IN HANDLE Event OPTIONAL,
@ -404,14 +409,14 @@ XBSYSAPI EXPORTNUM(219) NTSTATUS NTAPI NtReadFile
IN PVOID ApcContext,
OUT PIO_STATUS_BLOCK IoStatusBlock,
OUT PVOID Buffer,
IN ULONG Length,
IN ulong_xt Length,
IN PLARGE_INTEGER ByteOffset OPTIONAL
);
// ******************************************************************
// * 0x00DC - NtReadFileScatter
// ******************************************************************
XBSYSAPI EXPORTNUM(220) NTSTATUS NTAPI NtReadFileScatter
XBSYSAPI EXPORTNUM(220) ntstatus_xt NTAPI NtReadFileScatter
(
IN HANDLE FileHandle,
IN HANDLE Event OPTIONAL,
@ -419,14 +424,14 @@ XBSYSAPI EXPORTNUM(220) NTSTATUS NTAPI NtReadFileScatter
IN PVOID ApcContext OPTIONAL,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PFILE_SEGMENT_ELEMENT SegmentArray,
IN ULONG Length,
IN ulong_xt Length,
IN PLARGE_INTEGER ByteOffset OPTIONAL
);
// ******************************************************************
// * NtReleaseMutant
// ******************************************************************
XBSYSAPI EXPORTNUM(221) NTSTATUS NTAPI NtReleaseMutant
XBSYSAPI EXPORTNUM(221) ntstatus_xt NTAPI NtReleaseMutant
(
IN HANDLE MutantHandle,
OUT PLONG PreviousCount
@ -435,17 +440,17 @@ XBSYSAPI EXPORTNUM(221) NTSTATUS NTAPI NtReleaseMutant
// ******************************************************************
// * NtReleaseSemaphore
// ******************************************************************
XBSYSAPI EXPORTNUM(222) NTSTATUS NTAPI NtReleaseSemaphore
XBSYSAPI EXPORTNUM(222) ntstatus_xt NTAPI NtReleaseSemaphore
(
IN HANDLE SemaphoreHandle,
IN ULONG ReleaseCount,
IN ulong_xt ReleaseCount,
OUT PULONG PreviousCount OPTIONAL
);
// ******************************************************************
// * 0x00DF - NtRemoveIoCompletion
// ******************************************************************
XBSYSAPI EXPORTNUM(223) NTSTATUS NTAPI NtRemoveIoCompletion
XBSYSAPI EXPORTNUM(223) ntstatus_xt NTAPI NtRemoveIoCompletion
(
IN HANDLE IoCompletionHandle,
OUT PVOID *KeyContext,
@ -457,7 +462,7 @@ XBSYSAPI EXPORTNUM(223) NTSTATUS NTAPI NtRemoveIoCompletion
// ******************************************************************
// * NtResumeThread
// ******************************************************************
XBSYSAPI EXPORTNUM(224) NTSTATUS NTAPI NtResumeThread
XBSYSAPI EXPORTNUM(224) ntstatus_xt NTAPI NtResumeThread
(
IN HANDLE ThreadHandle,
OUT PULONG PreviousSuspendCount
@ -466,7 +471,7 @@ XBSYSAPI EXPORTNUM(224) NTSTATUS NTAPI NtResumeThread
// ******************************************************************
// * NtSetEvent
// ******************************************************************
XBSYSAPI EXPORTNUM(225) NTSTATUS NTAPI NtSetEvent
XBSYSAPI EXPORTNUM(225) ntstatus_xt NTAPI NtSetEvent
(
IN HANDLE EventHandle,
OUT PLONG PreviousState
@ -479,31 +484,31 @@ XBSYSAPI EXPORTNUM(225) NTSTATUS NTAPI NtSetEvent
// * Changes various kinds of information about a given file object.
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(226) NTSTATUS NTAPI NtSetInformationFile
XBSYSAPI EXPORTNUM(226) ntstatus_xt NTAPI NtSetInformationFile
(
IN HANDLE FileHandle, // TODO: correct paramters
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PVOID FileInformation,
IN ULONG Length,
IN ulong_xt Length,
IN FILE_INFORMATION_CLASS FileInformationClass
);
// ******************************************************************
// * 0x00E3 - NtSetIoCompletion
// ******************************************************************
XBSYSAPI EXPORTNUM(227) NTSTATUS NTAPI NtSetIoCompletion
XBSYSAPI EXPORTNUM(227) ntstatus_xt NTAPI NtSetIoCompletion
(
IN HANDLE IoCompletionHandle,
IN PVOID KeyContext,
IN PVOID ApcContext,
IN NTSTATUS IoStatus,
IN ULONG_PTR IoStatusInformation
IN ntstatus_xt IoStatus,
IN ulong_ptr_xt IoStatusInformation
);
// ******************************************************************
// * NtSetSystemTime
// ******************************************************************
XBSYSAPI EXPORTNUM(228) NTSTATUS NTAPI NtSetSystemTime
XBSYSAPI EXPORTNUM(228) ntstatus_xt NTAPI NtSetSystemTime
(
IN PLARGE_INTEGER SystemTime,
OUT PLARGE_INTEGER PreviousTime OPTIONAL
@ -512,34 +517,34 @@ XBSYSAPI EXPORTNUM(228) NTSTATUS NTAPI NtSetSystemTime
// ******************************************************************
// * 0x00E5 - NtSetTimerEx()
// ******************************************************************
XBSYSAPI EXPORTNUM(229) NTSTATUS NTAPI NtSetTimerEx
XBSYSAPI EXPORTNUM(229) ntstatus_xt NTAPI NtSetTimerEx
(
IN HANDLE TimerHandle,
IN PLARGE_INTEGER DueTime,
IN PTIMER_APC_ROUTINE TimerApcRoutine OPTIONAL,
IN KPROCESSOR_MODE ApcMode,
IN PVOID TimerContext OPTIONAL,
IN BOOLEAN WakeTimer,
IN LONG Period OPTIONAL,
IN boolean_xt WakeTimer,
IN long_xt Period OPTIONAL,
OUT PBOOLEAN PreviousState OPTIONAL
);
// ******************************************************************
// * 0x00E6 - NtSignalAndWaitForSingleObjectEx
// ******************************************************************
XBSYSAPI EXPORTNUM(230) NTSTATUS NTAPI NtSignalAndWaitForSingleObjectEx
XBSYSAPI EXPORTNUM(230) ntstatus_xt NTAPI NtSignalAndWaitForSingleObjectEx
(
IN HANDLE SignalHandle,
IN HANDLE WaitHandle,
IN KPROCESSOR_MODE WaitMode,
IN BOOLEAN Alertable,
IN boolean_xt Alertable,
IN PLARGE_INTEGER Timeout OPTIONAL
);
// ******************************************************************
// * NtSuspendThread
// ******************************************************************
XBSYSAPI EXPORTNUM(231) NTSTATUS NTAPI NtSuspendThread
XBSYSAPI EXPORTNUM(231) ntstatus_xt NTAPI NtSuspendThread
(
IN HANDLE ThreadHandle,
OUT PULONG PreviousSuspendCount OPTIONAL
@ -548,11 +553,11 @@ XBSYSAPI EXPORTNUM(231) NTSTATUS NTAPI NtSuspendThread
// ******************************************************************
// * NtUserIoApcDispatcher
// ******************************************************************
XBSYSAPI EXPORTNUM(232) VOID NTAPI NtUserIoApcDispatcher
XBSYSAPI EXPORTNUM(232) void_xt NTAPI NtUserIoApcDispatcher
(
PVOID ApcContext,
PIO_STATUS_BLOCK IoStatusBlock,
ULONG Reserved
ulong_xt Reserved
);
// ******************************************************************
@ -564,34 +569,34 @@ XBSYSAPI EXPORTNUM(232) VOID NTAPI NtUserIoApcDispatcher
// * until the wait times out.
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(233) NTSTATUS NTAPI NtWaitForSingleObject
XBSYSAPI EXPORTNUM(233) ntstatus_xt NTAPI NtWaitForSingleObject
(
IN HANDLE Handle,
IN BOOLEAN Alertable,
IN boolean_xt Alertable,
IN PLARGE_INTEGER Timeout
);
// ******************************************************************
// * NtWaitForSingleObjectEx
// ******************************************************************
XBSYSAPI EXPORTNUM(234) NTSTATUS NTAPI NtWaitForSingleObjectEx
XBSYSAPI EXPORTNUM(234) ntstatus_xt NTAPI NtWaitForSingleObjectEx
(
IN HANDLE Handle,
IN CHAR WaitMode,
IN BOOLEAN Alertable,
IN char_xt WaitMode,
IN boolean_xt Alertable,
IN PLARGE_INTEGER Timeout
);
// ******************************************************************
// * NtWaitForMultipleObjectsEx
// ******************************************************************
XBSYSAPI EXPORTNUM(235) NTSTATUS NTAPI NtWaitForMultipleObjectsEx
XBSYSAPI EXPORTNUM(235) ntstatus_xt NTAPI NtWaitForMultipleObjectsEx
(
IN ULONG Count,
IN ulong_xt Count,
IN HANDLE *Handles,
IN WAIT_TYPE WaitType,
IN CHAR WaitMode,
IN BOOLEAN Alertable,
IN char_xt WaitMode,
IN boolean_xt Alertable,
IN PLARGE_INTEGER Timeout
);
@ -602,7 +607,7 @@ XBSYSAPI EXPORTNUM(235) NTSTATUS NTAPI NtWaitForMultipleObjectsEx
// * Write data to an opened file.
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(236) NTSTATUS NTAPI NtWriteFile
XBSYSAPI EXPORTNUM(236) ntstatus_xt NTAPI NtWriteFile
(
IN HANDLE FileHandle,
IN HANDLE Event,
@ -610,14 +615,14 @@ XBSYSAPI EXPORTNUM(236) NTSTATUS NTAPI NtWriteFile
IN PVOID ApcContext OPTIONAL,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PVOID Buffer,
IN ULONG Length,
IN ulong_xt Length,
IN PLARGE_INTEGER ByteOffset OPTIONAL
);
// ******************************************************************
// * 0x00ED - NtWriteFileGather
// ******************************************************************
XBSYSAPI EXPORTNUM(237) NTSTATUS NTAPI NtWriteFileGather
XBSYSAPI EXPORTNUM(237) ntstatus_xt NTAPI NtWriteFileGather
(
IN HANDLE FileHandle,
IN HANDLE Event OPTIONAL,
@ -625,14 +630,16 @@ XBSYSAPI EXPORTNUM(237) NTSTATUS NTAPI NtWriteFileGather
IN PVOID ApcContext OPTIONAL,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PFILE_SEGMENT_ELEMENT SegmentArray,
IN ULONG Length,
IN ulong_xt Length,
IN PLARGE_INTEGER ByteOffset OPTIONAL
);
// ******************************************************************
// * NtYieldExecution
// ******************************************************************
XBSYSAPI EXPORTNUM(238) VOID NTAPI NtYieldExecution(void);
XBSYSAPI EXPORTNUM(238) void_xt NTAPI NtYieldExecution(void);
}
#endif

View File

@ -12,7 +12,12 @@
#ifndef XBOXKRNL_OB_H
#define XBOXKRNL_OB_H
#define OBJ_NAME_PATH_SEPARATOR ((CHAR)L'\\')
#include "types.h"
namespace xbox
{
#define OBJ_NAME_PATH_SEPARATOR ((char_xt)L'\\')
#define OB_NUMBER_HASH_BUCKETS 11
typedef struct _OBJECT_DIRECTORY {
@ -35,13 +40,13 @@ typedef struct _OBJECT_HEADER_NAME_INFO {
#define ObpIsFlagSet(flagset, flag) (((flagset) & (flag)) != 0)
#define ObpIsFlagClear(flagset, flag) (((flagset) & (flag)) == 0)
#define ObpEncodeFreeHandleLink(Link) (((ULONG_PTR)(Link)) | 1)
#define ObpDecodeFreeHandleLink(Link) (((ULONG_PTR)(Link)) & (~1))
#define ObpIsFreeHandleLink(Link) (((ULONG_PTR)(Link)) & 1)
#define ObpEncodeFreeHandleLink(Link) (((ulong_ptr_xt)(Link)) | 1)
#define ObpDecodeFreeHandleLink(Link) (((ulong_ptr_xt)(Link)) & (~1))
#define ObpIsFreeHandleLink(Link) (((ulong_ptr_xt)(Link)) & 1)
#define ObpGetTableByteOffsetFromHandle(Handle) (HandleToUlong(Handle) & (OB_HANDLES_PER_TABLE * sizeof(PVOID) - 1))
#define ObpGetTableFromHandle(Handle) ObpObjectHandleTable.RootTable[HandleToUlong(Handle) >> (OB_HANDLES_PER_TABLE_SHIFT + 2)]
#define ObpGetHandleContentsPointer(Handle) ((PVOID*)((PUCHAR)ObpGetTableFromHandle(Handle) + ObpGetTableByteOffsetFromHandle(Handle)))
#define ObpMaskOffApplicationBits(Handle) ((HANDLE)(((ULONG_PTR)(Handle)) & ~(sizeof(ULONG) - 1)))
#define ObpMaskOffApplicationBits(Handle) ((HANDLE)(((ulong_ptr_xt)(Handle)) & ~(sizeof(ulong_xt) - 1)))
#define OB_FLAG_NAMED_OBJECT 0x01
#define OB_FLAG_PERMANENT_OBJECT 0x02
@ -54,15 +59,15 @@ typedef struct _OBJECT_HEADER_NAME_INFO {
#define OBJECT_HEADER_NAME_INFO_TO_OBJECT(ObjectHeaderNameInfo) (&OBJECT_HEADER_NAME_INFO_TO_OBJECT_HEADER(ObjectHeaderNameInfo)->Body)
HANDLE ObpCreateObjectHandle(PVOID Object);
BOOLEAN ObpCreatePermanentDirectoryObject(
boolean_xt ObpCreatePermanentDirectoryObject(
IN POBJECT_STRING DirectoryName OPTIONAL,
OUT POBJECT_DIRECTORY *DirectoryObject
);
NTSTATUS ObpReferenceObjectByName(
ntstatus_xt ObpReferenceObjectByName(
IN HANDLE RootDirectoryHandle,
IN POBJECT_STRING ObjectName,
IN ULONG Attributes,
IN ulong_xt Attributes,
IN POBJECT_TYPE ObjectType,
IN OUT PVOID ParseContext OPTIONAL,
OUT PVOID *ReturnedObject
@ -74,28 +79,28 @@ NTSTATUS ObpReferenceObjectByName(
(p)->ObjectName = n; \
}
BOOLEAN ObInitSystem();
BOOLEAN ObpExtendObjectHandleTable();
VOID ObDissectName(OBJECT_STRING Path, POBJECT_STRING FirstName, POBJECT_STRING RemainingName);
boolean_xt ObInitSystem();
boolean_xt ObpExtendObjectHandleTable();
void_xt ObDissectName(OBJECT_STRING Path, POBJECT_STRING FirstName, POBJECT_STRING RemainingName);
PVOID ObpGetObjectHandleContents(HANDLE Handle);
PVOID ObpGetObjectHandleReference(HANDLE Handle);
ULONG FASTCALL ObpComputeHashIndex(IN POBJECT_STRING ElementName);
ulong_xt FASTCALL ObpComputeHashIndex(IN POBJECT_STRING ElementName);
BOOLEAN ObpLookupElementNameInDirectory(
boolean_xt ObpLookupElementNameInDirectory(
IN POBJECT_DIRECTORY Directory,
IN POBJECT_STRING ElementName,
IN BOOLEAN ResolveSymbolicLink,
IN boolean_xt ResolveSymbolicLink,
OUT PVOID *ReturnedObject
);
// ******************************************************************
// * 0x00EF - ObCreateObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(239) NTSTATUS NTAPI ObCreateObject
XBSYSAPI EXPORTNUM(239) ntstatus_xt NTAPI ObCreateObject
(
IN POBJECT_TYPE ObjectType,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN ULONG ObjectBodySize,
IN ulong_xt ObjectBodySize,
OUT PVOID *Object
);
@ -107,18 +112,18 @@ XBSYSAPI EXPORTNUM(240) OBJECT_TYPE ObDirectoryObjectType;
// ******************************************************************
// * 0x00F1 - ObInsertObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(241) NTSTATUS NTAPI ObInsertObject
XBSYSAPI EXPORTNUM(241) ntstatus_xt NTAPI ObInsertObject
(
IN PVOID Object,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN ULONG ObjectPointerBias,
IN ulong_xt ObjectPointerBias,
OUT PHANDLE Handle
);
// ******************************************************************
// * 0x00F2 - ObMakeTemporaryObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(242) VOID NTAPI ObMakeTemporaryObject
XBSYSAPI EXPORTNUM(242) void_xt NTAPI ObMakeTemporaryObject
(
IN PVOID Object
);
@ -126,7 +131,7 @@ XBSYSAPI EXPORTNUM(242) VOID NTAPI ObMakeTemporaryObject
// ******************************************************************
// * 0x00F3 - ObOpenObjectByName()
// ******************************************************************
XBSYSAPI EXPORTNUM(243) NTSTATUS NTAPI ObOpenObjectByName
XBSYSAPI EXPORTNUM(243) ntstatus_xt NTAPI ObOpenObjectByName
(
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN POBJECT_TYPE ObjectType,
@ -137,7 +142,7 @@ XBSYSAPI EXPORTNUM(243) NTSTATUS NTAPI ObOpenObjectByName
// ******************************************************************
// * 0x00F4 - ObOpenObjectByPointer()
// ******************************************************************
XBSYSAPI EXPORTNUM(244) NTSTATUS NTAPI ObOpenObjectByPointer
XBSYSAPI EXPORTNUM(244) ntstatus_xt NTAPI ObOpenObjectByPointer
(
IN PVOID Object,
IN POBJECT_TYPE ObjectType,
@ -150,8 +155,8 @@ XBSYSAPI EXPORTNUM(244) NTSTATUS NTAPI ObOpenObjectByPointer
#define OB_HANDLES_PER_SEGMENT (OB_TABLES_PER_SEGMENT * OB_HANDLES_PER_TABLE)
typedef struct _OBJECT_HANDLE_TABLE {
LONG HandleCount;
LONG_PTR FirstFreeTableEntry;
long_xt HandleCount;
long_ptr_xt FirstFreeTableEntry;
HANDLE NextHandleNeedingPool;
PVOID **RootTable;
PVOID *BuiltinRootTable[OB_TABLES_PER_SEGMENT];
@ -165,7 +170,7 @@ XBSYSAPI EXPORTNUM(245) OBJECT_HANDLE_TABLE ObpObjectHandleTable;
// ******************************************************************
// * 0x00F6 - ObReferenceObjectByHandle()
// ******************************************************************
XBSYSAPI EXPORTNUM(246) NTSTATUS NTAPI ObReferenceObjectByHandle
XBSYSAPI EXPORTNUM(246) ntstatus_xt NTAPI ObReferenceObjectByHandle
(
IN HANDLE Handle,
IN POBJECT_TYPE ObjectType OPTIONAL,
@ -175,10 +180,10 @@ XBSYSAPI EXPORTNUM(246) NTSTATUS NTAPI ObReferenceObjectByHandle
// ******************************************************************
// * 0x00F7 - ObReferenceObjectByName()
// ******************************************************************
XBSYSAPI EXPORTNUM(247) NTSTATUS NTAPI ObReferenceObjectByName
XBSYSAPI EXPORTNUM(247) ntstatus_xt NTAPI ObReferenceObjectByName
(
IN POBJECT_STRING ObjectName,
IN ULONG Attributes,
IN ulong_xt Attributes,
IN POBJECT_TYPE ObjectType,
IN OUT PVOID ParseContext OPTIONAL,
OUT PVOID *Object
@ -187,7 +192,7 @@ XBSYSAPI EXPORTNUM(247) NTSTATUS NTAPI ObReferenceObjectByName
// ******************************************************************
// * 0x00F8 - ObReferenceObjectByPointer()
// ******************************************************************
XBSYSAPI EXPORTNUM(248) NTSTATUS NTAPI ObReferenceObjectByPointer
XBSYSAPI EXPORTNUM(248) ntstatus_xt NTAPI ObReferenceObjectByPointer
(
IN PVOID Object,
IN POBJECT_TYPE ObjectType
@ -201,7 +206,7 @@ XBSYSAPI EXPORTNUM(249) OBJECT_TYPE ObSymbolicLinkObjectType;
// ******************************************************************
// * 0x00FA - ObfDereferenceObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(250) VOID FASTCALL ObfDereferenceObject
XBSYSAPI EXPORTNUM(250) void_xt FASTCALL ObfDereferenceObject
(
IN PVOID Object
);
@ -209,11 +214,12 @@ XBSYSAPI EXPORTNUM(250) VOID FASTCALL ObfDereferenceObject
// ******************************************************************
// * 0x00FB - ObfReferenceObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(251) VOID FASTCALL ObfReferenceObject
XBSYSAPI EXPORTNUM(251) void_xt FASTCALL ObfReferenceObject
(
IN PVOID Object
);
}
#endif

View File

@ -12,41 +12,46 @@
#ifndef XBOXKRNL_PS_H
#define XBOXKRNL_PS_H
#include "types.h"
namespace xbox
{
#define PsGetCurrentThread() (CONTAINING_RECORD((KeGetCurrentThread()),ETHREAD,Tcb))
// ******************************************************************
// * PsCreateSystemThread
// ******************************************************************
XBSYSAPI EXPORTNUM(254) NTSTATUS NTAPI PsCreateSystemThread
XBSYSAPI EXPORTNUM(254) ntstatus_xt NTAPI PsCreateSystemThread
(
OUT PHANDLE ThreadHandle,
OUT PHANDLE ThreadId OPTIONAL,
IN PKSTART_ROUTINE StartRoutine,
IN PVOID StartContext,
IN BOOLEAN DebuggerThread
IN boolean_xt DebuggerThread
);
// ******************************************************************
// * PsCreateSystemThreadEx
// ******************************************************************
XBSYSAPI EXPORTNUM(255) NTSTATUS NTAPI PsCreateSystemThreadEx
XBSYSAPI EXPORTNUM(255) ntstatus_xt NTAPI PsCreateSystemThreadEx
(
OUT PHANDLE ThreadHandle,
IN ULONG ThreadExtensionSize,
IN ULONG KernelStackSize,
IN ULONG TlsDataSize,
IN ulong_xt ThreadExtensionSize,
IN ulong_xt KernelStackSize,
IN ulong_xt TlsDataSize,
OUT PHANDLE ThreadId OPTIONAL,
IN PKSTART_ROUTINE StartRoutine,
IN PVOID StartContext,
IN BOOLEAN CreateSuspended,
IN BOOLEAN DebuggerThread,
IN boolean_xt CreateSuspended,
IN boolean_xt DebuggerThread,
IN PKSYSTEM_ROUTINE SystemRoutine OPTIONAL
);
// ******************************************************************
// * 0x0100 - PsQueryStatistics()
// ******************************************************************
XBSYSAPI EXPORTNUM(256) NTSTATUS NTAPI PsQueryStatistics
XBSYSAPI EXPORTNUM(256) ntstatus_xt NTAPI PsQueryStatistics
(
IN OUT PPS_STATISTICS ProcessStatistics
);
@ -54,7 +59,7 @@ XBSYSAPI EXPORTNUM(256) NTSTATUS NTAPI PsQueryStatistics
// ******************************************************************
// * PsSetCreateThreadNotifyRoutine
// ******************************************************************
XBSYSAPI EXPORTNUM(257) NTSTATUS NTAPI PsSetCreateThreadNotifyRoutine
XBSYSAPI EXPORTNUM(257) ntstatus_xt NTAPI PsSetCreateThreadNotifyRoutine
(
IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine
);
@ -62,10 +67,12 @@ XBSYSAPI EXPORTNUM(257) NTSTATUS NTAPI PsSetCreateThreadNotifyRoutine
// ******************************************************************
// * PsTerminateSystemThread
// ******************************************************************
XBSYSAPI EXPORTNUM(258) VOID NTAPI PsTerminateSystemThread(IN NTSTATUS ExitStatus);
XBSYSAPI EXPORTNUM(258) void_xt NTAPI PsTerminateSystemThread(IN ntstatus_xt ExitStatus);
XBSYSAPI EXPORTNUM(259) volatile OBJECT_TYPE PsThreadObjectType;
}
#endif

View File

@ -12,32 +12,37 @@
#ifndef XBOXKRNL_RTL_H
#define XBOXKRNL_RTL_H
#include "types.h"
namespace xbox
{
// ******************************************************************
// * RtlAnsiStringToUnicodeString
// ******************************************************************
XBSYSAPI EXPORTNUM(260) NTSTATUS NTAPI RtlAnsiStringToUnicodeString
XBSYSAPI EXPORTNUM(260) ntstatus_xt NTAPI RtlAnsiStringToUnicodeString
(
PUNICODE_STRING DestinationString,
PSTRING SourceString,
UCHAR AllocateDestinationString
uchar_xt AllocateDestinationString
);
// ******************************************************************
// * RtlAppendStringToString
// ******************************************************************
XBSYSAPI EXPORTNUM(261) NTSTATUS NTAPI RtlAppendStringToString
XBSYSAPI EXPORTNUM(261) ntstatus_xt NTAPI RtlAppendStringToString
(
IN OUT PSTRING Destination,
IN PSTRING Source
);
XBSYSAPI EXPORTNUM(262) NTSTATUS NTAPI RtlAppendUnicodeStringToString
XBSYSAPI EXPORTNUM(262) ntstatus_xt NTAPI RtlAppendUnicodeStringToString
(
IN OUT PUNICODE_STRING Destination,
IN PUNICODE_STRING Source
);
XBSYSAPI EXPORTNUM(263) NTSTATUS NTAPI RtlAppendUnicodeToString
XBSYSAPI EXPORTNUM(263) ntstatus_xt NTAPI RtlAppendUnicodeToString
(
IN OUT PUNICODE_STRING Destination,
IN LPCWSTR Source
@ -46,18 +51,18 @@ XBSYSAPI EXPORTNUM(263) NTSTATUS NTAPI RtlAppendUnicodeToString
// ******************************************************************
// * RtlAssert
// ******************************************************************
XBSYSAPI EXPORTNUM(264) VOID NTAPI RtlAssert
XBSYSAPI EXPORTNUM(264) void_xt NTAPI RtlAssert
(
PCHAR FailedAssertion,
PCHAR FileName,
ULONG LineNumber,
ulong_xt LineNumber,
PCHAR Message
);
// ******************************************************************
// * 0x0109 - RtlCaptureContext()
// ******************************************************************
XBSYSAPI EXPORTNUM(265) VOID NTAPI RtlCaptureContext
XBSYSAPI EXPORTNUM(265) void_xt NTAPI RtlCaptureContext
(
IN PCONTEXT ContextRecord
);
@ -65,10 +70,10 @@ XBSYSAPI EXPORTNUM(265) VOID NTAPI RtlCaptureContext
// ******************************************************************
// * 0x010A - RtlCaptureStackBackTrace()
// ******************************************************************
XBSYSAPI EXPORTNUM(266) USHORT NTAPI RtlCaptureStackBackTrace
XBSYSAPI EXPORTNUM(266) ushort_xt NTAPI RtlCaptureStackBackTrace
(
IN ULONG FramesToSkip,
IN ULONG FramesToCapture,
IN ulong_xt FramesToSkip,
IN ulong_xt FramesToCapture,
OUT PVOID *BackTrace,
OUT PULONG BackTraceHash
);
@ -76,10 +81,10 @@ XBSYSAPI EXPORTNUM(266) USHORT NTAPI RtlCaptureStackBackTrace
// ******************************************************************
// * RtlCharToInteger
// ******************************************************************
XBSYSAPI EXPORTNUM(267) NTSTATUS NTAPI RtlCharToInteger
XBSYSAPI EXPORTNUM(267) ntstatus_xt NTAPI RtlCharToInteger
(
IN PCSZ String,
IN ULONG Base OPTIONAL,
IN ulong_xt Base OPTIONAL,
OUT PULONG Value
);
@ -90,41 +95,41 @@ XBSYSAPI EXPORTNUM(267) NTSTATUS NTAPI RtlCharToInteger
// * compare block of memory, return number of equivalent bytes.
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(268) SIZE_T NTAPI RtlCompareMemory
XBSYSAPI EXPORTNUM(268) size_xt NTAPI RtlCompareMemory
(
IN CONST VOID *Source1,
IN CONST VOID *Source2,
IN SIZE_T Length
IN CONST void_xt *Source1,
IN CONST void_xt *Source2,
IN size_xt Length
);
// ******************************************************************
// * 0x010D - RtlCompareMemoryUlong()
// ******************************************************************
XBSYSAPI EXPORTNUM(269) SIZE_T NTAPI RtlCompareMemoryUlong
XBSYSAPI EXPORTNUM(269) size_xt NTAPI RtlCompareMemoryUlong
(
IN PVOID Source,
IN SIZE_T Length,
IN ULONG Pattern
IN size_xt Length,
IN ulong_xt Pattern
);
// ******************************************************************
// * 0x010E - RtlCompareString()
// ******************************************************************
XBSYSAPI EXPORTNUM(270) LONG NTAPI RtlCompareString
XBSYSAPI EXPORTNUM(270) long_xt NTAPI RtlCompareString
(
IN PSTRING String1,
IN PSTRING String2,
IN BOOLEAN CaseInSensitive
IN boolean_xt CaseInSensitive
);
// ******************************************************************
// * 0x010F - RtlCompareUnicodeString()
// ******************************************************************
XBSYSAPI EXPORTNUM(271) LONG NTAPI RtlCompareUnicodeString
XBSYSAPI EXPORTNUM(271) long_xt NTAPI RtlCompareUnicodeString
(
IN PUNICODE_STRING String1,
IN PUNICODE_STRING String2,
IN BOOLEAN CaseInSensitive
IN boolean_xt CaseInSensitive
);
// ******************************************************************
@ -134,7 +139,7 @@ XBSYSAPI EXPORTNUM(271) LONG NTAPI RtlCompareUnicodeString
// * Copy Source to Destination
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(272) VOID NTAPI RtlCopyString
XBSYSAPI EXPORTNUM(272) void_xt NTAPI RtlCopyString
(
OUT PSTRING DestinationString,
IN PSTRING SourceString OPTIONAL
@ -143,7 +148,7 @@ XBSYSAPI EXPORTNUM(272) VOID NTAPI RtlCopyString
// ******************************************************************
// * 0x0111 - RtlCopyUnicodeString()
// ******************************************************************
XBSYSAPI EXPORTNUM(273) VOID NTAPI RtlCopyUnicodeString
XBSYSAPI EXPORTNUM(273) void_xt NTAPI RtlCopyUnicodeString
(
OUT PUNICODE_STRING DestinationString,
IN PUNICODE_STRING SourceString OPTIONAL
@ -152,7 +157,7 @@ XBSYSAPI EXPORTNUM(273) VOID NTAPI RtlCopyUnicodeString
// ******************************************************************
// * 0x0112 - RtlCreateUnicodeString()
// ******************************************************************
XBSYSAPI EXPORTNUM(274) BOOLEAN NTAPI RtlCreateUnicodeString
XBSYSAPI EXPORTNUM(274) boolean_xt NTAPI RtlCreateUnicodeString
(
OUT PUNICODE_STRING DestinationString,
IN PCWSTR SourceString
@ -161,25 +166,25 @@ XBSYSAPI EXPORTNUM(274) BOOLEAN NTAPI RtlCreateUnicodeString
// ******************************************************************
// * 0x0113 - RtlDowncaseUnicodeChar()
// ******************************************************************
XBSYSAPI EXPORTNUM(275) WCHAR NTAPI RtlDowncaseUnicodeChar
XBSYSAPI EXPORTNUM(275) wchar_xt NTAPI RtlDowncaseUnicodeChar
(
IN WCHAR SourceCharacter
IN wchar_xt SourceCharacter
);
// ******************************************************************
// * 0x0114 - RtlDowncaseUnicodeString()
// ******************************************************************
XBSYSAPI EXPORTNUM(276) NTSTATUS NTAPI RtlDowncaseUnicodeString
XBSYSAPI EXPORTNUM(276) ntstatus_xt NTAPI RtlDowncaseUnicodeString
(
OUT PUNICODE_STRING DestinationString,
IN PUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString
IN boolean_xt AllocateDestinationString
);
// ******************************************************************
// * RtlEnterCriticalSection
// ******************************************************************
XBSYSAPI EXPORTNUM(277) VOID NTAPI RtlEnterCriticalSection
XBSYSAPI EXPORTNUM(277) void_xt NTAPI RtlEnterCriticalSection
(
IN PRTL_CRITICAL_SECTION CriticalSection
);
@ -187,7 +192,7 @@ XBSYSAPI EXPORTNUM(277) VOID NTAPI RtlEnterCriticalSection
// ******************************************************************
// * 0x0116 - RtlEnterCriticalSectionAndRegion()
// ******************************************************************
XBSYSAPI EXPORTNUM(278) VOID NTAPI RtlEnterCriticalSectionAndRegion
XBSYSAPI EXPORTNUM(278) void_xt NTAPI RtlEnterCriticalSectionAndRegion
(
IN PRTL_CRITICAL_SECTION CriticalSection
);
@ -195,21 +200,21 @@ XBSYSAPI EXPORTNUM(278) VOID NTAPI RtlEnterCriticalSectionAndRegion
// ******************************************************************
// * 0x0117 - RtlEqualString()
// ******************************************************************
XBSYSAPI EXPORTNUM(279) BOOLEAN NTAPI RtlEqualString
XBSYSAPI EXPORTNUM(279) boolean_xt NTAPI RtlEqualString
(
IN PSTRING String1,
IN PSTRING String2,
IN BOOLEAN CaseInsensitive
IN boolean_xt CaseInsensitive
);
// ******************************************************************
// * 0x0118 - RtlEqualUnicodeString()
// ******************************************************************
XBSYSAPI EXPORTNUM(280) BOOLEAN NTAPI RtlEqualUnicodeString
XBSYSAPI EXPORTNUM(280) boolean_xt NTAPI RtlEqualUnicodeString
(
IN PUNICODE_STRING String1,
IN PUNICODE_STRING String2,
IN BOOLEAN CaseInSensitive
IN boolean_xt CaseInSensitive
);
// ******************************************************************
@ -218,7 +223,7 @@ XBSYSAPI EXPORTNUM(280) BOOLEAN NTAPI RtlEqualUnicodeString
XBSYSAPI EXPORTNUM(281) LARGE_INTEGER NTAPI RtlExtendedIntegerMultiply
(
IN LARGE_INTEGER Multiplicand,
IN LONG Multiplier
IN long_xt Multiplier
);
// ******************************************************************
@ -227,7 +232,7 @@ XBSYSAPI EXPORTNUM(281) LARGE_INTEGER NTAPI RtlExtendedIntegerMultiply
XBSYSAPI EXPORTNUM(282) LARGE_INTEGER NTAPI RtlExtendedLargeIntegerDivide
(
IN LARGE_INTEGER Dividend,
IN ULONG Divisor,
IN ulong_xt Divisor,
IN PULONG Remainder // OUT? OPTIONAL?
);
@ -238,33 +243,33 @@ XBSYSAPI EXPORTNUM(283) LARGE_INTEGER NTAPI RtlExtendedMagicDivide
(
IN LARGE_INTEGER Dividend,
IN LARGE_INTEGER MagicDivisor,
IN CCHAR ShiftCount
IN cchar_xt ShiftCount
);
// ******************************************************************
// * 0x011C - RtlFillMemory()
// ******************************************************************
XBSYSAPI EXPORTNUM(284) VOID NTAPI RtlFillMemory
XBSYSAPI EXPORTNUM(284) void_xt NTAPI RtlFillMemory
(
IN VOID UNALIGNED *Destination,
IN DWORD Length,
IN BYTE Fill
IN void_xt UNALIGNED *Destination,
IN dword_xt Length,
IN byte_xt Fill
);
// ******************************************************************
// * 0x011D - RtlFillMemoryUlong()
// ******************************************************************
XBSYSAPI EXPORTNUM(285) VOID NTAPI RtlFillMemoryUlong
XBSYSAPI EXPORTNUM(285) void_xt NTAPI RtlFillMemoryUlong
(
IN PVOID Destination,
IN SIZE_T Length,
IN ULONG Pattern
IN size_xt Length,
IN ulong_xt Pattern
);
// ******************************************************************
// * RtlFreeAnsiString
// ******************************************************************
XBSYSAPI EXPORTNUM(286) VOID NTAPI RtlFreeAnsiString
XBSYSAPI EXPORTNUM(286) void_xt NTAPI RtlFreeAnsiString
(
IN OUT PANSI_STRING AnsiString
);
@ -272,7 +277,7 @@ XBSYSAPI EXPORTNUM(286) VOID NTAPI RtlFreeAnsiString
// ******************************************************************
// * 0x011F - RtlFreeUnicodeString()
// ******************************************************************
XBSYSAPI EXPORTNUM(287) VOID NTAPI RtlFreeUnicodeString
XBSYSAPI EXPORTNUM(287) void_xt NTAPI RtlFreeUnicodeString
(
IN OUT PUNICODE_STRING UnicodeString
);
@ -280,7 +285,7 @@ XBSYSAPI EXPORTNUM(287) VOID NTAPI RtlFreeUnicodeString
// ******************************************************************
// * 0x0120 - RtlGetCallersAddress()
// ******************************************************************
XBSYSAPI EXPORTNUM(288) VOID NTAPI RtlGetCallersAddress
XBSYSAPI EXPORTNUM(288) void_xt NTAPI RtlGetCallersAddress
(
OUT PVOID *CallersAddress,
OUT PVOID *CallersCaller
@ -293,13 +298,13 @@ XBSYSAPI EXPORTNUM(288) VOID NTAPI RtlGetCallersAddress
// * Initialize a counted ANSI string.
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(289) VOID NTAPI RtlInitAnsiString
XBSYSAPI EXPORTNUM(289) void_xt NTAPI RtlInitAnsiString
(
IN OUT PANSI_STRING DestinationString,
IN PCSZ SourceString
);
XBSYSAPI EXPORTNUM(290) VOID NTAPI RtlInitUnicodeString
XBSYSAPI EXPORTNUM(290) void_xt NTAPI RtlInitUnicodeString
(
IN OUT PUNICODE_STRING DestinationString,
IN PCWSTR SourceString
@ -308,7 +313,7 @@ XBSYSAPI EXPORTNUM(290) VOID NTAPI RtlInitUnicodeString
// ******************************************************************
// * RtlInitializeCriticalSection
// ******************************************************************
XBSYSAPI EXPORTNUM(291) VOID NTAPI RtlInitializeCriticalSection
XBSYSAPI EXPORTNUM(291) void_xt NTAPI RtlInitializeCriticalSection
(
IN PRTL_CRITICAL_SECTION CriticalSection
);
@ -316,28 +321,28 @@ XBSYSAPI EXPORTNUM(291) VOID NTAPI RtlInitializeCriticalSection
// ******************************************************************
// * 0x0124 - RtlIntegerToChar()
// ******************************************************************
XBSYSAPI EXPORTNUM(292) NTSTATUS NTAPI RtlIntegerToChar
XBSYSAPI EXPORTNUM(292) ntstatus_xt NTAPI RtlIntegerToChar
(
IN ULONG Value,
IN ULONG Base,
IN LONG OutputLength,
IN ulong_xt Value,
IN ulong_xt Base,
IN long_xt OutputLength,
IN PSZ String
);
// ******************************************************************
// * 0x0125 - RtlIntegerToUnicodeString()
// ******************************************************************
XBSYSAPI EXPORTNUM(293) NTSTATUS NTAPI RtlIntegerToUnicodeString
XBSYSAPI EXPORTNUM(293) ntstatus_xt NTAPI RtlIntegerToUnicodeString
(
IN ULONG Value,
IN ULONG Base,
IN ulong_xt Value,
IN ulong_xt Base,
IN PUNICODE_STRING String
);
// ******************************************************************
// * RtlLeaveCriticalSection
// ******************************************************************
XBSYSAPI EXPORTNUM(294) VOID NTAPI RtlLeaveCriticalSection
XBSYSAPI EXPORTNUM(294) void_xt NTAPI RtlLeaveCriticalSection
(
IN PRTL_CRITICAL_SECTION CriticalSection
);
@ -345,7 +350,7 @@ XBSYSAPI EXPORTNUM(294) VOID NTAPI RtlLeaveCriticalSection
// ******************************************************************
// * 0x0127 - RtlLeaveCriticalSectionAndRegion()
// ******************************************************************
XBSYSAPI EXPORTNUM(295) VOID NTAPI RtlLeaveCriticalSectionAndRegion
XBSYSAPI EXPORTNUM(295) void_xt NTAPI RtlLeaveCriticalSectionAndRegion
(
IN PRTL_CRITICAL_SECTION CriticalSection
);
@ -353,12 +358,12 @@ XBSYSAPI EXPORTNUM(295) VOID NTAPI RtlLeaveCriticalSectionAndRegion
// ******************************************************************
// * RtlLowerChar
// ******************************************************************
XBSYSAPI EXPORTNUM(296) CHAR NTAPI RtlLowerChar(CHAR Character);
XBSYSAPI EXPORTNUM(296) char_xt NTAPI RtlLowerChar(char_xt Character);
// ******************************************************************
// * 0x0129 - RtlMapGenericMask()
// ******************************************************************
XBSYSAPI EXPORTNUM(297) VOID NTAPI RtlMapGenericMask
XBSYSAPI EXPORTNUM(297) void_xt NTAPI RtlMapGenericMask
(
IN PACCESS_MASK AccessMask,
IN PGENERIC_MAPPING GenericMapping
@ -372,47 +377,47 @@ XBSYSAPI EXPORTNUM(297) VOID NTAPI RtlMapGenericMask
// * in 4-byte blocks, followed by any remaining blocks.
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(298) VOID NTAPI RtlMoveMemory
XBSYSAPI EXPORTNUM(298) void_xt NTAPI RtlMoveMemory
(
IN VOID UNALIGNED *Destination,
IN CONST VOID UNALIGNED *Source,
IN SIZE_T Length
IN void_xt UNALIGNED *Destination,
IN CONST void_xt UNALIGNED *Source,
IN size_xt Length
);
// ******************************************************************
// * 0x012B - RtlMultiByteToUnicodeN()
// ******************************************************************
XBSYSAPI EXPORTNUM(299) NTSTATUS NTAPI RtlMultiByteToUnicodeN
XBSYSAPI EXPORTNUM(299) ntstatus_xt NTAPI RtlMultiByteToUnicodeN
(
IN PWSTR UnicodeString,
IN ULONG MaxBytesInUnicodeString,
IN ulong_xt MaxBytesInUnicodeString,
IN PULONG BytesInUnicodeString,
IN PCHAR MultiByteString,
IN ULONG BytesInMultiByteString
IN ulong_xt BytesInMultiByteString
);
// ******************************************************************
// * 0x012C - RtlMultiByteToUnicodeSize()
// ******************************************************************
XBSYSAPI EXPORTNUM(300) NTSTATUS NTAPI RtlMultiByteToUnicodeSize
XBSYSAPI EXPORTNUM(300) ntstatus_xt NTAPI RtlMultiByteToUnicodeSize
(
IN PULONG BytesInUnicodeString,
IN PCHAR MultiByteString,
IN ULONG BytesInMultiByteString
IN ulong_xt BytesInMultiByteString
);
// ******************************************************************
// * RtlNtStatusToDosError
// ******************************************************************
XBSYSAPI EXPORTNUM(301) ULONG NTAPI RtlNtStatusToDosError
XBSYSAPI EXPORTNUM(301) ulong_xt NTAPI RtlNtStatusToDosError
(
IN NTSTATUS Status
IN ntstatus_xt Status
);
// ******************************************************************
// * 0x012E - RtlRaiseException()
// ******************************************************************
XBSYSAPI EXPORTNUM(302) VOID NTAPI RtlRaiseException
XBSYSAPI EXPORTNUM(302) void_xt NTAPI RtlRaiseException
(
IN PEXCEPTION_RECORD ExceptionRecord
);
@ -420,15 +425,15 @@ XBSYSAPI EXPORTNUM(302) VOID NTAPI RtlRaiseException
// ******************************************************************
// * 0x012F - RtlRaiseStatus()
// ******************************************************************
XBSYSAPI EXPORTNUM(303) VOID NTAPI RtlRaiseStatus
XBSYSAPI EXPORTNUM(303) void_xt NTAPI RtlRaiseStatus
(
IN NTSTATUS Status
IN ntstatus_xt Status
);
// ******************************************************************
// * RtlTimeFieldsToTime
// ******************************************************************
XBSYSAPI EXPORTNUM(304) BOOLEAN NTAPI RtlTimeFieldsToTime
XBSYSAPI EXPORTNUM(304) boolean_xt NTAPI RtlTimeFieldsToTime
(
IN PTIME_FIELDS TimeFields,
OUT PLARGE_INTEGER Time
@ -437,7 +442,7 @@ XBSYSAPI EXPORTNUM(304) BOOLEAN NTAPI RtlTimeFieldsToTime
// ******************************************************************
// * RtlTimeToTimeFields
// ******************************************************************
XBSYSAPI EXPORTNUM(305) VOID NTAPI RtlTimeToTimeFields
XBSYSAPI EXPORTNUM(305) void_xt NTAPI RtlTimeToTimeFields
(
IN PLARGE_INTEGER Time,
OUT PTIME_FIELDS TimeFields
@ -446,7 +451,7 @@ XBSYSAPI EXPORTNUM(305) VOID NTAPI RtlTimeToTimeFields
// ******************************************************************
// * RtlTryEnterCriticalSection
// ******************************************************************
XBSYSAPI EXPORTNUM(306) BOOLEAN NTAPI RtlTryEnterCriticalSection
XBSYSAPI EXPORTNUM(306) boolean_xt NTAPI RtlTryEnterCriticalSection
(
IN PRTL_CRITICAL_SECTION CriticalSection
);
@ -454,57 +459,57 @@ XBSYSAPI EXPORTNUM(306) BOOLEAN NTAPI RtlTryEnterCriticalSection
// ******************************************************************
// * 0x0133 - RtlUlongByteSwap()
// ******************************************************************
XBSYSAPI EXPORTNUM(307) ULONG FASTCALL RtlUlongByteSwap
XBSYSAPI EXPORTNUM(307) ulong_xt FASTCALL RtlUlongByteSwap
(
IN ULONG Source
IN ulong_xt Source
);
// ******************************************************************
// * RtlUnicodeStringToAnsiString
// ******************************************************************
XBSYSAPI EXPORTNUM(308) NTSTATUS NTAPI RtlUnicodeStringToAnsiString
XBSYSAPI EXPORTNUM(308) ntstatus_xt NTAPI RtlUnicodeStringToAnsiString
(
IN OUT PSTRING DestinationString,
IN PUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString
IN boolean_xt AllocateDestinationString
);
// ******************************************************************
// * 0x0135 - RtlUnicodeStringToInteger()
// ******************************************************************
XBSYSAPI EXPORTNUM(309) NTSTATUS NTAPI RtlUnicodeStringToInteger
XBSYSAPI EXPORTNUM(309) ntstatus_xt NTAPI RtlUnicodeStringToInteger
(
IN PUNICODE_STRING String,
IN ULONG Base,
IN ulong_xt Base,
IN PULONG Value
);
// ******************************************************************
// * 0x0136 - RtlUnicodeToMultiByteN()
// ******************************************************************
XBSYSAPI EXPORTNUM(310) NTSTATUS NTAPI RtlUnicodeToMultiByteN
XBSYSAPI EXPORTNUM(310) ntstatus_xt NTAPI RtlUnicodeToMultiByteN
(
IN PCHAR MultiByteString,
IN ULONG MaxBytesInMultiByteString,
IN ulong_xt MaxBytesInMultiByteString,
IN PULONG BytesInMultiByteString,
IN PWSTR UnicodeString,
IN ULONG BytesInUnicodeString
IN ulong_xt BytesInUnicodeString
);
// ******************************************************************
// * 0x0137 - RtlUnicodeToMultiByteSize()
// ******************************************************************
XBSYSAPI EXPORTNUM(311) NTSTATUS NTAPI RtlUnicodeToMultiByteSize
XBSYSAPI EXPORTNUM(311) ntstatus_xt NTAPI RtlUnicodeToMultiByteSize
(
IN PULONG BytesInMultiByteString,
IN PWSTR UnicodeString,
IN ULONG BytesInUnicodeString
IN ulong_xt BytesInUnicodeString
);
// ******************************************************************
// * 0x0138 - RtlUnwind()
// ******************************************************************
XBSYSAPI EXPORTNUM(312) VOID NTAPI RtlUnwind
XBSYSAPI EXPORTNUM(312) void_xt NTAPI RtlUnwind
(
IN PVOID TargetFrame OPTIONAL,
IN PVOID TargetIp OPTIONAL,
@ -515,45 +520,45 @@ XBSYSAPI EXPORTNUM(312) VOID NTAPI RtlUnwind
// ******************************************************************
// * 0x0139 - RtlUpcaseUnicodeChar()
// ******************************************************************
XBSYSAPI EXPORTNUM(313) WCHAR NTAPI RtlUpcaseUnicodeChar
XBSYSAPI EXPORTNUM(313) wchar_xt NTAPI RtlUpcaseUnicodeChar
(
IN WCHAR SourceCharacter
IN wchar_xt SourceCharacter
);
// ******************************************************************
// * 0x013A - RtlUpcaseUnicodeString()
// ******************************************************************
XBSYSAPI EXPORTNUM(314) NTSTATUS NTAPI RtlUpcaseUnicodeString
XBSYSAPI EXPORTNUM(314) ntstatus_xt NTAPI RtlUpcaseUnicodeString
(
OUT PUNICODE_STRING DestinationString,
IN PUNICODE_STRING SourceString,
IN BOOLEAN AllocateDestinationString
IN boolean_xt AllocateDestinationString
);
// ******************************************************************
// * 0x013B - RtlUpcaseUnicodeToMultiByteN()
// ******************************************************************
XBSYSAPI EXPORTNUM(315) NTSTATUS NTAPI RtlUpcaseUnicodeToMultiByteN
XBSYSAPI EXPORTNUM(315) ntstatus_xt NTAPI RtlUpcaseUnicodeToMultiByteN
(
IN OUT PCHAR MultiByteString,
IN ULONG MaxBytesInMultiByteString,
IN ulong_xt MaxBytesInMultiByteString,
IN PULONG BytesInMultiByteString,
IN PWSTR UnicodeString,
IN ULONG BytesInUnicodeString
IN ulong_xt BytesInUnicodeString
);
// ******************************************************************
// * 0x013C - RtlUpperChar()
// ******************************************************************
XBSYSAPI EXPORTNUM(316) CHAR NTAPI RtlUpperChar
XBSYSAPI EXPORTNUM(316) char_xt NTAPI RtlUpperChar
(
CHAR Character
char_xt Character
);
// ******************************************************************
// * 0x013D - RtlUpperString()
// ******************************************************************
XBSYSAPI EXPORTNUM(317) VOID NTAPI RtlUpperString
XBSYSAPI EXPORTNUM(317) void_xt NTAPI RtlUpperString
(
OUT PSTRING DestinationString,
IN PSTRING SourceString
@ -562,19 +567,19 @@ XBSYSAPI EXPORTNUM(317) VOID NTAPI RtlUpperString
// ******************************************************************
// * 0x013E - RtlUshortByteSwap()
// ******************************************************************
XBSYSAPI EXPORTNUM(318) USHORT FASTCALL RtlUshortByteSwap
XBSYSAPI EXPORTNUM(318) ushort_xt FASTCALL RtlUshortByteSwap
(
IN USHORT Source
IN ushort_xt Source
);
// ******************************************************************
// * 0x013F - RtlWalkFrameChain
// ******************************************************************
XBSYSAPI EXPORTNUM(319) ULONG NTAPI RtlWalkFrameChain
XBSYSAPI EXPORTNUM(319) ulong_xt NTAPI RtlWalkFrameChain
(
OUT PVOID *Callers,
IN ULONG Count,
IN ULONG Flags
IN ulong_xt Count,
IN ulong_xt Flags
);
// ******************************************************************
@ -584,22 +589,24 @@ XBSYSAPI EXPORTNUM(319) ULONG NTAPI RtlWalkFrameChain
// * Fill a block of memory with zeros.
// *
// ******************************************************************
XBSYSAPI EXPORTNUM(320) VOID NTAPI RtlZeroMemory
XBSYSAPI EXPORTNUM(320) void_xt NTAPI RtlZeroMemory
(
IN VOID UNALIGNED *Destination,
IN SIZE_T Length
IN void_xt UNALIGNED *Destination,
IN size_xt Length
);
// ******************************************************************
// * 0x0160 - RtlRip
// ******************************************************************
XBSYSAPI EXPORTNUM(352) VOID NTAPI RtlRip
XBSYSAPI EXPORTNUM(352) void_xt NTAPI RtlRip
(
PCHAR ApiName,
PCHAR Expression,
PCHAR Message
);
}
#endif

View File

@ -12,6 +12,11 @@
#ifndef XBOX_H
#define XBOX_H
#include "types.h"
namespace xbox
{
#define AV_PACK_NONE 0x00000000
#define AV_PACK_STANDARD 0x00000001
#define AV_PACK_RFU 0x00000002
@ -73,7 +78,7 @@
#define AV_OPTION_CGMS 18
#define AV_OPTION_WIDESCREEN 19
VOID InitializeFscCacheEvent();
void_xt InitializeFscCacheEvent();
// ******************************************************************
// * 0x0001 - AvGetSavedDataAddress()
@ -83,31 +88,31 @@ XBSYSAPI EXPORTNUM(1) PVOID NTAPI AvGetSavedDataAddress(void);
// ******************************************************************
// * 0x0002 - AvSendTVEncoderOption()
// ******************************************************************
XBSYSAPI EXPORTNUM(2) VOID NTAPI AvSendTVEncoderOption
XBSYSAPI EXPORTNUM(2) void_xt NTAPI AvSendTVEncoderOption
(
IN PVOID RegisterBase,
IN ULONG Option,
IN ULONG Param,
OUT ULONG *Result
IN ulong_xt Option,
IN ulong_xt Param,
OUT ulong_xt *Result
);
// ******************************************************************
// * 0x0003 - AvSetDisplayMode()
// ******************************************************************
XBSYSAPI EXPORTNUM(3) ULONG NTAPI AvSetDisplayMode
XBSYSAPI EXPORTNUM(3) ulong_xt NTAPI AvSetDisplayMode
(
IN PVOID RegisterBase,
IN ULONG Step,
IN ULONG Mode,
IN ULONG Format,
IN ULONG Pitch,
IN ULONG FrameBuffer
IN ulong_xt Step,
IN ulong_xt Mode,
IN ulong_xt Format,
IN ulong_xt Pitch,
IN ulong_xt FrameBuffer
);
// ******************************************************************
// * 0x0004 - AvSetSavedDataAddress()
// ******************************************************************
XBSYSAPI EXPORTNUM(4) VOID NTAPI AvSetSavedDataAddress
XBSYSAPI EXPORTNUM(4) void_xt NTAPI AvSetSavedDataAddress
(
IN PVOID Address
);
@ -115,51 +120,51 @@ XBSYSAPI EXPORTNUM(4) VOID NTAPI AvSetSavedDataAddress
// ******************************************************************
// * 0x0023 - FscGetCacheSize()
// ******************************************************************
XBSYSAPI EXPORTNUM(35) ULONG NTAPI FscGetCacheSize();
XBSYSAPI EXPORTNUM(35) ulong_xt NTAPI FscGetCacheSize();
// ******************************************************************
// * 0x0024 - FscInvalidateIdleBlocks()
// ******************************************************************
XBSYSAPI EXPORTNUM(36) VOID NTAPI FscInvalidateIdleBlocks();
XBSYSAPI EXPORTNUM(36) void_xt NTAPI FscInvalidateIdleBlocks();
// ******************************************************************
// * 0x0025 - FscSetCacheSize()
// ******************************************************************
XBSYSAPI EXPORTNUM(37) NTSTATUS NTAPI FscSetCacheSize
XBSYSAPI EXPORTNUM(37) ntstatus_xt NTAPI FscSetCacheSize
(
ULONG NumberOfCachePages
ulong_xt NumberOfCachePages
);
// ******************************************************************
// * 0x0058 - KdDebuggerEnabled
// ******************************************************************
XBSYSAPI EXPORTNUM(88) BOOLEAN KdDebuggerEnabled;
XBSYSAPI EXPORTNUM(88) boolean_xt KdDebuggerEnabled;
// ******************************************************************
// * 0x0059 - KdDebuggerNotPresent
// ******************************************************************
XBSYSAPI EXPORTNUM(89) BOOLEAN KdDebuggerNotPresent;
XBSYSAPI EXPORTNUM(89) boolean_xt KdDebuggerNotPresent;
// ******************************************************************
// * 0x00A0 - KfRaiseIrql()
// ******************************************************************
XBSYSAPI EXPORTNUM(160) UCHAR FASTCALL KfRaiseIrql
XBSYSAPI EXPORTNUM(160) uchar_xt FASTCALL KfRaiseIrql
(
IN UCHAR NewIrql
IN uchar_xt NewIrql
);
// ******************************************************************
// * 0x00A1 - KfLowerIrql()
// ******************************************************************
XBSYSAPI EXPORTNUM(161) VOID FASTCALL KfLowerIrql
XBSYSAPI EXPORTNUM(161) void_xt FASTCALL KfLowerIrql
(
IN UCHAR NewIrql
IN uchar_xt NewIrql
);
// ******************************************************************
// * 0x00A2 - KiBugCheckData
// ******************************************************************
XBSYSAPI EXPORTNUM(162) ULONG_PTR KiBugCheckData[5];
XBSYSAPI EXPORTNUM(162) ulong_ptr_xt KiBugCheckData[5];
void KiLockDispatcherDatabase
(
@ -169,7 +174,7 @@ void KiLockDispatcherDatabase
// ******************************************************************
// * 0x00A3 - KiUnlockDispatcherDatabase()
// ******************************************************************
XBSYSAPI EXPORTNUM(163) VOID FASTCALL KiUnlockDispatcherDatabase
XBSYSAPI EXPORTNUM(163) void_xt FASTCALL KiUnlockDispatcherDatabase
(
IN KIRQL OldIrql
);
@ -182,24 +187,24 @@ XBSYSAPI EXPORTNUM(164) PLAUNCH_DATA_PAGE LaunchDataPage;
// ******************************************************************
// * 0x00FC - PhyGetLinkState()
// ******************************************************************
XBSYSAPI EXPORTNUM(252) DWORD NTAPI PhyGetLinkState
XBSYSAPI EXPORTNUM(252) dword_xt NTAPI PhyGetLinkState
(
IN ULONG Mode
IN ulong_xt Mode
);
// ******************************************************************
// * 0x00FD - PhyInitialize()
// ******************************************************************
XBSYSAPI EXPORTNUM(253) NTSTATUS NTAPI PhyInitialize
XBSYSAPI EXPORTNUM(253) ntstatus_xt NTAPI PhyInitialize
(
IN ULONG forceReset,
IN ulong_xt forceReset,
IN PVOID Parameter2
);
// ******************************************************************
// * 0x0141 - XboxEEPROMKey
// ******************************************************************
XBSYSAPI EXPORTNUM(321) UCHAR XboxEEPROMKey[16];
XBSYSAPI EXPORTNUM(321) uchar_xt XboxEEPROMKey[16];
// ******************************************************************
// * 0x0142 - XboxHardwareInfo
@ -209,13 +214,13 @@ XBSYSAPI EXPORTNUM(322) XBOX_HARDWARE_INFO XboxHardwareInfo;
// ******************************************************************
// * 0x0143 - XboxHDKey
// ******************************************************************
XBSYSAPI EXPORTNUM(323) UCHAR XboxHDKey[16];
XBSYSAPI EXPORTNUM(323) uchar_xt XboxHDKey[16];
typedef struct _XBOX_KRNL_VERSION {
USHORT Major;
USHORT Minor;
USHORT Build;
USHORT Qfe;
ushort_xt Major;
ushort_xt Minor;
ushort_xt Build;
ushort_xt Qfe;
} XBOX_KRNL_VERSION;
// ******************************************************************
@ -226,7 +231,7 @@ XBSYSAPI EXPORTNUM(324) XBOX_KRNL_VERSION XboxKrnlVersion;
// ******************************************************************
// * 0x0145 - XboxSignatureKey
// ******************************************************************
XBSYSAPI EXPORTNUM(325) BYTE XboxSignatureKey[16];
XBSYSAPI EXPORTNUM(325) byte_xt XboxSignatureKey[16];
// ******************************************************************
// * 0x0146 - XeImageFileName
@ -236,7 +241,7 @@ XBSYSAPI EXPORTNUM(326) OBJECT_STRING XeImageFileName;
// ******************************************************************
// * 0x0147 - XeLoadSection()
// ******************************************************************
XBSYSAPI EXPORTNUM(327) NTSTATUS NTAPI XeLoadSection
XBSYSAPI EXPORTNUM(327) ntstatus_xt NTAPI XeLoadSection
(
IN PXBEIMAGE_SECTION Section
);
@ -244,7 +249,7 @@ XBSYSAPI EXPORTNUM(327) NTSTATUS NTAPI XeLoadSection
// ******************************************************************
// * 0x0148 - XeUnloadSection()
// ******************************************************************
XBSYSAPI EXPORTNUM(328) NTSTATUS NTAPI XeUnloadSection
XBSYSAPI EXPORTNUM(328) ntstatus_xt NTAPI XeUnloadSection
(
IN PXBEIMAGE_SECTION Section
);
@ -252,7 +257,7 @@ XBSYSAPI EXPORTNUM(328) NTSTATUS NTAPI XeUnloadSection
// ******************************************************************
// * 0x014F - XcSHAInit()
// ******************************************************************
XBSYSAPI EXPORTNUM(335) VOID NTAPI XcSHAInit
XBSYSAPI EXPORTNUM(335) void_xt NTAPI XcSHAInit
(
IN PUCHAR pbSHAContext
);
@ -260,17 +265,17 @@ XBSYSAPI EXPORTNUM(335) VOID NTAPI XcSHAInit
// ******************************************************************
// * 0x0150 - XcSHAUpdate()
// ******************************************************************
XBSYSAPI EXPORTNUM(336) VOID NTAPI XcSHAUpdate
XBSYSAPI EXPORTNUM(336) void_xt NTAPI XcSHAUpdate
(
IN PUCHAR pbSHAContext,
IN PUCHAR pbInput,
IN ULONG dwInputLength
IN ulong_xt dwInputLength
);
// ******************************************************************
// * 0x0151 - XcSHAFinal()
// ******************************************************************
XBSYSAPI EXPORTNUM(337) VOID NTAPI XcSHAFinal
XBSYSAPI EXPORTNUM(337) void_xt NTAPI XcSHAFinal
(
IN PUCHAR pbSHAContext,
IN PUCHAR pbDigest
@ -279,41 +284,41 @@ XBSYSAPI EXPORTNUM(337) VOID NTAPI XcSHAFinal
// ******************************************************************
// * 0x0152 - XcRC4Key()
// ******************************************************************
XBSYSAPI EXPORTNUM(338) VOID NTAPI XcRC4Key
XBSYSAPI EXPORTNUM(338) void_xt NTAPI XcRC4Key
(
IN PUCHAR pbKeyStruct,
IN ULONG dwKeyLength,
IN ulong_xt dwKeyLength,
IN PUCHAR pbKey
);
// ******************************************************************
// * 0x0153 - XcRC4Crypt()
// ******************************************************************
XBSYSAPI EXPORTNUM(339) VOID NTAPI XcRC4Crypt
XBSYSAPI EXPORTNUM(339) void_xt NTAPI XcRC4Crypt
(
IN PUCHAR pbKeyStruct,
IN ULONG dwInputLength,
IN ulong_xt dwInputLength,
IN PUCHAR pbInput
);
// ******************************************************************
// * 0x0154 - XcHMAC()
// ******************************************************************
XBSYSAPI EXPORTNUM(340) VOID NTAPI XcHMAC
XBSYSAPI EXPORTNUM(340) void_xt NTAPI XcHMAC
(
IN PBYTE pbKeyMaterial,
IN ULONG cbKeyMaterial,
IN ulong_xt cbKeyMaterial,
IN PBYTE pbData,
IN ULONG cbData,
IN ulong_xt cbData,
IN PBYTE pbData2,
IN ULONG cbData2,
IN ulong_xt cbData2,
OUT PBYTE HmacData
);
// ******************************************************************
// * 0x0155 - XcPKEncPublic()
// ******************************************************************
XBSYSAPI EXPORTNUM(341) ULONG NTAPI XcPKEncPublic
XBSYSAPI EXPORTNUM(341) ulong_xt NTAPI XcPKEncPublic
(
IN PUCHAR pbPubKey,
IN PUCHAR pbInput,
@ -323,7 +328,7 @@ XBSYSAPI EXPORTNUM(341) ULONG NTAPI XcPKEncPublic
// ******************************************************************
// * 0x0156 - XcPKDecPrivate()
// ******************************************************************
XBSYSAPI EXPORTNUM(342) ULONG NTAPI XcPKDecPrivate
XBSYSAPI EXPORTNUM(342) ulong_xt NTAPI XcPKDecPrivate
(
IN PUCHAR pbPrvKey,
IN PUCHAR pbInput,
@ -333,7 +338,7 @@ XBSYSAPI EXPORTNUM(342) ULONG NTAPI XcPKDecPrivate
// ******************************************************************
// * 0x0157 - XcPKGetKeyLen()
// ******************************************************************
XBSYSAPI EXPORTNUM(343) ULONG NTAPI XcPKGetKeyLen
XBSYSAPI EXPORTNUM(343) ulong_xt NTAPI XcPKGetKeyLen
(
OUT PUCHAR pbPubKey
);
@ -341,7 +346,7 @@ XBSYSAPI EXPORTNUM(343) ULONG NTAPI XcPKGetKeyLen
// ******************************************************************
// * 0x0158 - XcVerifyPKCS1Signature()
// ******************************************************************
XBSYSAPI EXPORTNUM(344) BOOLEAN NTAPI XcVerifyPKCS1Signature
XBSYSAPI EXPORTNUM(344) boolean_xt NTAPI XcVerifyPKCS1Signature
(
IN PUCHAR pbSig,
IN PUCHAR pbPubKey,
@ -351,30 +356,30 @@ XBSYSAPI EXPORTNUM(344) BOOLEAN NTAPI XcVerifyPKCS1Signature
// ******************************************************************
// * 0x0159 - XcModExp()
// ******************************************************************
XBSYSAPI EXPORTNUM(345) ULONG NTAPI XcModExp
XBSYSAPI EXPORTNUM(345) ulong_xt NTAPI XcModExp
(
IN LPDWORD pA,
IN LPDWORD pB,
IN LPDWORD pC,
IN LPDWORD pD,
IN ULONG dwN
IN ulong_xt dwN
);
// ******************************************************************
// * 0x015A - XcDESKeyParity()
// ******************************************************************
XBSYSAPI EXPORTNUM(346) VOID NTAPI XcDESKeyParity
XBSYSAPI EXPORTNUM(346) void_xt NTAPI XcDESKeyParity
(
IN PUCHAR pbKey,
IN ULONG dwKeyLength
IN ulong_xt dwKeyLength
);
// ******************************************************************
// * 0x015B - XcKeyTable()
// ******************************************************************
XBSYSAPI EXPORTNUM(347) VOID NTAPI XcKeyTable
XBSYSAPI EXPORTNUM(347) void_xt NTAPI XcKeyTable
(
IN ULONG dwCipher,
IN ulong_xt dwCipher,
OUT PUCHAR pbKeyTable,
IN PUCHAR pbKey
);
@ -382,55 +387,55 @@ XBSYSAPI EXPORTNUM(347) VOID NTAPI XcKeyTable
// ******************************************************************
// * 0x015C - XcBlockCrypt()
// ******************************************************************
XBSYSAPI EXPORTNUM(348) VOID NTAPI XcBlockCrypt
XBSYSAPI EXPORTNUM(348) void_xt NTAPI XcBlockCrypt
(
IN ULONG dwCipher,
IN ulong_xt dwCipher,
OUT PUCHAR pbOutput,
IN PUCHAR pbInput,
IN PUCHAR pbKeyTable,
IN ULONG dwOp
IN ulong_xt dwOp
);
// ******************************************************************
// * 0x015D - XcBlockCryptCBC()
// ******************************************************************
XBSYSAPI EXPORTNUM(349) VOID NTAPI XcBlockCryptCBC
XBSYSAPI EXPORTNUM(349) void_xt NTAPI XcBlockCryptCBC
(
IN ULONG dwCipher,
IN ULONG dwInputLength,
IN ulong_xt dwCipher,
IN ulong_xt dwInputLength,
OUT PUCHAR pbOutput,
IN PUCHAR pbInput,
IN PUCHAR pbKeyTable,
IN ULONG dwOp,
IN ulong_xt dwOp,
IN PUCHAR pbFeedback
);
// ******************************************************************
// * 0x015E - XcCryptService()
// ******************************************************************
XBSYSAPI EXPORTNUM(350) ULONG NTAPI XcCryptService
XBSYSAPI EXPORTNUM(350) ulong_xt NTAPI XcCryptService
(
IN ULONG dwOp,
IN ulong_xt dwOp,
IN PVOID pArgs
);
/* Function pointers which point to all the kernel crypto functions. Used by PCRYPTO_VECTOR. */
typedef VOID(NTAPI *pfXcSHAInit)(PUCHAR pbSHAContext);
typedef VOID(NTAPI *pfXcSHAUpdate)(PUCHAR pbSHAContext, PUCHAR pbInput, ULONG dwInputLength);
typedef VOID(NTAPI *pfXcSHAFinal)(PUCHAR pbSHAContext, PUCHAR pbDigest);
typedef VOID(NTAPI *pfXcRC4Key)(PUCHAR pbKeyStruct, ULONG dwKeyLength, PUCHAR pbKey);
typedef VOID(NTAPI *pfXcRC4Crypt)(PUCHAR pbKeyStruct, ULONG dwInputLength, PUCHAR pbInput);
typedef VOID(NTAPI *pfXcHMAC)(PBYTE pbKeyMaterial, ULONG cbKeyMaterial, PBYTE pbData, ULONG cbData, PBYTE pbData2, ULONG cbData2, PBYTE HmacData);
typedef ULONG(NTAPI *pfXcPKEncPublic)(PUCHAR pbPubKey, PUCHAR pbInput, PUCHAR pbOutput);
typedef ULONG(NTAPI *pfXcPKDecPrivate)(PUCHAR pbPrvKey, PUCHAR pbInput, PUCHAR pbOutput);
typedef ULONG(NTAPI *pfXcPKGetKeyLen)(PUCHAR pbPubKey);
typedef BOOLEAN(NTAPI *pfXcVerifyPKCS1Signature)(PUCHAR pbSig, PUCHAR pbPubKey, PUCHAR pbDigest);
typedef ULONG(NTAPI *pfXcModExp)(LPDWORD pA, LPDWORD pB, LPDWORD pC, LPDWORD pD, ULONG dwN);
typedef VOID(NTAPI *pfXcDESKeyParity)(PUCHAR pbKey, ULONG dwKeyLength);
typedef VOID(NTAPI *pfXcKeyTable)(ULONG dwCipher, PUCHAR pbKeyTable, PUCHAR pbKey);
typedef VOID(NTAPI *pfXcBlockCrypt)(ULONG dwCipher, PUCHAR pbOutput, PUCHAR pbInput, PUCHAR pbKeyTable, ULONG dwOp);
typedef VOID(NTAPI *pfXcBlockCryptCBC)(ULONG dwCipher, ULONG dwInputLength, PUCHAR pbOutput, PUCHAR pbInput, PUCHAR pbKeyTable, ULONG dwOp, PUCHAR pbFeedback);
typedef ULONG(NTAPI *pfXcCryptService)(ULONG dwOp, PVOID pArgs);
typedef void_xt(NTAPI *pfXcSHAInit)(PUCHAR pbSHAContext);
typedef void_xt(NTAPI *pfXcSHAUpdate)(PUCHAR pbSHAContext, PUCHAR pbInput, ulong_xt dwInputLength);
typedef void_xt(NTAPI *pfXcSHAFinal)(PUCHAR pbSHAContext, PUCHAR pbDigest);
typedef void_xt(NTAPI *pfXcRC4Key)(PUCHAR pbKeyStruct, ulong_xt dwKeyLength, PUCHAR pbKey);
typedef void_xt(NTAPI *pfXcRC4Crypt)(PUCHAR pbKeyStruct, ulong_xt dwInputLength, PUCHAR pbInput);
typedef void_xt(NTAPI *pfXcHMAC)(PBYTE pbKeyMaterial, ulong_xt cbKeyMaterial, PBYTE pbData, ulong_xt cbData, PBYTE pbData2, ulong_xt cbData2, PBYTE HmacData);
typedef ulong_xt(NTAPI *pfXcPKEncPublic)(PUCHAR pbPubKey, PUCHAR pbInput, PUCHAR pbOutput);
typedef ulong_xt(NTAPI *pfXcPKDecPrivate)(PUCHAR pbPrvKey, PUCHAR pbInput, PUCHAR pbOutput);
typedef ulong_xt(NTAPI *pfXcPKGetKeyLen)(PUCHAR pbPubKey);
typedef boolean_xt(NTAPI *pfXcVerifyPKCS1Signature)(PUCHAR pbSig, PUCHAR pbPubKey, PUCHAR pbDigest);
typedef ulong_xt(NTAPI *pfXcModExp)(LPDWORD pA, LPDWORD pB, LPDWORD pC, LPDWORD pD, ulong_xt dwN);
typedef void_xt(NTAPI *pfXcDESKeyParity)(PUCHAR pbKey, ulong_xt dwKeyLength);
typedef void_xt(NTAPI *pfXcKeyTable)(ulong_xt dwCipher, PUCHAR pbKeyTable, PUCHAR pbKey);
typedef void_xt(NTAPI *pfXcBlockCrypt)(ulong_xt dwCipher, PUCHAR pbOutput, PUCHAR pbInput, PUCHAR pbKeyTable, ulong_xt dwOp);
typedef void_xt(NTAPI *pfXcBlockCryptCBC)(ulong_xt dwCipher, ulong_xt dwInputLength, PUCHAR pbOutput, PUCHAR pbInput, PUCHAR pbKeyTable, ulong_xt dwOp, PUCHAR pbFeedback);
typedef ulong_xt(NTAPI *pfXcCryptService)(ulong_xt dwOp, PVOID pArgs);
/* Struct which contains all the pointers to the crypto functions */
typedef struct {
@ -455,7 +460,7 @@ typedef struct {
// ******************************************************************
// * 0x015F - XcUpdateCrypto()
// ******************************************************************
XBSYSAPI EXPORTNUM(351) VOID NTAPI XcUpdateCrypto
XBSYSAPI EXPORTNUM(351) void_xt NTAPI XcUpdateCrypto
(
IN PCRYPTO_VECTOR pNewVector,
OUT PCRYPTO_VECTOR pROMVector OPTIONAL
@ -477,10 +482,10 @@ XBSYSAPI EXPORTNUM(354) XBOX_KEY_DATA XboxAlternateSignatureKeys[ALTERNATE_SIGNA
// ******************************************************************
// * 0x0163 - XePublicKeyData
// ******************************************************************
XBSYSAPI EXPORTNUM(355) UCHAR XePublicKeyData[284];
XBSYSAPI EXPORTNUM(355) UCHAR XePublicKeyDataRetail[284];
XBSYSAPI EXPORTNUM(355) UCHAR XePublicKeyDataChihiroGame[284];
XBSYSAPI EXPORTNUM(355) UCHAR XePublicKeyDataChihiroBoot[284];
XBSYSAPI EXPORTNUM(355) uchar_xt XePublicKeyData[284];
XBSYSAPI EXPORTNUM(355) uchar_xt XePublicKeyDataRetail[284];
XBSYSAPI EXPORTNUM(355) uchar_xt XePublicKeyDataChihiroGame[284];
XBSYSAPI EXPORTNUM(355) uchar_xt XePublicKeyDataChihiroBoot[284];
// ******************************************************************
// * 0x0165 - IdexChannelObject
@ -490,10 +495,10 @@ XBSYSAPI EXPORTNUM(357) IDE_CHANNEL_OBJECT IdexChannelObject;
// ******************************************************************
// * 0x0169 - RtlSnprintf()
// ******************************************************************
XBSYSAPI EXPORTNUM(361) INT CDECL RtlSnprintf
XBSYSAPI EXPORTNUM(361) int_xt CDECL RtlSnprintf
(
IN PCHAR string,
IN SIZE_T count,
IN size_xt count,
IN LPCCH format,
...
);
@ -501,7 +506,7 @@ XBSYSAPI EXPORTNUM(361) INT CDECL RtlSnprintf
// ******************************************************************
// * 0x016A - RtlSprintf()
// ******************************************************************
XBSYSAPI EXPORTNUM(362) INT CDECL RtlSprintf
XBSYSAPI EXPORTNUM(362) int_xt CDECL RtlSprintf
(
IN PCHAR string,
IN LPCCH format,
@ -511,10 +516,10 @@ XBSYSAPI EXPORTNUM(362) INT CDECL RtlSprintf
// ******************************************************************
// * 0x016B - RtlVsnprintf()
// ******************************************************************
XBSYSAPI EXPORTNUM(363) INT CDECL RtlVsnprintf
XBSYSAPI EXPORTNUM(363) int_xt CDECL RtlVsnprintf
(
IN PCHAR string,
IN SIZE_T count,
IN size_xt count,
IN LPCCH format,
...
);
@ -522,47 +527,49 @@ XBSYSAPI EXPORTNUM(363) INT CDECL RtlVsnprintf
// ******************************************************************
// * 0x016C - RtlVsprintf()
// ******************************************************************
XBSYSAPI EXPORTNUM(364) INT CDECL RtlVsprintf
XBSYSAPI EXPORTNUM(364) int_xt CDECL RtlVsprintf
(
IN PCHAR string,
IN LPCCH format,
...
);
XBSYSAPI EXPORTNUM(367) NTSTATUS NTAPI UnknownAPI367
XBSYSAPI EXPORTNUM(367) ntstatus_xt NTAPI UnknownAPI367
(
// UNKNOWN ARGUMENTS
);
XBSYSAPI EXPORTNUM(368) NTSTATUS NTAPI UnknownAPI368
XBSYSAPI EXPORTNUM(368) ntstatus_xt NTAPI UnknownAPI368
(
// UNKNOWN ARGUMENTS
);
XBSYSAPI EXPORTNUM(369) NTSTATUS NTAPI UnknownAPI369
XBSYSAPI EXPORTNUM(369) ntstatus_xt NTAPI UnknownAPI369
(
// UNKNOWN ARGUMENTS
);
XBSYSAPI EXPORTNUM(370) NTSTATUS NTAPI XProfpControl // PROFILING
XBSYSAPI EXPORTNUM(370) ntstatus_xt NTAPI XProfpControl // PROFILING
(
ULONG Action,
ULONG Param
ulong_xt Action,
ulong_xt Param
);
XBSYSAPI EXPORTNUM(371) NTSTATUS NTAPI XProfpGetData // PROFILING
XBSYSAPI EXPORTNUM(371) ntstatus_xt NTAPI XProfpGetData // PROFILING
(
// NO ARGUMENTS
);
XBSYSAPI EXPORTNUM(372) NTSTATUS NTAPI IrtClientInitFast // PROFILING
XBSYSAPI EXPORTNUM(372) ntstatus_xt NTAPI IrtClientInitFast // PROFILING
(
// UNKNOWN ARGUMENTS
);
XBSYSAPI EXPORTNUM(373) NTSTATUS NTAPI IrtSweep // PROFILING
XBSYSAPI EXPORTNUM(373) ntstatus_xt NTAPI IrtSweep // PROFILING
(
// UNKNOWN ARGUMENTS
);
}
#endif

View File

@ -28,7 +28,7 @@
#define LOG_PREFIX CXBXR_MODULE::KRNL
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include <cstdio>
#include <cctype>
#include <clocale>
@ -82,7 +82,7 @@ void InsertTailList(xbox::PLIST_ENTRY pListHead, xbox::PLIST_ENTRY pEntry)
//#define RemoveEntryList(e) do { PLIST_ENTRY f = (e)->Flink, b = (e)->Blink; f->Blink = b; b->Flink = f; (e)->Flink = (e)->Blink = NULL; } while (0)
// Returns TRUE if the list has become empty after removing the element, FALSE otherwise.
xbox::BOOLEAN RemoveEntryList(xbox::PLIST_ENTRY pEntry)
xbox::boolean_xt RemoveEntryList(xbox::PLIST_ENTRY pEntry)
{
xbox::PLIST_ENTRY _EX_Flink = pEntry->Flink;
xbox::PLIST_ENTRY _EX_Blink = pEntry->Blink;
@ -217,11 +217,11 @@ const DWORD IrqlMasks[] = {
// * 0x0033 - InterlockedCompareExchange()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(51) xbox::LONG FASTCALL xbox::KRNL(InterlockedCompareExchange)
XBSYSAPI EXPORTNUM(51) xbox::long_xt FASTCALL xbox::KRNL(InterlockedCompareExchange)
(
IN OUT PLONG VOLATILE Destination,
IN LONG Exchange,
IN LONG Comparand
IN long_xt Exchange,
IN long_xt Comparand
)
{
LOG_FUNC_BEGIN
@ -239,7 +239,7 @@ XBSYSAPI EXPORTNUM(51) xbox::LONG FASTCALL xbox::KRNL(InterlockedCompareExchange
// * 0x0034 - InterlockedDecrement()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(52) xbox::LONG FASTCALL xbox::KRNL(InterlockedDecrement)
XBSYSAPI EXPORTNUM(52) xbox::long_xt FASTCALL xbox::KRNL(InterlockedDecrement)
(
IN OUT PLONG Addend
)
@ -255,7 +255,7 @@ XBSYSAPI EXPORTNUM(52) xbox::LONG FASTCALL xbox::KRNL(InterlockedDecrement)
// * 0x0035 - InterlockedIncrement()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(53) xbox::LONG FASTCALL xbox::KRNL(InterlockedIncrement)
XBSYSAPI EXPORTNUM(53) xbox::long_xt FASTCALL xbox::KRNL(InterlockedIncrement)
(
IN OUT PLONG Addend
)
@ -271,10 +271,10 @@ XBSYSAPI EXPORTNUM(53) xbox::LONG FASTCALL xbox::KRNL(InterlockedIncrement)
// * 0x0036 - InterlockedExchange()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(54) xbox::LONG FASTCALL xbox::KRNL(InterlockedExchange)
XBSYSAPI EXPORTNUM(54) xbox::long_xt FASTCALL xbox::KRNL(InterlockedExchange)
(
IN PLONG VOLATILE Destination,
IN LONG Value
IN long_xt Value
)
{
LOG_FUNC_BEGIN
@ -291,10 +291,10 @@ XBSYSAPI EXPORTNUM(54) xbox::LONG FASTCALL xbox::KRNL(InterlockedExchange)
// * 0x0037 - InterlockedExchangeAdd()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(55) xbox::LONG FASTCALL xbox::KRNL(InterlockedExchangeAdd)
XBSYSAPI EXPORTNUM(55) xbox::long_xt FASTCALL xbox::KRNL(InterlockedExchangeAdd)
(
IN PLONG VOLATILE Addend,
IN LONG Value
IN long_xt Value
)
{
LOG_FUNC_BEGIN
@ -395,7 +395,7 @@ inline int bsr(const uint32_t a) { DWORD result; _BitScanReverse(&result, a); re
// ******************************************************************
// Restores the irq level on the current processor
// ARGUMENTS NewIrql = Irql to lower to
XBSYSAPI EXPORTNUM(161) xbox::VOID FASTCALL xbox::KfLowerIrql
XBSYSAPI EXPORTNUM(161) xbox::void_xt FASTCALL xbox::KfLowerIrql
(
IN KIRQL NewIrql
)
@ -436,14 +436,14 @@ XBSYSAPI EXPORTNUM(161) xbox::VOID FASTCALL xbox::KfLowerIrql
// * 0x00A2 - KiBugCheckData
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(162) xbox::ULONG_PTR xbox::KiBugCheckData[5] = { NULL, NULL, NULL, NULL, NULL };
XBSYSAPI EXPORTNUM(162) xbox::ulong_ptr_xt xbox::KiBugCheckData[5] = { NULL, NULL, NULL, NULL, NULL };
extern xbox::KPRCB *KeGetCurrentPrcb();
// ******************************************************************
// * 0x00A3 - KiUnlockDispatcherDatabase()
// ******************************************************************
XBSYSAPI EXPORTNUM(163) xbox::VOID FASTCALL xbox::KiUnlockDispatcherDatabase
XBSYSAPI EXPORTNUM(163) xbox::void_xt FASTCALL xbox::KiUnlockDispatcherDatabase
(
IN KIRQL OldIrql
)
@ -466,10 +466,10 @@ XBSYSAPI EXPORTNUM(357) xbox::IDE_CHANNEL_OBJECT xbox::IdexChannelObject = { };
// ******************************************************************
// * 0x0169 - RtlSnprintf()
// ******************************************************************
XBSYSAPI EXPORTNUM(361) xbox::INT CDECL xbox::RtlSnprintf
XBSYSAPI EXPORTNUM(361) xbox::int_xt CDECL xbox::RtlSnprintf
(
IN PCHAR string,
IN SIZE_T count,
IN size_xt count,
IN LPCCH format,
...
)
@ -493,7 +493,7 @@ XBSYSAPI EXPORTNUM(361) xbox::INT CDECL xbox::RtlSnprintf
// ******************************************************************
// * 0x016A - RtlSprintf()
// ******************************************************************
XBSYSAPI EXPORTNUM(362) xbox::INT CDECL xbox::RtlSprintf
XBSYSAPI EXPORTNUM(362) xbox::int_xt CDECL xbox::RtlSprintf
(
IN PCHAR string,
IN LPCCH format,
@ -518,10 +518,10 @@ XBSYSAPI EXPORTNUM(362) xbox::INT CDECL xbox::RtlSprintf
// ******************************************************************
// * 0x016B - RtlVsnprintf()
// ******************************************************************
XBSYSAPI EXPORTNUM(363) xbox::INT CDECL xbox::RtlVsnprintf
XBSYSAPI EXPORTNUM(363) xbox::int_xt CDECL xbox::RtlVsnprintf
(
IN PCHAR string,
IN SIZE_T count,
IN size_xt count,
IN LPCCH format,
...
)
@ -545,7 +545,7 @@ XBSYSAPI EXPORTNUM(363) xbox::INT CDECL xbox::RtlVsnprintf
// ******************************************************************
// * 0x016C - RtlVsprintf()
// ******************************************************************
XBSYSAPI EXPORTNUM(364) xbox::INT CDECL xbox::RtlVsprintf
XBSYSAPI EXPORTNUM(364) xbox::int_xt CDECL xbox::RtlVsprintf
(
IN PCHAR string,
IN LPCCH format,
@ -570,7 +570,7 @@ XBSYSAPI EXPORTNUM(364) xbox::INT CDECL xbox::RtlVsprintf
// ******************************************************************
// * 0x016F - UnknownAPI367()
// ******************************************************************
XBSYSAPI EXPORTNUM(367) xbox::NTSTATUS NTAPI xbox::UnknownAPI367
XBSYSAPI EXPORTNUM(367) xbox::ntstatus_xt NTAPI xbox::UnknownAPI367
(
// UNKNOWN ARGUMENTS
)
@ -585,7 +585,7 @@ XBSYSAPI EXPORTNUM(367) xbox::NTSTATUS NTAPI xbox::UnknownAPI367
// ******************************************************************
// * 0x0170 - UnknownAPI368()
// ******************************************************************
XBSYSAPI EXPORTNUM(368) xbox::NTSTATUS NTAPI xbox::UnknownAPI368
XBSYSAPI EXPORTNUM(368) xbox::ntstatus_xt NTAPI xbox::UnknownAPI368
(
// UNKNOWN ARGUMENTS
)
@ -600,7 +600,7 @@ XBSYSAPI EXPORTNUM(368) xbox::NTSTATUS NTAPI xbox::UnknownAPI368
// ******************************************************************
// * 0x0171 - UnknownAPI369()
// ******************************************************************
XBSYSAPI EXPORTNUM(369) xbox::NTSTATUS NTAPI xbox::UnknownAPI369
XBSYSAPI EXPORTNUM(369) xbox::ntstatus_xt NTAPI xbox::UnknownAPI369
(
// UNKNOWN ARGUMENTS
)
@ -615,10 +615,10 @@ XBSYSAPI EXPORTNUM(369) xbox::NTSTATUS NTAPI xbox::UnknownAPI369
// ******************************************************************
// * 0x0172 - XProfpControl()
// ******************************************************************
XBSYSAPI EXPORTNUM(370) xbox::NTSTATUS NTAPI xbox::XProfpControl // PROFILING
XBSYSAPI EXPORTNUM(370) xbox::ntstatus_xt NTAPI xbox::XProfpControl // PROFILING
(
ULONG Action,
ULONG Param
ulong_xt Action,
ulong_xt Param
)
{
LOG_FUNC_BEGIN
@ -634,7 +634,7 @@ XBSYSAPI EXPORTNUM(370) xbox::NTSTATUS NTAPI xbox::XProfpControl // PROFILING
// ******************************************************************
// * 0x0173 - XProfpGetData()
// ******************************************************************
XBSYSAPI EXPORTNUM(371) xbox::NTSTATUS NTAPI xbox::XProfpGetData // PROFILING
XBSYSAPI EXPORTNUM(371) xbox::ntstatus_xt NTAPI xbox::XProfpGetData // PROFILING
(
// NO ARGUMENTS
)
@ -649,7 +649,7 @@ XBSYSAPI EXPORTNUM(371) xbox::NTSTATUS NTAPI xbox::XProfpGetData // PROFILING
// ******************************************************************
// * 0x0174 - IrtClientInitFast()
// ******************************************************************
XBSYSAPI EXPORTNUM(372) xbox::NTSTATUS NTAPI xbox::IrtClientInitFast // PROFILING
XBSYSAPI EXPORTNUM(372) xbox::ntstatus_xt NTAPI xbox::IrtClientInitFast // PROFILING
(
// UNKNOWN ARGUMENTS
)
@ -664,7 +664,7 @@ XBSYSAPI EXPORTNUM(372) xbox::NTSTATUS NTAPI xbox::IrtClientInitFast // PROFILIN
// ******************************************************************
// * 0x0175 - IrtSweep()
// ******************************************************************
XBSYSAPI EXPORTNUM(373) xbox::NTSTATUS NTAPI xbox::IrtSweep // PROFILING
XBSYSAPI EXPORTNUM(373) xbox::ntstatus_xt NTAPI xbox::IrtSweep // PROFILING
(
// UNKNOWN ARGUMENTS
)

View File

@ -43,7 +43,7 @@ void InsertHeadList(xbox::PLIST_ENTRY pListHead, xbox::PLIST_ENTRY pEntry);
void InsertTailList(xbox::PLIST_ENTRY pListHead, xbox::PLIST_ENTRY pEntry);
//#define RemoveEntryList(e) do { PLIST_ENTRY f = (e)->Flink, b = (e)->Blink; f->Blink = b; b->Flink = f; (e)->Flink = (e)->Blink = NULL; } while (0)
xbox::BOOLEAN RemoveEntryList(xbox::PLIST_ENTRY pEntry);
xbox::boolean_xt RemoveEntryList(xbox::PLIST_ENTRY pEntry);
xbox::PLIST_ENTRY RemoveHeadList(xbox::PLIST_ENTRY pListHead);
xbox::PLIST_ENTRY RemoveTailList(xbox::PLIST_ENTRY pListHead);
@ -88,8 +88,8 @@ public:
m_Pending = false;
}
BOOLEAN(__stdcall *ServiceRoutine)(xbox::PKINTERRUPT, void*) = (BOOLEAN(__stdcall *)(xbox::PKINTERRUPT, void*))Interrupt->ServiceRoutine;
BOOLEAN result = ServiceRoutine(Interrupt, Interrupt->ServiceContext);
xbox::boolean_xt(__stdcall *ServiceRoutine)(xbox::PKINTERRUPT, void*) = (xbox::boolean_xt(__stdcall *)(xbox::PKINTERRUPT, void*))Interrupt->ServiceRoutine;
xbox::boolean_xt result = ServiceRoutine(Interrupt, Interrupt->ServiceContext);
}
private:
bool m_Asserted = false;

View File

@ -29,7 +29,7 @@
#define LOG_PREFIX CXBXR_MODULE::AV
#include <xboxkrnl/xboxkrnl.h> // For AvGetSavedDataAddress, etc.
#include <core\kernel\exports\xboxkrnl.h> // For AvGetSavedDataAddress, etc.
#include "EmuKrnlLogging.h"
// prevent name collisions
@ -38,10 +38,6 @@ namespace NtDll
#include "core\kernel\support\EmuNtDll.h"
};
#ifndef VOID
#define VOID void
#endif
#include "core\kernel\support\Emu.h" // For EmuLog(LOG_LEVEL::WARNING, )
#include "core\hle\D3D8\Direct3D9\Direct3D9.h"
#include "devices\x86\EmuX86.h"
@ -51,33 +47,29 @@ namespace NtDll
#include "devices\video\nv2a_int.h"
#include "devices\video\nv2a.h" // For NV2ABlockInfo, EmuNV2A_Block()
#ifdef VOID
#undef VOID
#endif
// HW Register helper functions
xbox::UCHAR REG_RD08(void* Ptr, xbox::ULONG Addr)
xbox::uchar_xt REG_RD08(void* Ptr, xbox::ulong_xt Addr)
{
return EmuX86_Read((xbox::addr)Ptr + Addr, sizeof(uint8_t));
return EmuX86_Read((xbox::addr_xt)Ptr + Addr, sizeof(uint8_t));
}
void REG_WR08(void* Ptr, xbox::ULONG Addr, xbox::UCHAR Val)
void REG_WR08(void* Ptr, xbox::ulong_xt Addr, xbox::uchar_xt Val)
{
EmuX86_Write((xbox::addr)Ptr + Addr, Val, sizeof(uint8_t));
EmuX86_Write((xbox::addr_xt)Ptr + Addr, Val, sizeof(uint8_t));
}
xbox::ULONG REG_RD32(void* Ptr, xbox::ULONG Addr)
xbox::ulong_xt REG_RD32(void* Ptr, xbox::ulong_xt Addr)
{
return EmuX86_Read((xbox::addr)Ptr + Addr, sizeof(uint32_t));
return EmuX86_Read((xbox::addr_xt)Ptr + Addr, sizeof(uint32_t));
}
void REG_WR32(void* Ptr, xbox::ULONG Addr, xbox::ULONG Val)
void REG_WR32(void* Ptr, xbox::ulong_xt Addr, xbox::ulong_xt Val)
{
EmuX86_Write((xbox::addr)Ptr + Addr, Val, sizeof(uint32_t));
EmuX86_Write((xbox::addr_xt)Ptr + Addr, Val, sizeof(uint32_t));
}
void CRTC_WR(void* Ptr, xbox::UCHAR i, xbox::UCHAR d)
void CRTC_WR(void* Ptr, xbox::uchar_xt i, xbox::uchar_xt d)
{
static const NV2ABlockInfo* block = EmuNV2A_Block(NV_PRMCIO_CRX__COLOR);
@ -85,7 +77,7 @@ void CRTC_WR(void* Ptr, xbox::UCHAR i, xbox::UCHAR d)
g_NV2A->BlockWrite(block, NV_PRMCIO_CR__COLOR, d, sizeof(uint8_t));
}
void SRX_WR(void *Ptr, xbox::UCHAR i, xbox::UCHAR d)
void SRX_WR(void *Ptr, xbox::uchar_xt i, xbox::uchar_xt d)
{
static const NV2ABlockInfo* block = EmuNV2A_Block(NV_PRMVIO_SRX);
@ -93,7 +85,7 @@ void SRX_WR(void *Ptr, xbox::UCHAR i, xbox::UCHAR d)
g_NV2A->BlockWrite(block, NV_PRMVIO_SR, d, sizeof(uint8_t));
}
void GRX_WR(void *Ptr, xbox::UCHAR i, xbox::UCHAR d)
void GRX_WR(void *Ptr, xbox::uchar_xt i, xbox::uchar_xt d)
{
static const NV2ABlockInfo* block = EmuNV2A_Block(NV_PRMVIO_GRX);
@ -101,7 +93,7 @@ void GRX_WR(void *Ptr, xbox::UCHAR i, xbox::UCHAR d)
g_NV2A->BlockWrite(block, NV_PRMVIO_GX, d, sizeof(uint8_t));
}
void ARX_WR(void *Ptr, xbox::UCHAR i, xbox::UCHAR d)
void ARX_WR(void *Ptr, xbox::uchar_xt i, xbox::uchar_xt d)
{
static const NV2ABlockInfo* block = EmuNV2A_Block(NV_PRMCIO_ARX);
@ -140,13 +132,13 @@ ULONG AvQueryAvCapabilities()
ULONG avRegion;
NTSTATUS result = xbox::ExQueryNonVolatileSetting(
xbox::XC_FACTORY_AV_REGION,
&type,
(xbox::dword_xt *)&type,
&avRegion,
sizeof(ULONG),
&resultSize);
(xbox::PSIZE_T)&resultSize);
// If this failed, default to AV_STANDARD_NTSC_M | AV_FLAGS_60Hz
if (result != STATUS_SUCCESS || resultSize != sizeof(ULONG)) {
if (result != xbox::status_success || resultSize != sizeof(ULONG)) {
avRegion = AV_STANDARD_NTSC_M | AV_FLAGS_60Hz;
}
@ -154,13 +146,13 @@ ULONG AvQueryAvCapabilities()
ULONG userSettings;
result = xbox::ExQueryNonVolatileSetting(
xbox::XC_VIDEO,
&type,
(xbox::dword_xt *) &type,
&userSettings,
sizeof(ULONG),
&resultSize);
(xbox::PSIZE_T)&resultSize);
// If this failed, default to no user-options set
if (result != STATUS_SUCCESS || resultSize != sizeof(ULONG)) {
if (result != xbox::status_success || resultSize != sizeof(ULONG)) {
userSettings = 0;
}
@ -182,12 +174,12 @@ XBSYSAPI EXPORTNUM(1) xbox::PVOID NTAPI xbox::AvGetSavedDataAddress(void)
// ******************************************************************
// * 0x0002 - AvSendTVEncoderOption()
// ******************************************************************
XBSYSAPI EXPORTNUM(2) xbox::VOID NTAPI xbox::AvSendTVEncoderOption
XBSYSAPI EXPORTNUM(2) xbox::void_xt NTAPI xbox::AvSendTVEncoderOption
(
IN PVOID RegisterBase,
IN ULONG Option,
IN ULONG Param,
OUT ULONG *Result
IN ulong_xt Option,
IN ulong_xt Param,
OUT ulong_xt *Result
)
{
LOG_FUNC_BEGIN;
@ -261,14 +253,14 @@ XBSYSAPI EXPORTNUM(2) xbox::VOID NTAPI xbox::AvSendTVEncoderOption
// ******************************************************************
// * 0x0003 - AvSetDisplayMode()
// ******************************************************************
XBSYSAPI EXPORTNUM(3) xbox::ULONG NTAPI xbox::AvSetDisplayMode
XBSYSAPI EXPORTNUM(3) xbox::ulong_xt NTAPI xbox::AvSetDisplayMode
(
IN PVOID RegisterBase,
IN ULONG Step,
IN ULONG Mode,
IN ULONG Format,
IN ULONG Pitch,
IN ULONG FrameBuffer
IN ulong_xt Step,
IN ulong_xt Mode,
IN ulong_xt Format,
IN ulong_xt Pitch,
IN ulong_xt FrameBuffer
)
{
LOG_FUNC_BEGIN;
@ -325,7 +317,7 @@ XBSYSAPI EXPORTNUM(3) xbox::ULONG NTAPI xbox::AvSetDisplayMode
AvSendTVEncoderOption(RegisterBase, AV_OPTION_FLICKER_FILTER, 5, NULL);
AvSendTVEncoderOption(RegisterBase, AV_OPTION_ENABLE_LUMA_FILTER, FALSE, NULL);
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}
CRTC_WR(RegisterBase, NV_CIO_CRE_PIXEL_INDEX /*=0x28*/, 0x80 | CR28Depth);
@ -403,13 +395,13 @@ XBSYSAPI EXPORTNUM(3) xbox::ULONG NTAPI xbox::AvSetDisplayMode
REG_WR32(RegisterBase, NV_PCRTC_START, FrameBuffer);
AvpCurrentMode = Mode;
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}
// ******************************************************************
// * 0x0004 - AvSetSavedDataAddress()
// ******************************************************************
XBSYSAPI EXPORTNUM(4) xbox::VOID NTAPI xbox::AvSetSavedDataAddress
XBSYSAPI EXPORTNUM(4) xbox::void_xt NTAPI xbox::AvSetSavedDataAddress
(
IN PVOID Address
)

View File

@ -203,10 +203,10 @@ const UCHAR AvpCRTCRegisters[][34] =
typedef struct
{
ULONG AvInfo;
USHORT Width;
USHORT Height;
ULONG DisplayMode;
xbox::ulong_xt AvInfo;
xbox::ushort_xt Width;
xbox::ushort_xt Height;
xbox::ulong_xt DisplayMode;
} XB_DisplayMode;
const XB_DisplayMode g_DisplayModes[] =
@ -417,4 +417,4 @@ const XB_DisplayMode g_DisplayModes[] =
{ 0xFFFFFFFF, 0, 0, 0 },
};
const uint32_t g_DisplayModeCount = sizeof(g_DisplayModes) / sizeof(XB_DisplayMode);
const uint32_t g_DisplayModeCount = sizeof(g_DisplayModes) / sizeof(XB_DisplayMode);

View File

@ -29,7 +29,7 @@
#define LOG_PREFIX CXBXR_MODULE::DBG
#include <xboxkrnl/xboxkrnl.h> // For DbgPrint, etc.
#include <core\kernel\exports\xboxkrnl.h> // For DbgPrint, etc.
#include "Logging.h" // For LOG_FUNC()
#include "EmuKrnlLogging.h"
@ -45,7 +45,7 @@ namespace NtDll
// ******************************************************************
// * 0x0005 - DbgBreakPoint()
// ******************************************************************
XBSYSAPI EXPORTNUM(5) xbox::VOID NTAPI xbox::DbgBreakPoint()
XBSYSAPI EXPORTNUM(5) xbox::void_xt NTAPI xbox::DbgBreakPoint()
{
LOG_FUNC();
@ -55,9 +55,9 @@ XBSYSAPI EXPORTNUM(5) xbox::VOID NTAPI xbox::DbgBreakPoint()
// ******************************************************************
// * 0x0006 - DbgBreakPointWithStatus()
// ******************************************************************
XBSYSAPI EXPORTNUM(6) xbox::VOID NTAPI xbox::DbgBreakPointWithStatus
XBSYSAPI EXPORTNUM(6) xbox::void_xt NTAPI xbox::DbgBreakPointWithStatus
(
IN ULONG Status
IN ulong_xt Status
)
{
LOG_FUNC_ONE_ARG(Status);
@ -68,11 +68,11 @@ XBSYSAPI EXPORTNUM(6) xbox::VOID NTAPI xbox::DbgBreakPointWithStatus
// ******************************************************************
// * 0x0007 - DbgLoadImageSymbols()
// ******************************************************************
XBSYSAPI EXPORTNUM(7) xbox::NTSTATUS NTAPI xbox::DbgLoadImageSymbols
XBSYSAPI EXPORTNUM(7) xbox::ntstatus_xt NTAPI xbox::DbgLoadImageSymbols
(
IN PANSI_STRING Name,
IN PVOID Base,
IN ULONG_PTR ProcessId
IN ulong_ptr_xt ProcessId
)
{
LOG_FUNC_BEGIN;
@ -91,7 +91,7 @@ XBSYSAPI EXPORTNUM(7) xbox::NTSTATUS NTAPI xbox::DbgLoadImageSymbols
// ******************************************************************
// * 0x0008 - DbgPrint()
// ******************************************************************
XBSYSAPI EXPORTNUM(8) xbox::ULONG _cdecl xbox::DbgPrint
XBSYSAPI EXPORTNUM(8) xbox::ulong_xt _cdecl xbox::DbgPrint
(
PCHAR Format, ...
)
@ -117,7 +117,7 @@ XBSYSAPI EXPORTNUM(8) xbox::ULONG _cdecl xbox::DbgPrint
// Prevent a crash if we can't allocate enough memory
// We want this to be transparent to the running Xbox application
// Hence, we return success.
return STATUS_SUCCESS;
return xbox::status_success;
}
// Perform the actual print operation
@ -130,18 +130,18 @@ XBSYSAPI EXPORTNUM(8) xbox::ULONG _cdecl xbox::DbgPrint
fflush(stdout);
}
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}
// ******************************************************************
// * 0x000A - DbgPrompt()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(10) xbox::ULONG NTAPI xbox::DbgPrompt
XBSYSAPI EXPORTNUM(10) xbox::ulong_xt NTAPI xbox::DbgPrompt
(
IN PCCH Prompt,
OUT PCH Response,
IN ULONG MaximumResponseLength
IN ulong_xt MaximumResponseLength
)
{
LOG_FUNC_BEGIN;
@ -161,11 +161,11 @@ XBSYSAPI EXPORTNUM(10) xbox::ULONG NTAPI xbox::DbgPrompt
// * 0x000B - DbgUnLoadImageSymbols()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(11) xbox::VOID NTAPI xbox::DbgUnLoadImageSymbols
XBSYSAPI EXPORTNUM(11) xbox::void_xt NTAPI xbox::DbgUnLoadImageSymbols
(
IN PANSI_STRING Name,
IN PVOID Base,
IN ULONG_PTR ProcessId
IN ulong_ptr_xt ProcessId
)
{
LOG_FUNC_BEGIN;

View File

@ -29,7 +29,7 @@
#define LOG_PREFIX CXBXR_MODULE::EX
#include <xboxkrnl/xboxkrnl.h> // For ExAllocatePool, etc.
#include <core\kernel\exports\xboxkrnl.h> // For ExAllocatePool, etc.
#include "Logging.h" // For LOG_FUNC()
#include "EmuEEPROM.h" // For EmuFindEEPROMInfo, EEPROM, XboxFactoryGameRegion
#include "EmuKrnlLogging.h"
@ -47,7 +47,7 @@ namespace NtDll
#include <atomic> // for std::atomic
#pragma warning(disable:4005) // Ignore redefined status values
#include <ntstatus.h> // For STATUS_BUFFER_TOO_SMALL
#include <ntstatus.h> // For xbox::status_buffer_too_small
#pragma warning(default:4005)
static CRITICAL_SECTION eeprom_crit_section;
@ -140,7 +140,7 @@ static bool eeprom_data_is_valid(xbox::XC_VALUE_INDEX index)
// * 0x000C - ExAcquireReadWriteLockExclusive()
// ******************************************************************
// Source:APILogger - Uncertain
XBSYSAPI EXPORTNUM(12) xbox::VOID NTAPI xbox::ExAcquireReadWriteLockExclusive
XBSYSAPI EXPORTNUM(12) xbox::void_xt NTAPI xbox::ExAcquireReadWriteLockExclusive
(
IN PERWLOCK ReadWriteLock
)
@ -169,7 +169,7 @@ XBSYSAPI EXPORTNUM(12) xbox::VOID NTAPI xbox::ExAcquireReadWriteLockExclusive
// * 0x000D - ExAcquireReadWriteLockShared()
// ******************************************************************
// Source:APILogger - Uncertain
XBSYSAPI EXPORTNUM(13) xbox::VOID NTAPI xbox::ExAcquireReadWriteLockShared
XBSYSAPI EXPORTNUM(13) xbox::void_xt NTAPI xbox::ExAcquireReadWriteLockShared
(
IN PERWLOCK ReadWriteLock
)
@ -205,7 +205,7 @@ XBSYSAPI EXPORTNUM(13) xbox::VOID NTAPI xbox::ExAcquireReadWriteLockShared
// ******************************************************************
XBSYSAPI EXPORTNUM(14) xbox::PVOID NTAPI xbox::ExAllocatePool
(
IN SIZE_T NumberOfBytes
IN size_xt NumberOfBytes
)
{
LOG_FORWARD("ExAllocatePoolWithTag");
@ -221,8 +221,8 @@ XBSYSAPI EXPORTNUM(14) xbox::PVOID NTAPI xbox::ExAllocatePool
// ******************************************************************
XBSYSAPI EXPORTNUM(15) xbox::PVOID NTAPI xbox::ExAllocatePoolWithTag
(
IN SIZE_T NumberOfBytes,
IN ULONG Tag
IN size_xt NumberOfBytes,
IN ulong_xt Tag
)
{
LOG_FUNC_BEGIN
@ -252,7 +252,7 @@ XBSYSAPI EXPORTNUM(16) xbox::OBJECT_TYPE xbox::ExEventObjectType =
// ******************************************************************
// * 0x0011 - ExFreePool()
// ******************************************************************
XBSYSAPI EXPORTNUM(17) xbox::VOID NTAPI xbox::ExFreePool
XBSYSAPI EXPORTNUM(17) xbox::void_xt NTAPI xbox::ExFreePool
(
IN PVOID P
)
@ -266,7 +266,7 @@ XBSYSAPI EXPORTNUM(17) xbox::VOID NTAPI xbox::ExFreePool
// * 0x0012 - ExInitializeReadWriteLock()
// ******************************************************************
// Source:APILogger - Uncertain
XBSYSAPI EXPORTNUM(18) xbox::VOID NTAPI xbox::ExInitializeReadWriteLock
XBSYSAPI EXPORTNUM(18) xbox::void_xt NTAPI xbox::ExInitializeReadWriteLock
(
IN PERWLOCK ReadWriteLock
)
@ -321,10 +321,10 @@ XBSYSAPI EXPORTNUM(19) xbox::LARGE_INTEGER NTAPI xbox::ExInterlockedAddLargeInte
// * 0x0014 - ExInterlockedAddLargeStatistic()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(20) xbox::VOID FASTCALL xbox::ExInterlockedAddLargeStatistic
XBSYSAPI EXPORTNUM(20) xbox::void_xt FASTCALL xbox::ExInterlockedAddLargeStatistic
(
IN PLARGE_INTEGER Addend,
IN ULONG Increment
IN ulong_xt Increment
)
{
LOG_FUNC_BEGIN
@ -340,7 +340,7 @@ XBSYSAPI EXPORTNUM(20) xbox::VOID FASTCALL xbox::ExInterlockedAddLargeStatistic
// * 0x0015 - ExInterlockedCompareExchange64()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(21) xbox::LONGLONG FASTCALL xbox::ExInterlockedCompareExchange64
XBSYSAPI EXPORTNUM(21) xbox::longlong_xt FASTCALL xbox::ExInterlockedCompareExchange64
(
IN OUT PLONGLONG Destination,
IN PLONGLONG Exchange,
@ -378,7 +378,7 @@ XBSYSAPI EXPORTNUM(22) xbox::OBJECT_TYPE xbox::ExMutantObjectType =
// ******************************************************************
// * 0x0017 - ExQueryPoolBlockSize()
// ******************************************************************
XBSYSAPI EXPORTNUM(23) xbox::ULONG NTAPI xbox::ExQueryPoolBlockSize
XBSYSAPI EXPORTNUM(23) xbox::ulong_xt NTAPI xbox::ExQueryPoolBlockSize
(
IN PVOID PoolBlock
)
@ -393,12 +393,12 @@ XBSYSAPI EXPORTNUM(23) xbox::ULONG NTAPI xbox::ExQueryPoolBlockSize
// ******************************************************************
// * 0x0018 - ExQueryNonVolatileSetting()
// ******************************************************************
XBSYSAPI EXPORTNUM(24) xbox::NTSTATUS NTAPI xbox::ExQueryNonVolatileSetting
XBSYSAPI EXPORTNUM(24) xbox::ntstatus_xt NTAPI xbox::ExQueryNonVolatileSetting
(
IN DWORD ValueIndex,
OUT DWORD *Type,
IN dword_xt ValueIndex,
OUT dword_xt *Type,
OUT PVOID Value,
IN SIZE_T ValueLength,
IN size_xt ValueLength,
OUT PSIZE_T ResultLength OPTIONAL
)
{
@ -410,7 +410,7 @@ XBSYSAPI EXPORTNUM(24) xbox::NTSTATUS NTAPI xbox::ExQueryNonVolatileSetting
LOG_FUNC_ARG_OUT(ResultLength)
LOG_FUNC_END;
NTSTATUS Status = STATUS_SUCCESS;
NTSTATUS Status = xbox::status_success;
void * value_addr = nullptr;
int value_type;
int result_length;
@ -419,7 +419,7 @@ XBSYSAPI EXPORTNUM(24) xbox::NTSTATUS NTAPI xbox::ExQueryNonVolatileSetting
// handle eeprom read
if (index == XC_FACTORY_GAME_REGION) {
value_addr = &XboxFactoryGameRegion;
value_type = REG_DWORD;
value_type = reg_dword;
result_length = sizeof(ULONG);
}
else {
@ -457,11 +457,11 @@ XBSYSAPI EXPORTNUM(24) xbox::NTSTATUS NTAPI xbox::ExQueryNonVolatileSetting
UnlockEeprom();
}
else {
Status = STATUS_BUFFER_TOO_SMALL;
Status = xbox::status_buffer_too_small;
}
}
else {
Status = STATUS_OBJECT_NAME_NOT_FOUND;
Status = xbox::status_object_name_not_found;
}
RETURN(Status);
@ -470,11 +470,11 @@ XBSYSAPI EXPORTNUM(24) xbox::NTSTATUS NTAPI xbox::ExQueryNonVolatileSetting
// ******************************************************************
// * 0x0019 - ExReadWriteRefurbInfo()
// ******************************************************************
XBSYSAPI EXPORTNUM(25) xbox::NTSTATUS NTAPI xbox::ExReadWriteRefurbInfo
XBSYSAPI EXPORTNUM(25) xbox::ntstatus_xt NTAPI xbox::ExReadWriteRefurbInfo
(
IN OUT PXBOX_REFURB_INFO pRefurbInfo,
IN ULONG dwBufferSize,
IN BOOLEAN bIsWriteMode
IN ulong_xt dwBufferSize,
IN boolean_xt bIsWriteMode
)
{
LOG_FUNC_BEGIN
@ -483,7 +483,7 @@ XBSYSAPI EXPORTNUM(25) xbox::NTSTATUS NTAPI xbox::ExReadWriteRefurbInfo
LOG_FUNC_ARG(bIsWriteMode)
LOG_FUNC_END;
NTSTATUS Result = STATUS_SUCCESS;
NTSTATUS Result = xbox::status_success;
/* TODO: Port this Dxbx code :
if (pRefurbInfo)
@ -508,7 +508,7 @@ XBSYSAPI EXPORTNUM(25) xbox::NTSTATUS NTAPI xbox::ExReadWriteRefurbInfo
&IoStatusBlock,
FILE_SHARE_READ or FILE_SHARE_WRITE,
FILE_SYNCHRONOUS_IO_ALERT);
if (NT_SUCCESS(Result))
if (nt_success(Result))
{
LARGE_INTEGER ByteOffset;
ByteOffset.QuadPart = XBOX_REFURB_INFO_SECTOR_INDEX * XBOX_HD_SECTOR_SIZE;
@ -523,7 +523,7 @@ XBSYSAPI EXPORTNUM(25) xbox::NTSTATUS NTAPI xbox::ExReadWriteRefurbInfo
else
{
Result = xbox::NtReadFile(ConfigPartitionHandle, 0, NULL, NULL, &IoStatusBlock, &RefurbInfoCopy, XBOX_HD_SECTOR_SIZE, &ByteOffset);
if (NT_SUCCESS(Result))
if (nt_success(Result))
{
if (RefurbInfoCopy.Signature_ == XBOX_REFURB_INFO_SIGNATURE)
// No signature - clear output buffer :
@ -538,7 +538,7 @@ XBSYSAPI EXPORTNUM(25) xbox::NTSTATUS NTAPI xbox::ExReadWriteRefurbInfo
}
}
else
Result = STATUS_UNSUCCESSFUL; // This may never happen!
Result = xbox::status_unsuccessful; // This may never happen!
*/
LOG_IGNORED();
@ -550,7 +550,7 @@ XBSYSAPI EXPORTNUM(25) xbox::NTSTATUS NTAPI xbox::ExReadWriteRefurbInfo
// * 0x001A - ExRaiseException()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(26) xbox::VOID NTAPI xbox::ExRaiseException
XBSYSAPI EXPORTNUM(26) xbox::void_xt NTAPI xbox::ExRaiseException
(
IN PEXCEPTION_RECORD ExceptionRecord
)
@ -565,9 +565,9 @@ XBSYSAPI EXPORTNUM(26) xbox::VOID NTAPI xbox::ExRaiseException
// * 0x001B - ExRaiseStatus()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(27) xbox::VOID NTAPI xbox::ExRaiseStatus
XBSYSAPI EXPORTNUM(27) xbox::void_xt NTAPI xbox::ExRaiseStatus
(
IN NTSTATUS Status
IN ntstatus_xt Status
)
{
LOG_FUNC_ONE_ARG(Status);
@ -579,7 +579,7 @@ XBSYSAPI EXPORTNUM(27) xbox::VOID NTAPI xbox::ExRaiseStatus
// * 0x001C - ExReleaseReadWriteLock()
// ******************************************************************
// Source:APILogger - Uncertain
XBSYSAPI EXPORTNUM(28) xbox::VOID NTAPI xbox::ExReleaseReadWriteLock
XBSYSAPI EXPORTNUM(28) xbox::void_xt NTAPI xbox::ExReleaseReadWriteLock
(
IN PERWLOCK ReadWriteLock
)
@ -600,7 +600,7 @@ XBSYSAPI EXPORTNUM(28) xbox::VOID NTAPI xbox::ExReleaseReadWriteLock
ReadWriteLock->ReadersEntryCount = ReadWriteLock->ReadersWaitingCount;
ReadWriteLock->ReadersWaitingCount = 0;
RestoreInterruptMode(interrupt_mode);
KeReleaseSemaphore(&ReadWriteLock->ReaderSemaphore, 1, (LONG)orig_readers_waiting, 0);
KeReleaseSemaphore(&ReadWriteLock->ReaderSemaphore, 1, (long_xt)orig_readers_waiting, 0);
return;
}
}
@ -620,12 +620,12 @@ XBSYSAPI EXPORTNUM(28) xbox::VOID NTAPI xbox::ExReleaseReadWriteLock
// ******************************************************************
// * 0x001D - ExSaveNonVolatileSetting()
// ******************************************************************
XBSYSAPI EXPORTNUM(29) xbox::NTSTATUS NTAPI xbox::ExSaveNonVolatileSetting
XBSYSAPI EXPORTNUM(29) xbox::ntstatus_xt NTAPI xbox::ExSaveNonVolatileSetting
(
IN DWORD ValueIndex,
IN DWORD Type,
IN dword_xt ValueIndex,
IN dword_xt Type,
IN PVOID Value,
IN SIZE_T ValueLength
IN size_xt ValueLength
)
{
LOG_FUNC_BEGIN
@ -635,13 +635,13 @@ XBSYSAPI EXPORTNUM(29) xbox::NTSTATUS NTAPI xbox::ExSaveNonVolatileSetting
LOG_FUNC_ARG(ValueLength)
LOG_FUNC_END;
NTSTATUS Status = STATUS_SUCCESS;
NTSTATUS Status = xbox::status_success;
void * value_addr = nullptr;
DWORD result_length;
// Don't allow writing to the eeprom encrypted area
if (ValueIndex == XC_ENCRYPTED_SECTION)
RETURN(STATUS_OBJECT_NAME_NOT_FOUND);
RETURN(xbox::status_object_name_not_found);
// handle eeprom write
if (g_bIsDebug || ValueIndex <= XC_MAX_OS || ValueIndex > XC_MAX_FACTORY)
@ -683,7 +683,7 @@ XBSYSAPI EXPORTNUM(29) xbox::NTSTATUS NTAPI xbox::ExSaveNonVolatileSetting
}
}
else {
Status = STATUS_OBJECT_NAME_NOT_FOUND;
Status = xbox::status_object_name_not_found;
}
RETURN(Status);

View File

@ -28,7 +28,7 @@
#define LOG_PREFIX CXBXR_MODULE::FSC
#include <xboxkrnl/xboxkrnl.h> // For FscGetCacheSize, etc.
#include <core\kernel\exports\xboxkrnl.h> // For FscGetCacheSize, etc.
#include "Logging.h" // For LOG_FUNC()
#include "EmuKrnlLogging.h"
@ -43,12 +43,12 @@ namespace NtDll
#define FSCACHE_MAXIMUM_NUMBER_OF_CACHE_PAGES 2048
// global variables
xbox::LONG g_FscNumberOfCachePages = 16; // 16 = default number of file system cache pages
xbox::long_xt g_FscNumberOfCachePages = 16; // 16 = default number of file system cache pages
// ******************************************************************
// * 0x0023 - FscGetCacheSize()
// ******************************************************************
XBSYSAPI EXPORTNUM(35) xbox::ULONG NTAPI xbox::FscGetCacheSize()
XBSYSAPI EXPORTNUM(35) xbox::ulong_xt NTAPI xbox::FscGetCacheSize()
{
LOG_FUNC();
@ -58,7 +58,7 @@ XBSYSAPI EXPORTNUM(35) xbox::ULONG NTAPI xbox::FscGetCacheSize()
// ******************************************************************
// * 0x0024 - FscInvalidateIdleBlocks()
// ******************************************************************
XBSYSAPI EXPORTNUM(36) xbox::VOID NTAPI xbox::FscInvalidateIdleBlocks()
XBSYSAPI EXPORTNUM(36) xbox::void_xt NTAPI xbox::FscInvalidateIdleBlocks()
{
LOG_FUNC();
@ -67,7 +67,7 @@ XBSYSAPI EXPORTNUM(36) xbox::VOID NTAPI xbox::FscInvalidateIdleBlocks()
static xbox::KEVENT g_FscCacheEvent;
xbox::VOID xbox::InitializeFscCacheEvent()
xbox::void_xt xbox::InitializeFscCacheEvent()
{
KeInitializeEvent(&g_FscCacheEvent, SynchronizationEvent, TRUE);
}
@ -75,14 +75,14 @@ xbox::VOID xbox::InitializeFscCacheEvent()
// ******************************************************************
// * 0x0025 - FscSetCacheSize()
// ******************************************************************
XBSYSAPI EXPORTNUM(37) xbox::NTSTATUS NTAPI xbox::FscSetCacheSize
XBSYSAPI EXPORTNUM(37) xbox::ntstatus_xt NTAPI xbox::FscSetCacheSize
(
ULONG NumberOfCachePages
ulong_xt NumberOfCachePages
)
{
LOG_FUNC_ONE_ARG(NumberOfCachePages);
NTSTATUS ret = STATUS_SUCCESS;
NTSTATUS ret = xbox::status_success;
KeWaitForSingleObject(&g_FscCacheEvent, Executive, 0, 0, 0);
UCHAR orig_irql = KeRaiseIrqlToDpcLevel();

View File

@ -29,7 +29,7 @@
#define LOG_PREFIX CXBXR_MODULE::HAL
#include <xboxkrnl/xboxkrnl.h> // For HalReadSMCTrayState, etc.
#include <core\kernel\exports\xboxkrnl.h> // For HalReadSMCTrayState, etc.
#include <Shlwapi.h> // For PathRemoveFileSpec()
#include "Logging.h" // For LOG_FUNC()
#include "EmuKrnl.h" // For InitializeListHead(), etc.
@ -78,10 +78,10 @@ static DWORD g_TrayCount = 0;
// ******************************************************************
// * 0x0009 - HalReadSMCTrayState()
// ******************************************************************
XBSYSAPI EXPORTNUM(9) xbox::NTSTATUS NTAPI xbox::HalReadSMCTrayState
XBSYSAPI EXPORTNUM(9) xbox::ntstatus_xt NTAPI xbox::HalReadSMCTrayState
(
DWORD* State,
DWORD* Count
dword_xt* State,
dword_xt* Count
)
{
LOG_FUNC_BEGIN
@ -94,9 +94,9 @@ XBSYSAPI EXPORTNUM(9) xbox::NTSTATUS NTAPI xbox::HalReadSMCTrayState
DWORD orig_TrayCount = g_TrayCount;
KfLowerIrql(orig_irql);
NTSTATUS ret = STATUS_SUCCESS;
NTSTATUS ret = xbox::status_success;
if (TrayState == INIT_TRAY_STATE) {
ret = HalReadSMBusValue(SMBUS_ADDRESS_SYSTEM_MICRO_CONTROLLER, SMC_COMMAND_TRAY_STATE, 0, &TrayState);
ret = HalReadSMBusValue(SMBUS_ADDRESS_SYSTEM_MICRO_CONTROLLER, SMC_COMMAND_TRAY_STATE, 0, (PULONG)&TrayState);
// If bit 31 = 1, then there is an error so do not execute this code.
if ((ret >> 31) == 0) {
TrayState &= 0x70;
@ -125,7 +125,7 @@ XBSYSAPI EXPORTNUM(9) xbox::NTSTATUS NTAPI xbox::HalReadSMCTrayState
// * 0x0026 - HalClearSoftwareInterrupt()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(38) xbox::VOID FASTCALL xbox::HalClearSoftwareInterrupt
XBSYSAPI EXPORTNUM(38) xbox::void_xt FASTCALL xbox::HalClearSoftwareInterrupt
(
KIRQL Request
)
@ -140,9 +140,9 @@ XBSYSAPI EXPORTNUM(38) xbox::VOID FASTCALL xbox::HalClearSoftwareInterrupt
// ******************************************************************
// * 0x0027 - HalDisableSystemInterrupt()
// ******************************************************************
XBSYSAPI EXPORTNUM(39) xbox::VOID NTAPI xbox::HalDisableSystemInterrupt
XBSYSAPI EXPORTNUM(39) xbox::void_xt NTAPI xbox::HalDisableSystemInterrupt
(
IN ULONG BusInterruptLevel
IN ulong_xt BusInterruptLevel
)
{
LOG_FUNC_ONE_ARG(BusInterruptLevel);
@ -155,7 +155,7 @@ XBSYSAPI EXPORTNUM(39) xbox::VOID NTAPI xbox::HalDisableSystemInterrupt
// ******************************************************************
// This specifies the number of Cache partitions available for game data caching
// On real hardware, there are three, generally known as X, Y and Z in homebrew
XBSYSAPI EXPORTNUM(40) xbox::ULONG xbox::HalDiskCachePartitionCount = 3;
XBSYSAPI EXPORTNUM(40) xbox::ulong_xt xbox::HalDiskCachePartitionCount = 3;
// ******************************************************************
// * 0x0029 - HalDiskModelNumber
@ -172,9 +172,9 @@ XBSYSAPI EXPORTNUM(42) xbox::PANSI_STRING xbox::HalDiskSerialNumber = 0;
// ******************************************************************
// * 0x002B - HalEnableSystemInterrupt()
// ******************************************************************
XBSYSAPI EXPORTNUM(43) xbox::VOID NTAPI xbox::HalEnableSystemInterrupt
XBSYSAPI EXPORTNUM(43) xbox::void_xt NTAPI xbox::HalEnableSystemInterrupt
(
IN ULONG BusInterruptLevel,
IN ulong_xt BusInterruptLevel,
IN KINTERRUPT_MODE InterruptMode
)
{
@ -224,9 +224,9 @@ char *IRQNames[MAX_BUS_INTERRUPT_LEVEL + 1] =
// ******************************************************************
// * 0x002C - HalGetInterruptVector()
// ******************************************************************
XBSYSAPI EXPORTNUM(44) xbox::ULONG NTAPI xbox::HalGetInterruptVector
XBSYSAPI EXPORTNUM(44) xbox::ulong_xt NTAPI xbox::HalGetInterruptVector
(
IN ULONG BusInterruptLevel,
IN ulong_xt BusInterruptLevel,
OUT PKIRQL Irql
)
{
@ -261,11 +261,11 @@ XBSYSAPI EXPORTNUM(44) xbox::ULONG NTAPI xbox::HalGetInterruptVector
// ******************************************************************
// * 0x002D - HalReadSMBusValue()
// ******************************************************************
XBSYSAPI EXPORTNUM(45) xbox::NTSTATUS NTAPI xbox::HalReadSMBusValue
XBSYSAPI EXPORTNUM(45) xbox::ntstatus_xt NTAPI xbox::HalReadSMBusValue
(
IN UCHAR Address,
IN UCHAR Command,
IN BOOLEAN ReadWord,
IN uchar_xt Address,
IN uchar_xt Command,
IN boolean_xt ReadWord,
OUT PULONG DataValue
)
{
@ -278,7 +278,7 @@ XBSYSAPI EXPORTNUM(45) xbox::NTSTATUS NTAPI xbox::HalReadSMBusValue
// TODO : Prevent interrupts
NTSTATUS Status = STATUS_SUCCESS;
NTSTATUS Status = xbox::status_success;
// ergo720: the or 1 on the address is necessary because I have seen that UnleashX and RDX dashboard pass 0x20 instead of the
// expected 0x21 to this function when reading cpu and m/b temperatures
@ -293,7 +293,7 @@ XBSYSAPI EXPORTNUM(45) xbox::NTSTATUS NTAPI xbox::HalReadSMBusValue
// Check if the command was executed successfully
if (g_SMBus->IORead(1, SMB_GLOBAL_STATUS) & GS_PRERR_STS) {
Status = STATUS_UNSUCCESSFUL;
Status = xbox::status_unsuccessful;
}
else {
*DataValue = g_SMBus->IORead(1, SMB_HOST_DATA);
@ -310,14 +310,14 @@ XBSYSAPI EXPORTNUM(45) xbox::NTSTATUS NTAPI xbox::HalReadSMBusValue
// * 0x002E - HalReadWritePCISpace()
// ******************************************************************
// Source:OpenXDK
XBSYSAPI EXPORTNUM(46) xbox::VOID NTAPI xbox::HalReadWritePCISpace
XBSYSAPI EXPORTNUM(46) xbox::void_xt NTAPI xbox::HalReadWritePCISpace
(
IN ULONG BusNumber,
IN ULONG SlotNumber,
IN ULONG RegisterNumber,
IN ulong_xt BusNumber,
IN ulong_xt SlotNumber,
IN ulong_xt RegisterNumber,
IN PVOID Buffer,
IN ULONG Length,
IN BOOLEAN WritePCISpace
IN ulong_xt Length,
IN boolean_xt WritePCISpace
)
{
LOG_FUNC_BEGIN
@ -355,7 +355,7 @@ XBSYSAPI EXPORTNUM(46) xbox::VOID NTAPI xbox::HalReadWritePCISpace
int ByteOffset = RegisterNumber % sizeof(ULONG);
int Size = RegisterDataSizes[RegisterNumber % sizeof(ULONG)][Length % sizeof(ULONG)];
EmuX86_IOWrite((xbox::addr)PCI_TYPE1_ADDR_PORT, CfgBits.u.AsULONG, sizeof(uint32_t));
EmuX86_IOWrite((xbox::addr_xt)PCI_TYPE1_ADDR_PORT, CfgBits.u.AsULONG, sizeof(uint32_t));
if (WritePCISpace) {
EmuX86_IOWrite(PCI_TYPE1_DATA_PORT, *((PUCHAR)Buffer), Size);
@ -386,10 +386,10 @@ XBSYSAPI EXPORTNUM(46) xbox::VOID NTAPI xbox::HalReadWritePCISpace
// ******************************************************************
// * 0x002F - HalRegisterShutdownNotification()
// ******************************************************************
XBSYSAPI EXPORTNUM(47) xbox::VOID NTAPI xbox::HalRegisterShutdownNotification
XBSYSAPI EXPORTNUM(47) xbox::void_xt NTAPI xbox::HalRegisterShutdownNotification
(
IN PHAL_SHUTDOWN_REGISTRATION ShutdownRegistration,
IN BOOLEAN Register
IN boolean_xt Register
)
{
LOG_FUNC_BEGIN
@ -446,7 +446,7 @@ uint8_t SoftwareInterruptLookupTable[] = {
// * 0x0030 - HalRequestSoftwareInterrupt()
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(48) xbox::VOID FASTCALL xbox::HalRequestSoftwareInterrupt
XBSYSAPI EXPORTNUM(48) xbox::void_xt FASTCALL xbox::HalRequestSoftwareInterrupt
(
IN KIRQL Request
)
@ -480,7 +480,7 @@ XBSYSAPI EXPORTNUM(48) xbox::VOID FASTCALL xbox::HalRequestSoftwareInterrupt
// ******************************************************************
// * 0x0031 - HalReturnToFirmware()
// ******************************************************************
XBSYSAPI EXPORTNUM(49) xbox::VOID DECLSPEC_NORETURN NTAPI xbox::HalReturnToFirmware
XBSYSAPI EXPORTNUM(49) xbox::void_xt DECLSPEC_NORETURN NTAPI xbox::HalReturnToFirmware
(
RETURN_FIRMWARE Routine
)
@ -651,12 +651,12 @@ XBSYSAPI EXPORTNUM(49) xbox::VOID DECLSPEC_NORETURN NTAPI xbox::HalReturnToFirmw
// ******************************************************************
// * 0x0032 - HalWriteSMBusValue()
// ******************************************************************
XBSYSAPI EXPORTNUM(50) xbox::NTSTATUS NTAPI xbox::HalWriteSMBusValue
XBSYSAPI EXPORTNUM(50) xbox::ntstatus_xt NTAPI xbox::HalWriteSMBusValue
(
IN UCHAR Address,
IN UCHAR Command,
IN BOOLEAN WriteWord,
IN ULONG DataValue
IN uchar_xt Address,
IN uchar_xt Command,
IN boolean_xt WriteWord,
IN ulong_xt DataValue
)
{
LOG_FUNC_BEGIN
@ -668,7 +668,7 @@ XBSYSAPI EXPORTNUM(50) xbox::NTSTATUS NTAPI xbox::HalWriteSMBusValue
// TODO : Prevent interrupts
NTSTATUS Status = STATUS_SUCCESS;
NTSTATUS Status = xbox::status_success;
g_SMBus->IOWrite(1, SMB_HOST_ADDRESS, Address);
g_SMBus->IOWrite(1, SMB_HOST_COMMAND, Command);
@ -683,7 +683,7 @@ XBSYSAPI EXPORTNUM(50) xbox::NTSTATUS NTAPI xbox::HalWriteSMBusValue
// Check if the command was executed successfully
if (g_SMBus->IORead(1, SMB_GLOBAL_STATUS) & GS_PRERR_STS) {
Status = STATUS_UNSUCCESSFUL;
Status = xbox::status_unsuccessful;
}
// TODO : Reenable interrupts
@ -694,11 +694,11 @@ XBSYSAPI EXPORTNUM(50) xbox::NTSTATUS NTAPI xbox::HalWriteSMBusValue
// ******************************************************************
// * 0x0149 - READ_PORT_BUFFER_UCHAR()
// ******************************************************************
XBSYSAPI EXPORTNUM(329) xbox::VOID NTAPI xbox::READ_PORT_BUFFER_UCHAR
XBSYSAPI EXPORTNUM(329) xbox::void_xt NTAPI xbox::READ_PORT_BUFFER_UCHAR
(
IN PUCHAR Port,
IN PUCHAR Buffer,
IN ULONG Count
IN ulong_xt Count
)
{
LOG_FUNC_BEGIN
@ -708,17 +708,17 @@ XBSYSAPI EXPORTNUM(329) xbox::VOID NTAPI xbox::READ_PORT_BUFFER_UCHAR
LOG_FUNC_END;
while (Count-- > 0)
*Buffer++ = (uint8_t)EmuX86_IORead((xbox::addr)Port, sizeof(uint8_t));
*Buffer++ = (uint8_t)EmuX86_IORead((xbox::addr_xt)Port, sizeof(uint8_t));
}
// ******************************************************************
// * 0x014A - READ_PORT_BUFFER_USHORT()
// ******************************************************************
XBSYSAPI EXPORTNUM(330) xbox::VOID NTAPI xbox::READ_PORT_BUFFER_USHORT
XBSYSAPI EXPORTNUM(330) xbox::void_xt NTAPI xbox::READ_PORT_BUFFER_USHORT
(
IN PUSHORT Port,
IN PUSHORT Buffer,
IN ULONG Count
IN ulong_xt Count
)
{
LOG_FUNC_BEGIN
@ -728,17 +728,17 @@ XBSYSAPI EXPORTNUM(330) xbox::VOID NTAPI xbox::READ_PORT_BUFFER_USHORT
LOG_FUNC_END;
while (Count-- > 0)
*Buffer++ = (uint16_t)EmuX86_IORead((xbox::addr)Port, sizeof(uint16_t));
*Buffer++ = (uint16_t)EmuX86_IORead((xbox::addr_xt)Port, sizeof(uint16_t));
}
// ******************************************************************
// * 0x014B - READ_PORT_BUFFER_ULONG()
// ******************************************************************
XBSYSAPI EXPORTNUM(331) xbox::VOID NTAPI xbox::READ_PORT_BUFFER_ULONG
XBSYSAPI EXPORTNUM(331) xbox::void_xt NTAPI xbox::READ_PORT_BUFFER_ULONG
(
IN PULONG Port,
IN PULONG Buffer,
IN ULONG Count
IN ulong_xt Count
)
{
LOG_FUNC_BEGIN
@ -748,17 +748,17 @@ XBSYSAPI EXPORTNUM(331) xbox::VOID NTAPI xbox::READ_PORT_BUFFER_ULONG
LOG_FUNC_END;
while (Count-- > 0)
*Buffer++ = EmuX86_IORead((xbox::addr)Port, sizeof(uint32_t));
*Buffer++ = EmuX86_IORead((xbox::addr_xt)Port, sizeof(uint32_t));
}
// ******************************************************************
// * 0x014C - WRITE_PORT_BUFFER_UCHAR()
// ******************************************************************
XBSYSAPI EXPORTNUM(332) xbox::VOID NTAPI xbox::WRITE_PORT_BUFFER_UCHAR
XBSYSAPI EXPORTNUM(332) xbox::void_xt NTAPI xbox::WRITE_PORT_BUFFER_UCHAR
(
IN PUCHAR Port,
IN PUCHAR Buffer,
IN ULONG Count
IN ulong_xt Count
)
{
LOG_FUNC_BEGIN
@ -768,17 +768,17 @@ XBSYSAPI EXPORTNUM(332) xbox::VOID NTAPI xbox::WRITE_PORT_BUFFER_UCHAR
LOG_FUNC_END;
while (Count-- > 0)
EmuX86_IOWrite((xbox::addr)Port, *Buffer++, sizeof(uint8_t));
EmuX86_IOWrite((xbox::addr_xt)Port, *Buffer++, sizeof(uint8_t));
}
// ******************************************************************
// * 0x014D - WRITE_PORT_BUFFER_USHORT()
// ******************************************************************
XBSYSAPI EXPORTNUM(333) xbox::VOID NTAPI xbox::WRITE_PORT_BUFFER_USHORT
XBSYSAPI EXPORTNUM(333) xbox::void_xt NTAPI xbox::WRITE_PORT_BUFFER_USHORT
(
IN PUSHORT Port,
IN PUSHORT Buffer,
IN ULONG Count
IN ulong_xt Count
)
{
LOG_FUNC_BEGIN
@ -788,17 +788,17 @@ XBSYSAPI EXPORTNUM(333) xbox::VOID NTAPI xbox::WRITE_PORT_BUFFER_USHORT
LOG_FUNC_END;
while (Count-- > 0)
EmuX86_IOWrite((xbox::addr)Port, *Buffer++, sizeof(uint16_t));
EmuX86_IOWrite((xbox::addr_xt)Port, *Buffer++, sizeof(uint16_t));
}
// ******************************************************************
// * 0x014E - WRITE_PORT_BUFFER_ULONG()
// ******************************************************************
XBSYSAPI EXPORTNUM(334) xbox::VOID NTAPI xbox::WRITE_PORT_BUFFER_ULONG
XBSYSAPI EXPORTNUM(334) xbox::void_xt NTAPI xbox::WRITE_PORT_BUFFER_ULONG
(
IN PULONG Port,
IN PULONG Buffer,
IN ULONG Count
IN ulong_xt Count
)
{
LOG_FUNC_BEGIN
@ -808,20 +808,20 @@ XBSYSAPI EXPORTNUM(334) xbox::VOID NTAPI xbox::WRITE_PORT_BUFFER_ULONG
LOG_FUNC_END;
while (Count-- > 0)
EmuX86_IOWrite((xbox::addr)Port, *Buffer++, sizeof(uint32_t));
EmuX86_IOWrite((xbox::addr_xt)Port, *Buffer++, sizeof(uint32_t));
}
// ******************************************************************
// * 0x0164 - HalBootSMCVideoMode
// ******************************************************************
// TODO: This should be set to whichever AV Pack is read from the SMC at boot time
XBSYSAPI EXPORTNUM(356) xbox::DWORD xbox::HalBootSMCVideoMode = 1; // TODO : AV_PACK_STANDARD?
XBSYSAPI EXPORTNUM(356) xbox::dword_xt xbox::HalBootSMCVideoMode = 1; // TODO : AV_PACK_STANDARD?
// ******************************************************************
// * 0x0166 - HalIsResetOrShutdownPending()
// ******************************************************************
// Source:Dxbx
XBSYSAPI EXPORTNUM(358) xbox::BOOLEAN NTAPI xbox::HalIsResetOrShutdownPending
XBSYSAPI EXPORTNUM(358) xbox::boolean_xt NTAPI xbox::HalIsResetOrShutdownPending
(
)
{
@ -838,7 +838,7 @@ XBSYSAPI EXPORTNUM(358) xbox::BOOLEAN NTAPI xbox::HalIsResetOrShutdownPending
// * 0x0168 - HalInitiateShutdown()
// ******************************************************************
// Source:Dxbx
XBSYSAPI EXPORTNUM(360) xbox::NTSTATUS NTAPI xbox::HalInitiateShutdown
XBSYSAPI EXPORTNUM(360) xbox::ntstatus_xt NTAPI xbox::HalInitiateShutdown
(
)
{
@ -859,7 +859,7 @@ XBSYSAPI EXPORTNUM(360) xbox::NTSTATUS NTAPI xbox::HalInitiateShutdown
//
// New to the XBOX.
// Source:XBMC Undocumented.h
XBSYSAPI EXPORTNUM(365) xbox::VOID NTAPI xbox::HalEnableSecureTrayEject
XBSYSAPI EXPORTNUM(365) xbox::void_xt NTAPI xbox::HalEnableSecureTrayEject
(
)
{
@ -872,9 +872,9 @@ XBSYSAPI EXPORTNUM(365) xbox::VOID NTAPI xbox::HalEnableSecureTrayEject
// * 0x016E - HalWriteSMCScratchRegister()
// ******************************************************************
// Source:Dxbx
XBSYSAPI EXPORTNUM(366) xbox::NTSTATUS NTAPI xbox::HalWriteSMCScratchRegister
XBSYSAPI EXPORTNUM(366) xbox::ntstatus_xt NTAPI xbox::HalWriteSMCScratchRegister
(
IN DWORD ScratchRegister
IN dword_xt ScratchRegister
)
{
LOG_FUNC_ONE_ARG(ScratchRegister);

View File

@ -29,7 +29,7 @@
#define LOG_PREFIX CXBXR_MODULE::IO
#include <xboxkrnl/xboxkrnl.h> // For IoCompletionObjectType, etc.
#include <core\kernel\exports\xboxkrnl.h> // For IoCompletionObjectType, etc.
#include "Logging.h" // For LOG_FUNC()
#include "EmuKrnlLogging.h"
#include "core\kernel\init\CxbxKrnl.h" // For CxbxKrnlCleanup
@ -42,7 +42,7 @@
// ******************************************************************
XBSYSAPI EXPORTNUM(59) xbox::PVOID NTAPI xbox::IoAllocateIrp
(
IN CCHAR StackSize
IN cchar_xt StackSize
)
{
LOG_FUNC_ONE_ARG(StackSize);
@ -59,10 +59,10 @@ XBSYSAPI EXPORTNUM(59) xbox::PVOID NTAPI xbox::IoAllocateIrp
// ******************************************************************
XBSYSAPI EXPORTNUM(60) xbox::PVOID NTAPI xbox::IoBuildAsynchronousFsdRequest
(
IN ULONG MajorFunction,
IN ulong_xt MajorFunction,
IN PDEVICE_OBJECT DeviceObject,
OUT PVOID Buffer OPTIONAL,
IN ULONG Length,
IN ulong_xt Length,
OUT PLARGE_INTEGER StartingOffset OPTIONAL,
OUT PIO_STATUS_BLOCK IoStatusBlock OPTIONAL
)
@ -88,13 +88,13 @@ XBSYSAPI EXPORTNUM(60) xbox::PVOID NTAPI xbox::IoBuildAsynchronousFsdRequest
// ******************************************************************
XBSYSAPI EXPORTNUM(61) xbox::PVOID NTAPI xbox::IoBuildDeviceIoControlRequest
(
IN ULONG IoControlCode,
IN ulong_xt IoControlCode,
IN PDEVICE_OBJECT DeviceObject,
IN PVOID InputBuffer OPTIONAL,
IN ULONG InputBufferLength,
IN ulong_xt InputBufferLength,
OUT PVOID OutputBuffer OPTIONAL,
IN ULONG OutputBufferLength OPTIONAL,
IN BOOLEAN InternalDeviceIoControl,
IN ulong_xt OutputBufferLength OPTIONAL,
IN boolean_xt InternalDeviceIoControl,
IN PKEVENT Event,
OUT PIO_STATUS_BLOCK IoStatusBlock OPTIONAL
)
@ -123,10 +123,10 @@ XBSYSAPI EXPORTNUM(61) xbox::PVOID NTAPI xbox::IoBuildDeviceIoControlRequest
// ******************************************************************
XBSYSAPI EXPORTNUM(62) xbox::PVOID NTAPI xbox::IoBuildSynchronousFsdRequest
(
IN ULONG MajorFunction,
IN ulong_xt MajorFunction,
IN PDEVICE_OBJECT DeviceObject,
OUT PVOID Buffer OPTIONAL,
IN ULONG Length,
IN ulong_xt Length,
OUT PLARGE_INTEGER StartingOffset OPTIONAL,
IN PKEVENT Event,
OUT PIO_STATUS_BLOCK IoStatusBlock
@ -152,13 +152,13 @@ XBSYSAPI EXPORTNUM(62) xbox::PVOID NTAPI xbox::IoBuildSynchronousFsdRequest
// ******************************************************************
// * 0x003F - IoCheckShareAccess()
// ******************************************************************
XBSYSAPI EXPORTNUM(63) xbox::NTSTATUS NTAPI xbox::IoCheckShareAccess
XBSYSAPI EXPORTNUM(63) xbox::ntstatus_xt NTAPI xbox::IoCheckShareAccess
(
IN ACCESS_MASK DesiredAccess,
IN ULONG DesiredShareAccess,
IN access_mask_xt DesiredAccess,
IN ulong_xt DesiredShareAccess,
OUT PFILE_OBJECT FileObject,
OUT PSHARE_ACCESS ShareAccess,
IN BOOLEAN Update
IN boolean_xt Update
)
{
LOG_FUNC_BEGIN
@ -191,13 +191,13 @@ XBSYSAPI EXPORTNUM(64) xbox::OBJECT_TYPE xbox::IoCompletionObjectType =
// ******************************************************************
// * 0x0041 - IoCreateDevice()
// ******************************************************************
XBSYSAPI EXPORTNUM(65) xbox::NTSTATUS NTAPI xbox::IoCreateDevice
XBSYSAPI EXPORTNUM(65) xbox::ntstatus_xt NTAPI xbox::IoCreateDevice
(
IN PDRIVER_OBJECT DriverObject,
IN ULONG DeviceExtensionSize,
IN ulong_xt DeviceExtensionSize,
IN PSTRING DeviceName OPTIONAL,
IN ULONG DeviceType,
IN BOOLEAN Exclusive,
IN ulong_xt DeviceType,
IN boolean_xt Exclusive,
OUT PDEVICE_OBJECT* DeviceObject
)
{
@ -212,24 +212,24 @@ XBSYSAPI EXPORTNUM(65) xbox::NTSTATUS NTAPI xbox::IoCreateDevice
LOG_UNIMPLEMENTED();
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}
// ******************************************************************
// * 0x0042 - IoCreateFile()
// ******************************************************************
XBSYSAPI EXPORTNUM(66) xbox::NTSTATUS NTAPI xbox::IoCreateFile
XBSYSAPI EXPORTNUM(66) xbox::ntstatus_xt NTAPI xbox::IoCreateFile
(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
IN access_mask_xt DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER AllocationSize OPTIONAL,
IN ULONG FileAttributes,
IN ULONG ShareAccess,
IN ULONG Disposition,
IN ULONG CreateOptions,
IN ULONG Options
IN ulong_xt FileAttributes,
IN ulong_xt ShareAccess,
IN ulong_xt Disposition,
IN ulong_xt CreateOptions,
IN ulong_xt Options
)
{
LOG_FUNC_BEGIN
@ -303,7 +303,7 @@ XBSYSAPI EXPORTNUM(66) xbox::NTSTATUS NTAPI xbox::IoCreateFile
// ******************************************************************
// * 0x0043 - IoCreateSymbolicLink()
// ******************************************************************
XBSYSAPI EXPORTNUM(67) xbox::NTSTATUS NTAPI xbox::IoCreateSymbolicLink
XBSYSAPI EXPORTNUM(67) xbox::ntstatus_xt NTAPI xbox::IoCreateSymbolicLink
(
IN PSTRING SymbolicLinkName,
IN PSTRING DeviceName
@ -322,7 +322,7 @@ XBSYSAPI EXPORTNUM(67) xbox::NTSTATUS NTAPI xbox::IoCreateSymbolicLink
// ******************************************************************
// * 0x0044 - IoDeleteDevice()
// ******************************************************************
XBSYSAPI EXPORTNUM(68) xbox::VOID NTAPI xbox::IoDeleteDevice
XBSYSAPI EXPORTNUM(68) xbox::void_xt NTAPI xbox::IoDeleteDevice
(
IN PDEVICE_OBJECT Irql
)
@ -335,7 +335,7 @@ XBSYSAPI EXPORTNUM(68) xbox::VOID NTAPI xbox::IoDeleteDevice
// ******************************************************************
// * 0x0045 - IoDeleteSymbolicLink()
// ******************************************************************
XBSYSAPI EXPORTNUM(69) xbox::NTSTATUS NTAPI xbox::IoDeleteSymbolicLink
XBSYSAPI EXPORTNUM(69) xbox::ntstatus_xt NTAPI xbox::IoDeleteSymbolicLink
(
IN PSTRING SymbolicLinkName
)
@ -344,7 +344,7 @@ XBSYSAPI EXPORTNUM(69) xbox::NTSTATUS NTAPI xbox::IoDeleteSymbolicLink
EmuNtSymbolicLinkObject* symbolicLink = FindNtSymbolicLinkObjectByName(PSTRING_to_string(SymbolicLinkName));
NTSTATUS ret = STATUS_OBJECT_NAME_NOT_FOUND;
NTSTATUS ret = xbox::status_object_name_not_found;
if (symbolicLink != NULL)
// Destroy the object once all handles to it are closed too :
@ -384,7 +384,7 @@ XBSYSAPI EXPORTNUM(71) xbox::OBJECT_TYPE xbox::IoFileObjectType =
// ******************************************************************
// * 0x0048 - IoFreeIrp()
// ******************************************************************
XBSYSAPI EXPORTNUM(72) xbox::VOID NTAPI xbox::IoFreeIrp
XBSYSAPI EXPORTNUM(72) xbox::void_xt NTAPI xbox::IoFreeIrp
(
IN PIRP Irp
)
@ -400,8 +400,8 @@ XBSYSAPI EXPORTNUM(72) xbox::VOID NTAPI xbox::IoFreeIrp
XBSYSAPI EXPORTNUM(73) xbox::PVOID NTAPI xbox::IoInitializeIrp
(
IN PIRP Irp,
IN USHORT PacketSize,
IN CCHAR StackSize
IN ushort_xt PacketSize,
IN cchar_xt StackSize
)
{
LOG_FUNC_BEGIN
@ -420,7 +420,7 @@ XBSYSAPI EXPORTNUM(73) xbox::PVOID NTAPI xbox::IoInitializeIrp
// ******************************************************************
// * 0x004A - IoInvalidDeviceRequest()
// ******************************************************************
XBSYSAPI EXPORTNUM(74) xbox::NTSTATUS NTAPI xbox::IoInvalidDeviceRequest
XBSYSAPI EXPORTNUM(74) xbox::ntstatus_xt NTAPI xbox::IoInvalidDeviceRequest
(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
@ -439,11 +439,11 @@ XBSYSAPI EXPORTNUM(74) xbox::NTSTATUS NTAPI xbox::IoInvalidDeviceRequest
// ******************************************************************
// * 0x004B - IoQueryFileInformation()
// ******************************************************************
XBSYSAPI EXPORTNUM(75) xbox::NTSTATUS NTAPI xbox::IoQueryFileInformation
XBSYSAPI EXPORTNUM(75) xbox::ntstatus_xt NTAPI xbox::IoQueryFileInformation
(
IN PFILE_OBJECT FileObject,
IN FILE_INFORMATION_CLASS FileInformationClass,
IN ULONG Length,
IN ulong_xt Length,
OUT PVOID FileInformation,
OUT PULONG ReturnedLength
)
@ -465,11 +465,11 @@ XBSYSAPI EXPORTNUM(75) xbox::NTSTATUS NTAPI xbox::IoQueryFileInformation
// ******************************************************************
// * 0x004C - IoQueryVolumeInformation()
// ******************************************************************
XBSYSAPI EXPORTNUM(76) xbox::NTSTATUS NTAPI xbox::IoQueryVolumeInformation
XBSYSAPI EXPORTNUM(76) xbox::ntstatus_xt NTAPI xbox::IoQueryVolumeInformation
(
IN PFILE_OBJECT FileObject,
IN FS_INFORMATION_CLASS FsInformationClass,
IN ULONG Length,
IN ulong_xt Length,
OUT PVOID FsInformation,
OUT PULONG ReturnedLength
)
@ -492,7 +492,7 @@ XBSYSAPI EXPORTNUM(76) xbox::NTSTATUS NTAPI xbox::IoQueryVolumeInformation
// ******************************************************************
// * 0x004D - IoQueueThreadIrp()
// ******************************************************************
XBSYSAPI EXPORTNUM(77) xbox::VOID NTAPI xbox::IoQueueThreadIrp
XBSYSAPI EXPORTNUM(77) xbox::void_xt NTAPI xbox::IoQueueThreadIrp
(
IN PIRP Irp
)
@ -505,7 +505,7 @@ XBSYSAPI EXPORTNUM(77) xbox::VOID NTAPI xbox::IoQueueThreadIrp
// ******************************************************************
// * 0x004E - IoRemoveShareAccess()
// ******************************************************************
XBSYSAPI EXPORTNUM(78) xbox::VOID NTAPI xbox::IoRemoveShareAccess
XBSYSAPI EXPORTNUM(78) xbox::void_xt NTAPI xbox::IoRemoveShareAccess
(
IN PFILE_OBJECT FileObject,
IN PSHARE_ACCESS ShareAccess
@ -522,13 +522,13 @@ XBSYSAPI EXPORTNUM(78) xbox::VOID NTAPI xbox::IoRemoveShareAccess
// ******************************************************************
// * 0x004F - IoSetIoCompletion()
// ******************************************************************
XBSYSAPI EXPORTNUM(79) xbox::NTSTATUS NTAPI xbox::IoSetIoCompletion
XBSYSAPI EXPORTNUM(79) xbox::ntstatus_xt NTAPI xbox::IoSetIoCompletion
(
IN PKQUEUE IoCompletion,
IN PVOID KeyContext,
IN PVOID ApcContext,
IN NTSTATUS IoStatus,
IN ULONG IoStatusInformation
IN ntstatus_xt IoStatus,
IN ulong_xt IoStatusInformation
)
{
LOG_FUNC_BEGIN
@ -547,10 +547,10 @@ XBSYSAPI EXPORTNUM(79) xbox::NTSTATUS NTAPI xbox::IoSetIoCompletion
// ******************************************************************
// * 0x0050 - IoSetShareAccess()
// ******************************************************************
XBSYSAPI EXPORTNUM(80) xbox::CCHAR NTAPI xbox::IoSetShareAccess
XBSYSAPI EXPORTNUM(80) xbox::cchar_xt NTAPI xbox::IoSetShareAccess
(
IN ULONG DesiredAccess,
IN ULONG DesiredShareAccess,
IN ulong_xt DesiredAccess,
IN ulong_xt DesiredShareAccess,
IN PFILE_OBJECT FileObject,
OUT PSHARE_ACCESS ShareAccess
)
@ -562,7 +562,7 @@ XBSYSAPI EXPORTNUM(80) xbox::CCHAR NTAPI xbox::IoSetShareAccess
LOG_FUNC_ARG_OUT(ShareAccess)
LOG_FUNC_END;
xbox::CCHAR ret = 0; // ShareAccess->OpenCount;
xbox::cchar_xt ret = 0; // ShareAccess->OpenCount;
LOG_UNIMPLEMENTED();
@ -572,7 +572,7 @@ XBSYSAPI EXPORTNUM(80) xbox::CCHAR NTAPI xbox::IoSetShareAccess
// ******************************************************************
// * 0x0051 - IoStartNextPacket()
// ******************************************************************
XBSYSAPI EXPORTNUM(81) xbox::VOID NTAPI xbox::IoStartNextPacket
XBSYSAPI EXPORTNUM(81) xbox::void_xt NTAPI xbox::IoStartNextPacket
(
IN PDEVICE_OBJECT DeviceObject
)
@ -585,10 +585,10 @@ XBSYSAPI EXPORTNUM(81) xbox::VOID NTAPI xbox::IoStartNextPacket
// ******************************************************************
// * 0x0052 - IoStartNextPacketByKey()
// ******************************************************************
XBSYSAPI EXPORTNUM(82) xbox::VOID NTAPI xbox::IoStartNextPacketByKey
XBSYSAPI EXPORTNUM(82) xbox::void_xt NTAPI xbox::IoStartNextPacketByKey
(
IN PDEVICE_OBJECT DeviceObject,
IN ULONG Key
IN ulong_xt Key
)
{
LOG_FUNC_BEGIN
@ -602,7 +602,7 @@ XBSYSAPI EXPORTNUM(82) xbox::VOID NTAPI xbox::IoStartNextPacketByKey
// ******************************************************************
// * 0x0053 - IoStartPacket()
// ******************************************************************
XBSYSAPI EXPORTNUM(83) xbox::VOID NTAPI xbox::IoStartPacket
XBSYSAPI EXPORTNUM(83) xbox::void_xt NTAPI xbox::IoStartPacket
(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp,
@ -626,16 +626,16 @@ XBSYSAPI EXPORTNUM(83) xbox::VOID NTAPI xbox::IoStartPacket
// blocking IOCTL on the specified device.
//
// New to the XBOX.
XBSYSAPI EXPORTNUM(84) xbox::NTSTATUS NTAPI xbox::IoSynchronousDeviceIoControlRequest
XBSYSAPI EXPORTNUM(84) xbox::ntstatus_xt NTAPI xbox::IoSynchronousDeviceIoControlRequest
(
IN ULONG IoControlCode,
IN ulong_xt IoControlCode,
IN PDEVICE_OBJECT DeviceObject,
IN PVOID InputBuffer OPTIONAL,
IN ULONG InputBufferLength,
IN ulong_xt InputBufferLength,
OUT PVOID OutputBuffer OPTIONAL,
IN ULONG OutputBufferLength,
IN ulong_xt OutputBufferLength,
OUT PULONG ReturnedOutputBufferLength OPTIONAL,
IN BOOLEAN InternalDeviceIoControl
IN boolean_xt InternalDeviceIoControl
)
{
LOG_FUNC_BEGIN
@ -657,12 +657,12 @@ XBSYSAPI EXPORTNUM(84) xbox::NTSTATUS NTAPI xbox::IoSynchronousDeviceIoControlRe
// ******************************************************************
// * 0x0055 - IoSynchronousFsdRequest()
// ******************************************************************
XBSYSAPI EXPORTNUM(85) xbox::NTSTATUS NTAPI xbox::IoSynchronousFsdRequest
XBSYSAPI EXPORTNUM(85) xbox::ntstatus_xt NTAPI xbox::IoSynchronousFsdRequest
(
IN ULONG MajorFunction,
IN ulong_xt MajorFunction,
IN PDEVICE_OBJECT DeviceObject,
OUT PVOID Buffer OPTIONAL,
IN ULONG Length,
IN ulong_xt Length,
IN PLARGE_INTEGER StartingOffset OPTIONAL
)
{
@ -682,7 +682,7 @@ XBSYSAPI EXPORTNUM(85) xbox::NTSTATUS NTAPI xbox::IoSynchronousFsdRequest
// ******************************************************************
// * 0x0056 - IofCallDriver()
// ******************************************************************
XBSYSAPI EXPORTNUM(86) xbox::NTSTATUS FASTCALL xbox::IofCallDriver
XBSYSAPI EXPORTNUM(86) xbox::ntstatus_xt FASTCALL xbox::IofCallDriver
(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
@ -701,10 +701,10 @@ XBSYSAPI EXPORTNUM(86) xbox::NTSTATUS FASTCALL xbox::IofCallDriver
// ******************************************************************
// * 0x0057 - IofCompleteRequest()
// ******************************************************************
XBSYSAPI EXPORTNUM(87) xbox::VOID FASTCALL xbox::IofCompleteRequest
XBSYSAPI EXPORTNUM(87) xbox::void_xt FASTCALL xbox::IofCompleteRequest
(
IN PIRP Irp,
IN CCHAR PriorityBoost
IN cchar_xt PriorityBoost
)
{
LOG_FUNC_BEGIN
@ -718,14 +718,14 @@ XBSYSAPI EXPORTNUM(87) xbox::VOID FASTCALL xbox::IofCompleteRequest
// ******************************************************************
// * 0x005A - IoDismountVolume()
// ******************************************************************
XBSYSAPI EXPORTNUM(90) xbox::NTSTATUS NTAPI xbox::IoDismountVolume
XBSYSAPI EXPORTNUM(90) xbox::ntstatus_xt NTAPI xbox::IoDismountVolume
(
IN PDEVICE_OBJECT DeviceObject
)
{
LOG_FUNC_ONE_ARG(DeviceObject);
NTSTATUS ret = STATUS_SUCCESS;
NTSTATUS ret = xbox::status_success;
LOG_UNIMPLEMENTED();
@ -735,14 +735,14 @@ XBSYSAPI EXPORTNUM(90) xbox::NTSTATUS NTAPI xbox::IoDismountVolume
// ******************************************************************
// * 0x005B - IoDismountVolumeByName()
// ******************************************************************
XBSYSAPI EXPORTNUM(91) xbox::NTSTATUS NTAPI xbox::IoDismountVolumeByName
XBSYSAPI EXPORTNUM(91) xbox::ntstatus_xt NTAPI xbox::IoDismountVolumeByName
(
IN PSTRING VolumeName
)
{
LOG_FUNC_ONE_ARG(VolumeName);
NTSTATUS ret = STATUS_SUCCESS;
NTSTATUS ret = xbox::status_success;
// TODO: Anything?
LOG_UNIMPLEMENTED();
@ -753,14 +753,14 @@ XBSYSAPI EXPORTNUM(91) xbox::NTSTATUS NTAPI xbox::IoDismountVolumeByName
// ******************************************************************
// * 0x0167 - IoMarkIrpMustComplete()
// ******************************************************************
XBSYSAPI EXPORTNUM(359) xbox::CCHAR NTAPI xbox::IoMarkIrpMustComplete
XBSYSAPI EXPORTNUM(359) xbox::cchar_xt NTAPI xbox::IoMarkIrpMustComplete
(
IN PIRP Irp
)
{
LOG_FUNC_ONE_ARG(Irp);
xbox::CCHAR ret = 0; // ShareAccess->OpenCount;
xbox::cchar_xt ret = 0; // ShareAccess->OpenCount;
LOG_UNIMPLEMENTED();

View File

@ -29,16 +29,16 @@
#define LOG_PREFIX CXBXR_MODULE::KD
#include <xboxkrnl/xboxkrnl.h> // For KdDebuggerEnabled, etc.
#include <core\kernel\exports\xboxkrnl.h> // For KdDebuggerEnabled, etc.
#include "Logging.h"
// ******************************************************************
// * 0x0058 - KdDebuggerEnabled
// ******************************************************************
XBSYSAPI EXPORTNUM(88) xbox::BOOLEAN xbox::KdDebuggerEnabled = false;
XBSYSAPI EXPORTNUM(88) xbox::boolean_xt xbox::KdDebuggerEnabled = false;
// ******************************************************************
// * 0x0059 - KdDebuggerNotPresent
// ******************************************************************
// Source:ReactOS
XBSYSAPI EXPORTNUM(89) xbox::BOOLEAN xbox::KdDebuggerNotPresent = true;
XBSYSAPI EXPORTNUM(89) xbox::boolean_xt xbox::KdDebuggerNotPresent = true;

View File

@ -65,7 +65,7 @@ the said software).
#define LOG_PREFIX CXBXR_MODULE::KE
#include <xboxkrnl/xboxkrnl.h> // For KeBugCheck, etc.
#include <core\kernel\exports\xboxkrnl.h> // For KeBugCheck, etc.
#include "Logging.h" // For LOG_FUNC()
#include "EmuKrnlLogging.h"
@ -98,7 +98,7 @@ typedef struct _DpcData {
DpcData g_DpcData = { 0 }; // Note : g_DpcData is initialized in InitDpcThread()
xbox::ULONGLONG LARGE_INTEGER2ULONGLONG(xbox::LARGE_INTEGER value)
xbox::ulonglong_xt LARGE_INTEGER2ULONGLONG(xbox::LARGE_INTEGER value)
{
// Weird construction because there doesn't seem to exist an implicit
// conversion of LARGE_INTEGER to ULONGLONG :
@ -109,20 +109,20 @@ xbox::ULONGLONG LARGE_INTEGER2ULONGLONG(xbox::LARGE_INTEGER value)
if (Alertable) { \
if (Thread->Alerted[WaitMode] != FALSE) { \
Thread->Alerted[WaitMode] = FALSE; \
WaitStatus = STATUS_ALERTED; \
WaitStatus = xbox::status_alerted; \
break; \
} else if ((WaitMode != KernelMode) && \
(IsListEmpty(&Thread->ApcState.ApcListHead[UserMode])) == FALSE) { \
Thread->ApcState.UserApcPending = TRUE; \
WaitStatus = STATUS_USER_APC; \
WaitStatus = xbox::status_user_apc; \
break; \
} else if (Thread->Alerted[KernelMode] != FALSE) { \
Thread->Alerted[KernelMode] = FALSE; \
WaitStatus = STATUS_ALERTED; \
WaitStatus = xbox::status_alerted; \
break; \
} \
} else if ((WaitMode != KernelMode) && (Thread->ApcState.UserApcPending)) { \
WaitStatus = STATUS_USER_APC; \
WaitStatus = xbox::status_user_apc; \
break; \
}
@ -160,7 +160,7 @@ xbox::KPRCB *KeGetCurrentPrcb()
// ******************************************************************
// * KeSetSystemTime()
// ******************************************************************
xbox::VOID NTAPI xbox::KeSetSystemTime
xbox::void_xt NTAPI xbox::KeSetSystemTime
(
IN xbox::PLARGE_INTEGER NewTime,
OUT xbox::PLARGE_INTEGER OldTime
@ -254,7 +254,7 @@ xbox::VOID NTAPI xbox::KeSetSystemTime
// ******************************************************************
// * KeInitializeTimer()
// ******************************************************************
xbox::VOID NTAPI xbox::KeInitializeTimer
xbox::void_xt NTAPI xbox::KeInitializeTimer
(
IN PKTIMER Timer
)
@ -371,7 +371,7 @@ void CxbxInitPerformanceCounters()
// * 0x005C - KeAlertResumeThread()
// ******************************************************************
// Source:Dxbx
XBSYSAPI EXPORTNUM(92) xbox::NTSTATUS NTAPI xbox::KeAlertResumeThread
XBSYSAPI EXPORTNUM(92) xbox::ntstatus_xt NTAPI xbox::KeAlertResumeThread
(
IN HANDLE ThreadHandle,
IN OUT PULONG PreviousSuspendCount
@ -392,7 +392,7 @@ XBSYSAPI EXPORTNUM(92) xbox::NTSTATUS NTAPI xbox::KeAlertResumeThread
// * 0x005D - KeAlertThread()
// ******************************************************************
// Source:Dxbx
XBSYSAPI EXPORTNUM(93) xbox::NTSTATUS NTAPI xbox::KeAlertThread
XBSYSAPI EXPORTNUM(93) xbox::ntstatus_xt NTAPI xbox::KeAlertThread
(
IN HANDLE ThreadHandle
)
@ -409,7 +409,7 @@ XBSYSAPI EXPORTNUM(93) xbox::NTSTATUS NTAPI xbox::KeAlertThread
// * 0x005E - KeBoostPriorityThread()
// ******************************************************************
// Source:Dxbx
XBSYSAPI EXPORTNUM(94) xbox::NTSTATUS NTAPI xbox::KeBoostPriorityThread
XBSYSAPI EXPORTNUM(94) xbox::ntstatus_xt NTAPI xbox::KeBoostPriorityThread
(
IN PKTHREAD Thread,
IN KPRIORITY Increment
@ -429,9 +429,9 @@ XBSYSAPI EXPORTNUM(94) xbox::NTSTATUS NTAPI xbox::KeBoostPriorityThread
// ******************************************************************
// * 0x005F - KeBugCheck()
// ******************************************************************
XBSYSAPI EXPORTNUM(95) xbox::VOID NTAPI xbox::KeBugCheck
XBSYSAPI EXPORTNUM(95) xbox::void_xt NTAPI xbox::KeBugCheck
(
IN ULONG BugCheckMode
IN ulong_xt BugCheckMode
)
{
LOG_FORWARD("KeBugCheckEx");
@ -443,9 +443,9 @@ XBSYSAPI EXPORTNUM(95) xbox::VOID NTAPI xbox::KeBugCheck
// * 0x0060 - KeBugCheckEx()
// ******************************************************************
// Source:Dxbx
XBSYSAPI EXPORTNUM(96) xbox::NTSTATUS NTAPI xbox::KeBugCheckEx
XBSYSAPI EXPORTNUM(96) xbox::ntstatus_xt NTAPI xbox::KeBugCheckEx
(
IN DWORD BugCheckCode,
IN dword_xt BugCheckCode,
IN PVOID BugCheckParameter1,
IN PVOID BugCheckParameter2,
IN PVOID BugCheckParameter3,
@ -491,7 +491,7 @@ XBSYSAPI EXPORTNUM(96) xbox::NTSTATUS NTAPI xbox::KeBugCheckEx
// ******************************************************************
// * 0x0061 - KeCancelTimer()
// ******************************************************************
XBSYSAPI EXPORTNUM(96) xbox::BOOLEAN NTAPI xbox::KeCancelTimer
XBSYSAPI EXPORTNUM(96) xbox::boolean_xt NTAPI xbox::KeCancelTimer
(
IN PKTIMER Timer
)
@ -526,7 +526,7 @@ xbox::PKINTERRUPT EmuInterruptList[MAX_BUS_INTERRUPT_LEVEL + 1] = { 0 };
// ******************************************************************
// * 0x0062 - KeConnectInterrupt()
// ******************************************************************
XBSYSAPI EXPORTNUM(98) xbox::BOOLEAN NTAPI xbox::KeConnectInterrupt
XBSYSAPI EXPORTNUM(98) xbox::boolean_xt NTAPI xbox::KeConnectInterrupt
(
IN PKINTERRUPT InterruptObject
)
@ -560,10 +560,10 @@ XBSYSAPI EXPORTNUM(98) xbox::BOOLEAN NTAPI xbox::KeConnectInterrupt
// ******************************************************************
// * 0x0063 - KeDelayExecutionThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(99) xbox::NTSTATUS NTAPI xbox::KeDelayExecutionThread
XBSYSAPI EXPORTNUM(99) xbox::ntstatus_xt NTAPI xbox::KeDelayExecutionThread
(
IN KPROCESSOR_MODE WaitMode,
IN BOOLEAN Alertable,
IN boolean_xt Alertable,
IN PLARGE_INTEGER Interval
)
{
@ -581,7 +581,7 @@ XBSYSAPI EXPORTNUM(99) xbox::NTSTATUS NTAPI xbox::KeDelayExecutionThread
// ******************************************************************
// * 0x0064 - KeDisconnectInterrupt()
// ******************************************************************
XBSYSAPI EXPORTNUM(100) xbox::VOID NTAPI xbox::KeDisconnectInterrupt
XBSYSAPI EXPORTNUM(100) xbox::void_xt NTAPI xbox::KeDisconnectInterrupt
(
IN PKINTERRUPT InterruptObject
)
@ -606,9 +606,9 @@ XBSYSAPI EXPORTNUM(100) xbox::VOID NTAPI xbox::KeDisconnectInterrupt
// ******************************************************************
// * 0x0065 - KeEnterCriticalRegion()
// ******************************************************************
XBSYSAPI EXPORTNUM(101) xbox::VOID NTAPI xbox::KeEnterCriticalRegion
XBSYSAPI EXPORTNUM(101) xbox::void_xt NTAPI xbox::KeEnterCriticalRegion
(
VOID
void_xt
)
{
LOG_FUNC();
@ -646,7 +646,7 @@ XBSYSAPI EXPORTNUM(104) xbox::PKTHREAD NTAPI xbox::KeGetCurrentThread(void)
// ******************************************************************
// * 0x0069 - KeInitializeApc()
// ******************************************************************
XBSYSAPI EXPORTNUM(105) xbox::VOID NTAPI xbox::KeInitializeApc
XBSYSAPI EXPORTNUM(105) xbox::void_xt NTAPI xbox::KeInitializeApc
(
IN PKAPC Apc,
IN PKTHREAD Thread,
@ -685,7 +685,7 @@ XBSYSAPI EXPORTNUM(105) xbox::VOID NTAPI xbox::KeInitializeApc
// ******************************************************************
// * 0x006A - KeInitializeDeviceQueue()
// ******************************************************************
XBSYSAPI EXPORTNUM(106) xbox::VOID NTAPI xbox::KeInitializeDeviceQueue
XBSYSAPI EXPORTNUM(106) xbox::void_xt NTAPI xbox::KeInitializeDeviceQueue
(
OUT PKDEVICE_QUEUE DeviceQueue
)
@ -702,7 +702,7 @@ XBSYSAPI EXPORTNUM(106) xbox::VOID NTAPI xbox::KeInitializeDeviceQueue
// ******************************************************************
// * 0x006B - KeInitializeDpc()
// ******************************************************************
XBSYSAPI EXPORTNUM(107) xbox::VOID NTAPI xbox::KeInitializeDpc
XBSYSAPI EXPORTNUM(107) xbox::void_xt NTAPI xbox::KeInitializeDpc
(
KDPC *Dpc,
PKDEFERRED_ROUTINE DeferredRoutine,
@ -725,11 +725,11 @@ XBSYSAPI EXPORTNUM(107) xbox::VOID NTAPI xbox::KeInitializeDpc
// ******************************************************************
// * 0x006C - KeInitializeEvent()
// ******************************************************************
XBSYSAPI EXPORTNUM(108) xbox::VOID NTAPI xbox::KeInitializeEvent
XBSYSAPI EXPORTNUM(108) xbox::void_xt NTAPI xbox::KeInitializeEvent
(
IN PRKEVENT Event,
IN EVENT_TYPE Type,
IN BOOLEAN SignalState
IN boolean_xt SignalState
)
{
LOG_FUNC_BEGIN
@ -756,12 +756,12 @@ XBSYSAPI EXPORTNUM(108) xbox::VOID NTAPI xbox::KeInitializeEvent
// ******************************************************************
// * 0x006D - KeInitializeInterrupt()
// ******************************************************************
XBSYSAPI EXPORTNUM(109) xbox::VOID NTAPI xbox::KeInitializeInterrupt
XBSYSAPI EXPORTNUM(109) xbox::void_xt NTAPI xbox::KeInitializeInterrupt
(
OUT PKINTERRUPT Interrupt,
IN PKSERVICE_ROUTINE ServiceRoutine,
IN PVOID ServiceContext,
IN ULONG Vector,
IN ulong_xt Vector,
IN KIRQL Irql,
IN KINTERRUPT_MODE InterruptMode,
IN BOOLEAN ShareVector
@ -795,10 +795,10 @@ XBSYSAPI EXPORTNUM(109) xbox::VOID NTAPI xbox::KeInitializeInterrupt
// ******************************************************************
// * 0x006E - KeInitializeMutant()
// ******************************************************************
XBSYSAPI EXPORTNUM(110) xbox::VOID NTAPI xbox::KeInitializeMutant
XBSYSAPI EXPORTNUM(110) xbox::void_xt NTAPI xbox::KeInitializeMutant
(
IN PRKMUTANT Mutant,
IN BOOLEAN InitialOwner
IN boolean_xt InitialOwner
)
{
LOG_FUNC_BEGIN
@ -834,10 +834,10 @@ XBSYSAPI EXPORTNUM(110) xbox::VOID NTAPI xbox::KeInitializeMutant
// ******************************************************************
// * 0x006F - KeInitializeQueue()
// ******************************************************************
XBSYSAPI EXPORTNUM(111) xbox::VOID NTAPI xbox::KeInitializeQueue
XBSYSAPI EXPORTNUM(111) xbox::void_xt NTAPI xbox::KeInitializeQueue
(
IN PKQUEUE Queue,
IN ULONG Count OPTIONAL
IN ulong_xt Count OPTIONAL
)
{
LOG_FUNC_BEGIN
@ -860,11 +860,11 @@ XBSYSAPI EXPORTNUM(111) xbox::VOID NTAPI xbox::KeInitializeQueue
// ******************************************************************
// * 0x0070 - KeInitializeSemaphore()
// ******************************************************************
XBSYSAPI EXPORTNUM(112) xbox::VOID NTAPI xbox::KeInitializeSemaphore
XBSYSAPI EXPORTNUM(112) xbox::void_xt NTAPI xbox::KeInitializeSemaphore
(
IN PRKSEMAPHORE Semaphore,
IN LONG Count,
IN LONG Limit
IN long_xt Count,
IN long_xt Limit
)
{
LOG_FUNC_BEGIN
@ -885,7 +885,7 @@ XBSYSAPI EXPORTNUM(112) xbox::VOID NTAPI xbox::KeInitializeSemaphore
// ******************************************************************
// * 0x0071 - KeInitializeTimerEx()
// ******************************************************************
XBSYSAPI EXPORTNUM(113) xbox::VOID NTAPI xbox::KeInitializeTimerEx
XBSYSAPI EXPORTNUM(113) xbox::void_xt NTAPI xbox::KeInitializeTimerEx
(
IN PKTIMER Timer,
IN TIMER_TYPE Type
@ -911,11 +911,11 @@ XBSYSAPI EXPORTNUM(113) xbox::VOID NTAPI xbox::KeInitializeTimerEx
Timer->Period = 0;
}
XBSYSAPI EXPORTNUM(114) xbox::BOOLEAN NTAPI xbox::KeInsertByKeyDeviceQueue
XBSYSAPI EXPORTNUM(114) xbox::boolean_xt NTAPI xbox::KeInsertByKeyDeviceQueue
(
IN PKDEVICE_QUEUE DeviceQueue,
IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry,
IN ULONG SortKey
IN ulong_xt SortKey
)
{
LOG_FUNC_BEGIN
@ -959,7 +959,7 @@ XBSYSAPI EXPORTNUM(114) xbox::BOOLEAN NTAPI xbox::KeInsertByKeyDeviceQueue
// * This implementation is inspired by ReactOS source code
// * Ref: https://github.com/reactos/reactos/blob/master/ntoskrnl/ke/devqueue.c
// ******************************************************************
XBSYSAPI EXPORTNUM(115) xbox::BOOLEAN NTAPI xbox::KeInsertDeviceQueue
XBSYSAPI EXPORTNUM(115) xbox::boolean_xt NTAPI xbox::KeInsertDeviceQueue
(
IN PKDEVICE_QUEUE DeviceQueue,
IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
@ -989,7 +989,7 @@ XBSYSAPI EXPORTNUM(115) xbox::BOOLEAN NTAPI xbox::KeInsertDeviceQueue
RETURN(Res);
}
XBSYSAPI EXPORTNUM(116) xbox::LONG NTAPI xbox::KeInsertHeadQueue
XBSYSAPI EXPORTNUM(116) xbox::long_xt NTAPI xbox::KeInsertHeadQueue
(
IN PRKQUEUE Queue,
IN PLIST_ENTRY Entry
@ -1005,7 +1005,7 @@ XBSYSAPI EXPORTNUM(116) xbox::LONG NTAPI xbox::KeInsertHeadQueue
RETURN(0);
}
XBSYSAPI EXPORTNUM(117) xbox::LONG NTAPI xbox::KeInsertQueue
XBSYSAPI EXPORTNUM(117) xbox::long_xt NTAPI xbox::KeInsertQueue
(
IN PRKQUEUE Queue,
IN PLIST_ENTRY Entry
@ -1021,7 +1021,7 @@ XBSYSAPI EXPORTNUM(117) xbox::LONG NTAPI xbox::KeInsertQueue
RETURN(0);
}
XBSYSAPI EXPORTNUM(118) xbox::BOOLEAN NTAPI xbox::KeInsertQueueApc
XBSYSAPI EXPORTNUM(118) xbox::boolean_xt NTAPI xbox::KeInsertQueueApc
(
IN PRKAPC Apc,
IN PVOID SystemArgument1,
@ -1044,7 +1044,7 @@ XBSYSAPI EXPORTNUM(118) xbox::BOOLEAN NTAPI xbox::KeInsertQueueApc
// ******************************************************************
// * 0x0077 - KeInsertQueueDpc()
// ******************************************************************
XBSYSAPI EXPORTNUM(119) xbox::BOOLEAN NTAPI xbox::KeInsertQueueDpc
XBSYSAPI EXPORTNUM(119) xbox::boolean_xt NTAPI xbox::KeInsertQueueDpc
(
IN PKDPC Dpc,
IN PVOID SystemArgument1,
@ -1087,7 +1087,7 @@ XBSYSAPI EXPORTNUM(119) xbox::BOOLEAN NTAPI xbox::KeInsertQueueDpc
// ******************************************************************
// * 0x0079 - KeIsExecutingDpc()
// ******************************************************************
XBSYSAPI EXPORTNUM(121) xbox::BOOLEAN NTAPI xbox::KeIsExecutingDpc
XBSYSAPI EXPORTNUM(121) xbox::boolean_xt NTAPI xbox::KeIsExecutingDpc
()
{
LOG_FUNC();
@ -1105,9 +1105,9 @@ XBSYSAPI EXPORTNUM(120) xbox::KSYSTEM_TIME xbox::KeInterruptTime = { 0, 0, 0 };
// ******************************************************************
// * 0x007A - KeLeaveCriticalRegion()
// ******************************************************************
XBSYSAPI EXPORTNUM(122) xbox::VOID NTAPI xbox::KeLeaveCriticalRegion
XBSYSAPI EXPORTNUM(122) xbox::void_xt NTAPI xbox::KeLeaveCriticalRegion
(
VOID
void_xt
)
{
LOG_FUNC();
@ -1123,11 +1123,11 @@ XBSYSAPI EXPORTNUM(122) xbox::VOID NTAPI xbox::KeLeaveCriticalRegion
}
}
XBSYSAPI EXPORTNUM(123) xbox::LONG NTAPI xbox::KePulseEvent
XBSYSAPI EXPORTNUM(123) xbox::long_xt NTAPI xbox::KePulseEvent
(
IN PRKEVENT Event,
IN KPRIORITY Increment,
IN BOOLEAN Wait
IN boolean_xt Wait
)
{
LOG_FUNC_BEGIN
@ -1171,7 +1171,7 @@ XBSYSAPI EXPORTNUM(123) xbox::LONG NTAPI xbox::KePulseEvent
RETURN(OldState);
}
XBSYSAPI EXPORTNUM(124) xbox::LONG NTAPI xbox::KeQueryBasePriorityThread
XBSYSAPI EXPORTNUM(124) xbox::long_xt NTAPI xbox::KeQueryBasePriorityThread
(
IN PKTHREAD Thread
)
@ -1186,7 +1186,7 @@ XBSYSAPI EXPORTNUM(124) xbox::LONG NTAPI xbox::KeQueryBasePriorityThread
// ******************************************************************
// * 0x007D - KeQueryInterruptTime()
// ******************************************************************
XBSYSAPI EXPORTNUM(125) xbox::ULONGLONG NTAPI xbox::KeQueryInterruptTime(void)
XBSYSAPI EXPORTNUM(125) xbox::ulonglong_xt NTAPI xbox::KeQueryInterruptTime(void)
{
// TODO : Some software might call KeQueryInterruptTime often and fill the log quickly,
// in which case we should not LOG_FUNC nor RETURN (use normal return instead).
@ -1218,7 +1218,7 @@ XBSYSAPI EXPORTNUM(125) xbox::ULONGLONG NTAPI xbox::KeQueryInterruptTime(void)
// NOTE: The KeQueryPerformance* functions run at the ACPI clock
// The XAPI QueryPerformance* functions run at the TSC clock
// ******************************************************************
XBSYSAPI EXPORTNUM(126) xbox::ULONGLONG NTAPI xbox::KeQueryPerformanceCounter(void)
XBSYSAPI EXPORTNUM(126) xbox::ulonglong_xt NTAPI xbox::KeQueryPerformanceCounter(void)
{
LOG_FUNC();
ULONGLONG ret;
@ -1229,7 +1229,7 @@ XBSYSAPI EXPORTNUM(126) xbox::ULONGLONG NTAPI xbox::KeQueryPerformanceCounter(vo
// ******************************************************************
// * 0x007F - KeQueryPerformanceFrequency()
// ******************************************************************
XBSYSAPI EXPORTNUM(127) xbox::ULONGLONG NTAPI xbox::KeQueryPerformanceFrequency(void)
XBSYSAPI EXPORTNUM(127) xbox::ulonglong_xt NTAPI xbox::KeQueryPerformanceFrequency(void)
{
LOG_FUNC();
ULONGLONG ret = XBOX_ACPI_FREQUENCY;
@ -1239,7 +1239,7 @@ XBSYSAPI EXPORTNUM(127) xbox::ULONGLONG NTAPI xbox::KeQueryPerformanceFrequency(
// ******************************************************************
// * 0x0080 - KeQuerySystemTime()
// ******************************************************************
XBSYSAPI EXPORTNUM(128) xbox::VOID NTAPI xbox::KeQuerySystemTime
XBSYSAPI EXPORTNUM(128) xbox::void_xt NTAPI xbox::KeQuerySystemTime
(
PLARGE_INTEGER CurrentTime
)
@ -1265,7 +1265,7 @@ XBSYSAPI EXPORTNUM(128) xbox::VOID NTAPI xbox::KeQuerySystemTime
// ******************************************************************
// * 0x0081 - KeRaiseIrqlToDpcLevel()
// ******************************************************************
XBSYSAPI EXPORTNUM(129) xbox::UCHAR NTAPI xbox::KeRaiseIrqlToDpcLevel()
XBSYSAPI EXPORTNUM(129) xbox::uchar_xt NTAPI xbox::KeRaiseIrqlToDpcLevel()
{
LOG_FORWARD(KfRaiseIrql);
@ -1275,19 +1275,19 @@ XBSYSAPI EXPORTNUM(129) xbox::UCHAR NTAPI xbox::KeRaiseIrqlToDpcLevel()
// ******************************************************************
// * 0x0082 - KeRaiseIrqlToSynchLevel()
// ******************************************************************
XBSYSAPI EXPORTNUM(130) xbox::UCHAR NTAPI xbox::KeRaiseIrqlToSynchLevel()
XBSYSAPI EXPORTNUM(130) xbox::uchar_xt NTAPI xbox::KeRaiseIrqlToSynchLevel()
{
LOG_FORWARD(KfRaiseIrql);
return KfRaiseIrql(SYNC_LEVEL);
}
XBSYSAPI EXPORTNUM(131) xbox::LONG NTAPI xbox::KeReleaseMutant
XBSYSAPI EXPORTNUM(131) xbox::long_xt NTAPI xbox::KeReleaseMutant
(
IN PRKMUTANT Mutant,
IN KPRIORITY Increment,
IN BOOLEAN Abandoned,
IN BOOLEAN Wait
IN boolean_xt Abandoned,
IN boolean_xt Wait
)
{
LOG_FUNC_BEGIN
@ -1302,12 +1302,12 @@ XBSYSAPI EXPORTNUM(131) xbox::LONG NTAPI xbox::KeReleaseMutant
RETURN(0);
}
XBSYSAPI EXPORTNUM(132) xbox::LONG NTAPI xbox::KeReleaseSemaphore
XBSYSAPI EXPORTNUM(132) xbox::long_xt NTAPI xbox::KeReleaseSemaphore
(
IN PRKSEMAPHORE Semaphore,
IN KPRIORITY Increment,
IN LONG Adjustment,
IN BOOLEAN Wait
IN long_xt Adjustment,
IN boolean_xt Wait
)
{
LOG_FUNC_BEGIN
@ -1325,7 +1325,7 @@ XBSYSAPI EXPORTNUM(132) xbox::LONG NTAPI xbox::KeReleaseSemaphore
BOOL signalstate_overflow = adjusted_signalstate < initial_state;
if (limit_reached || signalstate_overflow) {
KiUnlockDispatcherDatabase(orig_irql);
ExRaiseStatus(STATUS_SEMAPHORE_LIMIT_EXCEEDED);
ExRaiseStatus(xbox::status_semaphore_limit_exceeded);
}
Semaphore->Header.SignalState = adjusted_signalstate;
@ -1351,7 +1351,7 @@ XBSYSAPI EXPORTNUM(132) xbox::LONG NTAPI xbox::KeReleaseSemaphore
XBSYSAPI EXPORTNUM(133) xbox::PKDEVICE_QUEUE_ENTRY NTAPI xbox::KeRemoveByKeyDeviceQueue
(
IN PKDEVICE_QUEUE DeviceQueue,
IN ULONG SortKey
IN ulong_xt SortKey
)
{
LOG_FUNC_BEGIN
@ -1416,7 +1416,7 @@ XBSYSAPI EXPORTNUM(134) xbox::PKDEVICE_QUEUE_ENTRY NTAPI xbox::KeRemoveDeviceQue
RETURN(pEntry);
}
XBSYSAPI EXPORTNUM(135) xbox::BOOLEAN NTAPI xbox::KeRemoveEntryDeviceQueue
XBSYSAPI EXPORTNUM(135) xbox::boolean_xt NTAPI xbox::KeRemoveEntryDeviceQueue
(
IN PKDEVICE_QUEUE DeviceQueue,
IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
@ -1466,7 +1466,7 @@ XBSYSAPI EXPORTNUM(136) xbox::PLIST_ENTRY NTAPI xbox::KeRemoveQueue
// ******************************************************************
// * 0x0089 - KeRemoveQueueDpc()
// ******************************************************************
XBSYSAPI EXPORTNUM(137) xbox::BOOLEAN NTAPI xbox::KeRemoveQueueDpc
XBSYSAPI EXPORTNUM(137) xbox::boolean_xt NTAPI xbox::KeRemoveQueueDpc
(
IN PKDPC Dpc
)
@ -1495,7 +1495,7 @@ XBSYSAPI EXPORTNUM(137) xbox::BOOLEAN NTAPI xbox::KeRemoveQueueDpc
// ******************************************************************
// * 0x008A - KeResetEvent()
// ******************************************************************
XBSYSAPI EXPORTNUM(138) xbox::LONG NTAPI xbox::KeResetEvent
XBSYSAPI EXPORTNUM(138) xbox::long_xt NTAPI xbox::KeResetEvent
(
IN PRKEVENT Event
)
@ -1524,14 +1524,14 @@ XBSYSAPI EXPORTNUM(138) xbox::LONG NTAPI xbox::KeResetEvent
// ******************************************************************
// * 0x008B - KeRestoreFloatingPointState()
// ******************************************************************
XBSYSAPI EXPORTNUM(139) xbox::NTSTATUS NTAPI xbox::KeRestoreFloatingPointState
XBSYSAPI EXPORTNUM(139) xbox::ntstatus_xt NTAPI xbox::KeRestoreFloatingPointState
(
IN PKFLOATING_SAVE PublicFloatSave
)
{
LOG_FUNC_ONE_ARG(PublicFloatSave);
NTSTATUS ret = STATUS_SUCCESS;
NTSTATUS ret = xbox::status_success;
LOG_UNIMPLEMENTED();
@ -1541,14 +1541,14 @@ XBSYSAPI EXPORTNUM(139) xbox::NTSTATUS NTAPI xbox::KeRestoreFloatingPointState
// ******************************************************************
// * 0x008C - KeResumeThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(140) xbox::ULONG NTAPI xbox::KeResumeThread
XBSYSAPI EXPORTNUM(140) xbox::ulong_xt NTAPI xbox::KeResumeThread
(
IN PKTHREAD Thread
)
{
LOG_FUNC_ONE_ARG(Thread);
NTSTATUS ret = STATUS_SUCCESS;
NTSTATUS ret = xbox::status_success;
LOG_UNIMPLEMENTED();
@ -1570,14 +1570,14 @@ XBSYSAPI EXPORTNUM(141) xbox::PLIST_ENTRY NTAPI xbox::KeRundownQueue
// ******************************************************************
// * 0x008E - KeSaveFloatingPointState()
// ******************************************************************
XBSYSAPI EXPORTNUM(142) xbox::NTSTATUS NTAPI xbox::KeSaveFloatingPointState
XBSYSAPI EXPORTNUM(142) xbox::ntstatus_xt NTAPI xbox::KeSaveFloatingPointState
(
OUT PKFLOATING_SAVE PublicFloatSave
)
{
LOG_FUNC_ONE_ARG_OUT(PublicFloatSave);
NTSTATUS ret = STATUS_SUCCESS;
NTSTATUS ret = xbox::status_success;
LOG_UNIMPLEMENTED();
@ -1587,10 +1587,10 @@ XBSYSAPI EXPORTNUM(142) xbox::NTSTATUS NTAPI xbox::KeSaveFloatingPointState
// ******************************************************************
// * 0x008F - KeSetBasePriorityThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(143) xbox::LONG NTAPI xbox::KeSetBasePriorityThread
XBSYSAPI EXPORTNUM(143) xbox::long_xt NTAPI xbox::KeSetBasePriorityThread
(
IN PKTHREAD Thread,
IN LONG Priority
IN long_xt Priority
)
{
LOG_FUNC_BEGIN
@ -1609,10 +1609,10 @@ XBSYSAPI EXPORTNUM(143) xbox::LONG NTAPI xbox::KeSetBasePriorityThread
RETURN(ret);
}
XBSYSAPI EXPORTNUM(144) xbox::ULONG NTAPI xbox::KeSetDisableBoostThread
XBSYSAPI EXPORTNUM(144) xbox::ulong_xt NTAPI xbox::KeSetDisableBoostThread
(
IN PKTHREAD Thread,
IN ULONG Disable
IN ulong_xt Disable
)
{
LOG_FUNC_BEGIN
@ -1634,11 +1634,11 @@ XBSYSAPI EXPORTNUM(144) xbox::ULONG NTAPI xbox::KeSetDisableBoostThread
// ******************************************************************
// * 0x0091 - KeSetEvent()
// ******************************************************************
XBSYSAPI EXPORTNUM(145) xbox::LONG NTAPI xbox::KeSetEvent
XBSYSAPI EXPORTNUM(145) xbox::long_xt NTAPI xbox::KeSetEvent
(
IN PRKEVENT Event,
IN KPRIORITY Increment,
IN BOOLEAN Wait
IN boolean_xt Wait
)
{
LOG_FUNC_BEGIN
@ -1692,7 +1692,7 @@ XBSYSAPI EXPORTNUM(145) xbox::LONG NTAPI xbox::KeSetEvent
RETURN(OldState);
}
XBSYSAPI EXPORTNUM(146) xbox::VOID NTAPI xbox::KeSetEventBoostPriority
XBSYSAPI EXPORTNUM(146) xbox::void_xt NTAPI xbox::KeSetEventBoostPriority
(
IN PRKEVENT Event,
IN PRKTHREAD *Thread
@ -1724,7 +1724,7 @@ XBSYSAPI EXPORTNUM(146) xbox::VOID NTAPI xbox::KeSetEventBoostPriority
}
WaitThread->Quantum = WaitThread->ApcState.Process->ThreadQuantum;
// TODO: KiUnwaitThread(WaitThread, STATUS_SUCCESS, 1);
// TODO: KiUnwaitThread(WaitThread, xbox::status_success, 1);
// For now, we just sleep to give other threads time to wake
// See KePulseEvent
Sleep(1);
@ -1753,10 +1753,10 @@ XBSYSAPI EXPORTNUM(147) xbox::KPRIORITY NTAPI xbox::KeSetPriorityProcess
// ******************************************************************
// * 0x0094 - KeSetPriorityThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(148) xbox::BOOLEAN NTAPI xbox::KeSetPriorityThread
XBSYSAPI EXPORTNUM(148) xbox::boolean_xt NTAPI xbox::KeSetPriorityThread
(
IN PKTHREAD Thread,
IN LONG Priority
IN long_xt Priority
)
{
LOG_FUNC_BEGIN
@ -1772,7 +1772,7 @@ XBSYSAPI EXPORTNUM(148) xbox::BOOLEAN NTAPI xbox::KeSetPriorityThread
// ******************************************************************
// * 0x0095 - KeSetTimer()
// ******************************************************************
XBSYSAPI EXPORTNUM(149) xbox::BOOLEAN NTAPI xbox::KeSetTimer
XBSYSAPI EXPORTNUM(149) xbox::boolean_xt NTAPI xbox::KeSetTimer
(
IN PKTIMER Timer,
IN LARGE_INTEGER DueTime,
@ -1788,11 +1788,11 @@ XBSYSAPI EXPORTNUM(149) xbox::BOOLEAN NTAPI xbox::KeSetTimer
// ******************************************************************
// * 0x0096 - KeSetTimerEx()
// ******************************************************************
XBSYSAPI EXPORTNUM(150) xbox::BOOLEAN NTAPI xbox::KeSetTimerEx
XBSYSAPI EXPORTNUM(150) xbox::boolean_xt NTAPI xbox::KeSetTimerEx
(
IN PKTIMER Timer,
IN LARGE_INTEGER DueTime,
IN LONG Period OPTIONAL,
IN long_xt Period OPTIONAL,
IN PKDPC Dpc OPTIONAL
)
{
@ -1824,7 +1824,7 @@ XBSYSAPI EXPORTNUM(150) xbox::BOOLEAN NTAPI xbox::KeSetTimerEx
/* Set Default Timer Data */
Timer->Dpc = Dpc;
Timer->Period = Period;
if (!KiComputeDueTime(Timer, DueTime, &Hand))
if (!KiComputeDueTime(Timer, DueTime, (PULONG)&Hand))
{
/* Signal the timer */
RequestInterrupt = KiSignalTimer(Timer);
@ -1851,9 +1851,9 @@ XBSYSAPI EXPORTNUM(150) xbox::BOOLEAN NTAPI xbox::KeSetTimerEx
// ******************************************************************
// * 0x0097 - KeStallExecutionProcessor()
// ******************************************************************
XBSYSAPI EXPORTNUM(151) xbox::VOID NTAPI xbox::KeStallExecutionProcessor
XBSYSAPI EXPORTNUM(151) xbox::void_xt NTAPI xbox::KeStallExecutionProcessor
(
IN ULONG MicroSeconds
IN ulong_xt MicroSeconds
)
{
LOG_FUNC_ONE_ARG(MicroSeconds);
@ -1867,14 +1867,14 @@ XBSYSAPI EXPORTNUM(151) xbox::VOID NTAPI xbox::KeStallExecutionProcessor
// ******************************************************************
// * 0x0098 - KeSuspendThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(152) xbox::ULONG NTAPI xbox::KeSuspendThread
XBSYSAPI EXPORTNUM(152) xbox::ulong_xt NTAPI xbox::KeSuspendThread
(
IN PKTHREAD Thread
)
{
LOG_FUNC_ONE_ARG(Thread);
NTSTATUS ret = STATUS_SUCCESS;
NTSTATUS ret = xbox::status_success;
LOG_UNIMPLEMENTED();
@ -1884,7 +1884,7 @@ XBSYSAPI EXPORTNUM(152) xbox::ULONG NTAPI xbox::KeSuspendThread
// ******************************************************************
// * 0x0099 - KeSynchronizeExecution()
// ******************************************************************
XBSYSAPI EXPORTNUM(153) xbox::BOOLEAN NTAPI xbox::KeSynchronizeExecution
XBSYSAPI EXPORTNUM(153) xbox::boolean_xt NTAPI xbox::KeSynchronizeExecution
(
IN PKINTERRUPT Interrupt,
IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,
@ -1912,7 +1912,7 @@ XBSYSAPI EXPORTNUM(154) xbox::KSYSTEM_TIME xbox::KeSystemTime = { 0, 0, 0 };
// ******************************************************************
// * 0x009B - KeTestAlertThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(155) xbox::BOOLEAN NTAPI xbox::KeTestAlertThread
XBSYSAPI EXPORTNUM(155) xbox::boolean_xt NTAPI xbox::KeTestAlertThread
(
IN KPROCESSOR_MODE AlertMode
)
@ -1929,12 +1929,12 @@ XBSYSAPI EXPORTNUM(155) xbox::BOOLEAN NTAPI xbox::KeTestAlertThread
// ******************************************************************
// * 0x009C - KeTickCount
// ******************************************************************
XBSYSAPI EXPORTNUM(156) xbox::DWORD VOLATILE xbox::KeTickCount = 0;
XBSYSAPI EXPORTNUM(156) xbox::dword_xt VOLATILE xbox::KeTickCount = 0;
// ******************************************************************
// * 0x009D - KeTimeIncrement
// ******************************************************************
XBSYSAPI EXPORTNUM(157) xbox::ULONG xbox::KeTimeIncrement = CLOCK_TIME_INCREMENT;
XBSYSAPI EXPORTNUM(157) xbox::ulong_xt xbox::KeTimeIncrement = CLOCK_TIME_INCREMENT;
xbox::PLARGE_INTEGER FASTCALL KiComputeWaitInterval(
@ -1957,14 +1957,14 @@ xbox::PLARGE_INTEGER FASTCALL KiComputeWaitInterval(
// ******************************************************************
// * 0x009E - KeWaitForMultipleObjects()
// ******************************************************************
XBSYSAPI EXPORTNUM(158) xbox::NTSTATUS NTAPI xbox::KeWaitForMultipleObjects
XBSYSAPI EXPORTNUM(158) xbox::ntstatus_xt NTAPI xbox::KeWaitForMultipleObjects
(
IN ULONG Count,
IN ulong_xt Count,
IN PVOID Object[],
IN WAIT_TYPE WaitType,
IN KWAIT_REASON WaitReason,
IN KPROCESSOR_MODE WaitMode,
IN BOOLEAN Alertable,
IN boolean_xt Alertable,
IN PLARGE_INTEGER Timeout OPTIONAL,
IN PKWAIT_BLOCK WaitBlockArray OPTIONAL
)
@ -2007,7 +2007,7 @@ XBSYSAPI EXPORTNUM(158) xbox::NTSTATUS NTAPI xbox::KeWaitForMultipleObjects
}
else {
WaitSatisfied = TRUE;
Thread->WaitStatus = STATUS_SUCCESS;
Thread->WaitStatus = xbox::status_success;
for (ULONG Index = 0; Index < Count; Index += 1) {
ObjectMutant = (PKMUTANT)Object[Index];
@ -2023,21 +2023,21 @@ XBSYSAPI EXPORTNUM(158) xbox::NTSTATUS NTAPI xbox::KeWaitForMultipleObjects
}
else {
KiUnlockDispatcherDatabase(Thread->WaitIrql);
ExRaiseStatus(STATUS_MUTANT_LIMIT_EXCEEDED);
ExRaiseStatus(xbox::status_mutant_limit_exceeded);
}
}
}
else if (ObjectMutant->Header.SignalState) {
// Otherwise, if the signal state is > 0, we can still just satisfy the wait
KiWaitSatisfyOther(ObjectMutant);
WaitStatus = STATUS_SUCCESS;
WaitStatus = xbox::status_success;
goto NoWait;
}
} else {
if (ObjectMutant->Header.Type == MutantObject) {
if ((Thread == ObjectMutant->OwnerThread) && (ObjectMutant->Header.SignalState == MINLONG)) {
KiUnlockDispatcherDatabase(Thread->WaitIrql);
ExRaiseStatus(STATUS_MUTANT_LIMIT_EXCEEDED);
ExRaiseStatus(xbox::status_mutant_limit_exceeded);
} else if ((ObjectMutant->Header.SignalState <= 0) && (Thread != ObjectMutant->OwnerThread)) {
WaitSatisfied = FALSE;
}
@ -2050,7 +2050,7 @@ XBSYSAPI EXPORTNUM(158) xbox::NTSTATUS NTAPI xbox::KeWaitForMultipleObjects
// If we reached here, the wait could not be satisfied immediately, so we must setup a WaitBlock
WaitBlock = &WaitBlockArray[Index];
WaitBlock->Object = ObjectMutant;
WaitBlock->WaitKey = (CSHORT)(Index);
WaitBlock->WaitKey = (cshort_xt)(Index);
WaitBlock->WaitType = WaitType;
WaitBlock->Thread = Thread;
WaitBlock->NextWaitBlock = &WaitBlockArray[Index + 1];
@ -2143,7 +2143,7 @@ XBSYSAPI EXPORTNUM(158) xbox::NTSTATUS NTAPI xbox::KeWaitForMultipleObjects
//WaitStatus = (NTSTATUS)KiSwapThread();
//if (WaitStatus == STATUS_USER_APC) {
//if (WaitStatus == xbox::status_user_apc) {
// TODO: KiDeliverUserApc();
//}
@ -2174,7 +2174,7 @@ XBSYSAPI EXPORTNUM(158) xbox::NTSTATUS NTAPI xbox::KeWaitForMultipleObjects
// The waiting thead has been alerted, or an APC needs to be delivered
// So unlock the dispatcher database, lower the IRQ and return the status
KiUnlockDispatcherDatabase(Thread->WaitIrql);
if (WaitStatus == STATUS_USER_APC) {
if (WaitStatus == xbox::status_user_apc) {
//TODO: KiDeliverUserApc();
}
@ -2195,7 +2195,7 @@ NoWait:
KiUnlockDispatcherDatabase(Thread->WaitIrql);
if (WaitStatus == STATUS_USER_APC) {
if (WaitStatus == xbox::status_user_apc) {
// TODO: KiDeliverUserApc();
}
@ -2205,12 +2205,12 @@ NoWait:
// ******************************************************************
// * 0x009F - KeWaitForSingleObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(159) xbox::NTSTATUS NTAPI xbox::KeWaitForSingleObject
XBSYSAPI EXPORTNUM(159) xbox::ntstatus_xt NTAPI xbox::KeWaitForSingleObject
(
IN PVOID Object,
IN KWAIT_REASON WaitReason,
IN KPROCESSOR_MODE WaitMode,
IN BOOLEAN Alertable,
IN boolean_xt Alertable,
IN PLARGE_INTEGER Timeout OPTIONAL
)
{
@ -2246,7 +2246,7 @@ XBSYSAPI EXPORTNUM(159) xbox::NTSTATUS NTAPI xbox::KeWaitForSingleObject
KiUnlockDispatcherDatabase(Thread->WaitIrql);
} else {
PKMUTANT ObjectMutant = (PKMUTANT)Object;
Thread->WaitStatus = STATUS_SUCCESS;
Thread->WaitStatus = xbox::status_success;
if (ObjectMutant->Header.Type == MutantObject) {
// If the object is a mutant object and it has been acquired MINGLONG times, raise an exception
@ -2259,21 +2259,21 @@ XBSYSAPI EXPORTNUM(159) xbox::NTSTATUS NTAPI xbox::KeWaitForSingleObject
}
else {
KiUnlockDispatcherDatabase(Thread->WaitIrql);
ExRaiseStatus(STATUS_MUTANT_LIMIT_EXCEEDED);
ExRaiseStatus(xbox::status_mutant_limit_exceeded);
}
}
}
else if (ObjectMutant->Header.SignalState > 0) {
// Otherwise, if the signal state is > 0, we can still just satisfy the wait
KiWaitSatisfyOther(ObjectMutant);
WaitStatus = STATUS_SUCCESS;
WaitStatus = xbox::status_success;
goto NoWait;
}
// If we reached here, the wait could not be satisfied immediately, so we must setup a WaitBlock
Thread->WaitBlockList = WaitBlock;
WaitBlock->Object = Object;
WaitBlock->WaitKey = (CSHORT)(STATUS_SUCCESS);
WaitBlock->WaitKey = (cshort_xt)(xbox::status_success);
WaitBlock->WaitType = WaitAny;
WaitBlock->Thread = Thread;
@ -2348,7 +2348,7 @@ XBSYSAPI EXPORTNUM(159) xbox::NTSTATUS NTAPI xbox::KeWaitForSingleObject
/*
WaitStatus = (NTSTATUS)KiSwapThread();
if (WaitStatus == STATUS_USER_APC) {
if (WaitStatus == xbox::status_user_apc) {
// TODO: KiDeliverUserApc();
}
@ -2379,7 +2379,7 @@ XBSYSAPI EXPORTNUM(159) xbox::NTSTATUS NTAPI xbox::KeWaitForSingleObject
// The waiting thead has been alerted, or an APC needs to be delivered
// So unlock the dispatcher database, lower the IRQ and return the status
KiUnlockDispatcherDatabase(Thread->WaitIrql);
if (WaitStatus == STATUS_USER_APC) {
if (WaitStatus == xbox::status_user_apc) {
//TODO: KiDeliverUserApc();
}
@ -2400,7 +2400,7 @@ NoWait:
KiUnlockDispatcherDatabase(Thread->WaitIrql);
if (WaitStatus == STATUS_USER_APC) {
if (WaitStatus == xbox::status_user_apc) {
// TODO: KiDeliverUserApc();
}

View File

@ -27,13 +27,13 @@
namespace xbox
{
VOID NTAPI KeSetSystemTime
xbox::void_xt NTAPI KeSetSystemTime
(
IN PLARGE_INTEGER NewTime,
OUT PLARGE_INTEGER OldTime
);
VOID NTAPI KeInitializeTimer
xbox::void_xt NTAPI KeInitializeTimer
(
IN PKTIMER Timer
);

View File

@ -79,7 +79,7 @@ the said software).
#define LOG_PREFIX CXBXR_MODULE::KI
#include <xboxkrnl/xboxkrnl.h> // For KeBugCheck, etc.
#include <core\kernel\exports\xboxkrnl.h> // For KeBugCheck, etc.
#include "Logging.h" // For LOG_FUNC()
#include "EmuKrnl.h" // for the list support functions
#include "EmuKrnlKi.h"
@ -88,14 +88,14 @@ the said software).
#define ASSERT_TIMER_LOCKED assert(KiTimerMtx.Acquired > 0)
const xbox::ULONG CLOCK_TIME_INCREMENT = 0x2710;
const xbox::ulong_xt CLOCK_TIME_INCREMENT = 0x2710;
xbox::KDPC KiTimerExpireDpc;
xbox::KI_TIMER_LOCK KiTimerMtx;
xbox::KTIMER_TABLE_ENTRY KiTimerTableListHead[TIMER_TABLE_SIZE];
xbox::LIST_ENTRY KiWaitInListHead;
xbox::VOID xbox::KiInitSystem()
xbox::void_xt xbox::KiInitSystem()
{
unsigned int i;
@ -112,19 +112,19 @@ xbox::VOID xbox::KiInitSystem()
InitializeListHead(&IdexChannelObject.DeviceQueue.DeviceListHead);
}
xbox::VOID xbox::KiTimerLock()
xbox::void_xt xbox::KiTimerLock()
{
KiTimerMtx.Mtx.lock();
KiTimerMtx.Acquired++;
}
xbox::VOID xbox::KiTimerUnlock()
xbox::void_xt xbox::KiTimerUnlock()
{
KiTimerMtx.Acquired--;
KiTimerMtx.Mtx.unlock();
}
xbox::VOID xbox::KiClockIsr
xbox::void_xt xbox::KiClockIsr
(
unsigned int ScalingFactor
)
@ -175,7 +175,7 @@ xbox::VOID xbox::KiClockIsr
KfLowerIrql(OldIrql);
}
xbox::VOID NTAPI xbox::KiCheckTimerTable
xbox::void_xt NTAPI xbox::KiCheckTimerTable
(
IN xbox::ULARGE_INTEGER CurrentTime
)
@ -217,10 +217,10 @@ xbox::VOID NTAPI xbox::KiCheckTimerTable
KfLowerIrql(OldIrql);
}
xbox::VOID xbox::KxInsertTimer
xbox::void_xt xbox::KxInsertTimer
(
IN xbox::PKTIMER Timer,
IN xbox::ULONG Hand
IN xbox::ulong_xt Hand
)
{
ASSERT_TIMER_LOCKED;
@ -233,10 +233,10 @@ xbox::VOID xbox::KxInsertTimer
}
}
xbox::VOID FASTCALL xbox::KiCompleteTimer
xbox::void_xt FASTCALL xbox::KiCompleteTimer
(
IN xbox::PKTIMER Timer,
IN xbox::ULONG Hand
IN xbox::ulong_xt Hand
)
{
LIST_ENTRY ListHead;
@ -264,10 +264,10 @@ xbox::VOID FASTCALL xbox::KiCompleteTimer
}
}
xbox::VOID xbox::KiRemoveEntryTimer
xbox::void_xt xbox::KiRemoveEntryTimer
(
IN xbox::PKTIMER Timer,
IN xbox::ULONG Hand
IN xbox::ulong_xt Hand
)
{
PKTIMER_TABLE_ENTRY TableEntry;
@ -291,7 +291,7 @@ xbox::VOID xbox::KiRemoveEntryTimer
Timer->TimerListEntry.Blink = NULL;
}
xbox::VOID xbox::KxRemoveTreeTimer
xbox::void_xt xbox::KxRemoveTreeTimer
(
IN xbox::PKTIMER Timer
)
@ -317,10 +317,10 @@ xbox::VOID xbox::KxRemoveTreeTimer
}
}
xbox::BOOLEAN FASTCALL xbox::KiInsertTimerTable
xbox::boolean_xt FASTCALL xbox::KiInsertTimerTable
(
IN xbox::PKTIMER Timer,
IN xbox::ULONG Hand
IN xbox::ulong_xt Hand
)
{
LARGE_INTEGER InterruptTime;
@ -374,7 +374,7 @@ xbox::BOOLEAN FASTCALL xbox::KiInsertTimerTable
return Expired;
}
xbox::BOOLEAN FASTCALL xbox::KiInsertTreeTimer
xbox::boolean_xt FASTCALL xbox::KiInsertTreeTimer
(
IN xbox::PKTIMER Timer,
IN xbox::LARGE_INTEGER Interval
@ -386,7 +386,7 @@ xbox::BOOLEAN FASTCALL xbox::KiInsertTreeTimer
ASSERT_TIMER_LOCKED;
/* Setup the timer's due time */
if (KiComputeDueTime(Timer, Interval, &Hand))
if (KiComputeDueTime(Timer, Interval, (PULONG)&Hand))
{
/* Insert the timer */
if (KiInsertTimerTable(Timer, Hand))
@ -405,15 +405,15 @@ xbox::BOOLEAN FASTCALL xbox::KiInsertTreeTimer
return Inserted;
}
xbox::ULONG xbox::KiComputeTimerTableIndex
xbox::ulong_xt xbox::KiComputeTimerTableIndex
(
IN xbox::ULONGLONG Interval
IN xbox::ulonglong_xt Interval
)
{
return (Interval / CLOCK_TIME_INCREMENT) & (TIMER_TABLE_SIZE - 1);
}
xbox::BOOLEAN xbox::KiComputeDueTime
xbox::boolean_xt xbox::KiComputeDueTime
(
IN xbox::PKTIMER Timer,
IN xbox::LARGE_INTEGER DueTime,
@ -462,7 +462,7 @@ xbox::BOOLEAN xbox::KiComputeDueTime
return TRUE;
}
xbox::BOOLEAN FASTCALL xbox::KiSignalTimer
xbox::boolean_xt FASTCALL xbox::KiSignalTimer
(
IN xbox::PKTIMER Timer
)
@ -517,7 +517,7 @@ xbox::BOOLEAN FASTCALL xbox::KiSignalTimer
return RequestInterrupt;
}
xbox::VOID NTAPI xbox::KiTimerExpiration
xbox::void_xt NTAPI xbox::KiTimerExpiration
(
IN xbox::PKDPC Dpc,
IN xbox::PVOID DeferredContext,
@ -746,7 +746,7 @@ xbox::VOID NTAPI xbox::KiTimerExpiration
}
}
xbox::VOID FASTCALL xbox::KiTimerListExpire
xbox::void_xt FASTCALL xbox::KiTimerListExpire
(
IN xbox::PLIST_ENTRY ExpiredListHead,
IN xbox::KIRQL OldIrql
@ -854,7 +854,7 @@ xbox::VOID FASTCALL xbox::KiTimerListExpire
}
}
xbox::VOID FASTCALL xbox::KiWaitSatisfyAll
xbox::void_xt FASTCALL xbox::KiWaitSatisfyAll
(
IN xbox::PKWAIT_BLOCK WaitBlock
)
@ -866,7 +866,7 @@ xbox::VOID FASTCALL xbox::KiWaitSatisfyAll
WaitBlock1 = WaitBlock;
Thread = WaitBlock1->Thread;
do {
if (WaitBlock1->WaitKey != (CSHORT)STATUS_TIMEOUT) {
if (WaitBlock1->WaitKey != (cshort_xt)STATUS_TIMEOUT) {
Object = (PKMUTANT)WaitBlock1->Object;
KiWaitSatisfyAny(Object, Thread);
}

View File

@ -28,11 +28,6 @@
#include <mutex>
// Workaround to avoid collisions with the VOID provided by Windows and the one of xboxkrnl
#ifdef VOID
#undef VOID
#endif
// ReactOS uses a size of 512, but disassembling the kernel reveals it to be 32 instead
#define TIMER_TABLE_SIZE 32
@ -53,75 +48,75 @@ namespace xbox
} KI_TIMER_LOCK;
VOID KiInitSystem();
xbox::void_xt KiInitSystem();
VOID KiTimerLock();
xbox::void_xt KiTimerLock();
VOID KiTimerUnlock();
xbox::void_xt KiTimerUnlock();
VOID KiClockIsr
xbox::void_xt KiClockIsr
(
IN unsigned int ScalingFactor
);
VOID NTAPI KiCheckTimerTable
xbox::void_xt NTAPI KiCheckTimerTable
(
IN ULARGE_INTEGER CurrentTime
);
VOID KxInsertTimer
xbox::void_xt KxInsertTimer
(
IN PKTIMER Timer,
IN ULONG Hand
IN ulong_xt Hand
);
VOID FASTCALL KiCompleteTimer
xbox::void_xt FASTCALL KiCompleteTimer
(
IN PKTIMER Timer,
IN ULONG Hand
IN ulong_xt Hand
);
VOID KiRemoveEntryTimer
xbox::void_xt KiRemoveEntryTimer
(
IN PKTIMER Timer,
IN ULONG Hand
IN ulong_xt Hand
);
VOID KxRemoveTreeTimer
xbox::void_xt KxRemoveTreeTimer
(
IN PKTIMER Timer
);
BOOLEAN FASTCALL KiInsertTimerTable
boolean_xt FASTCALL KiInsertTimerTable
(
IN PKTIMER Timer,
IN ULONG Hand
IN ulong_xt Hand
);
BOOLEAN FASTCALL KiInsertTreeTimer
boolean_xt FASTCALL KiInsertTreeTimer
(
IN PKTIMER Timer,
IN LARGE_INTEGER Interval
);
ULONG KiComputeTimerTableIndex
xbox::ulong_xt KiComputeTimerTableIndex
(
IN ULONGLONG Interval
IN ulonglong_xt Interval
);
BOOLEAN KiComputeDueTime
boolean_xt KiComputeDueTime
(
IN PKTIMER Timer,
IN LARGE_INTEGER DueTime,
OUT PULONG Hand
);
BOOLEAN FASTCALL KiSignalTimer
boolean_xt FASTCALL KiSignalTimer
(
IN PKTIMER Timer
);
VOID NTAPI KiTimerExpiration
xbox::void_xt NTAPI KiTimerExpiration
(
IN PKDPC Dpc,
IN PVOID DeferredContext,
@ -129,19 +124,19 @@ namespace xbox
IN PVOID SystemArgument2
);
VOID FASTCALL KiTimerListExpire
xbox::void_xt FASTCALL KiTimerListExpire
(
IN PLIST_ENTRY ExpiredListHead,
IN KIRQL OldIrql
);
VOID FASTCALL KiWaitSatisfyAll
xbox::void_xt FASTCALL KiWaitSatisfyAll
(
IN PKWAIT_BLOCK WaitBlock
);
};
extern const xbox::ULONG CLOCK_TIME_INCREMENT;
extern const xbox::ulong_xt CLOCK_TIME_INCREMENT;
extern xbox::LIST_ENTRY KiWaitInListHead;
extern xbox::KTIMER_TABLE_ENTRY KiTimerTableListHead[TIMER_TABLE_SIZE];
extern xbox::KI_TIMER_LOCK KiTimerMtx;
@ -170,7 +165,7 @@ extern xbox::KI_TIMER_LOCK KiTimerMtx;
(_Object_)->OwnerThread = (_Thread_); \
if ((_Object_)->Abandoned == TRUE) { \
(_Object_)->Abandoned = FALSE; \
(_Thread_)->WaitStatus = STATUS_ABANDONED; \
(_Thread_)->WaitStatus = xbox::status_abandoned; \
} \
\
InsertHeadList((_Thread_)->MutantListHead.Blink, \
@ -201,7 +196,7 @@ extern xbox::KI_TIMER_LOCK KiTimerMtx;
(_Object_)->OwnerThread = (_Thread_); \
if ((_Object_)->Abandoned == TRUE) { \
(_Object_)->Abandoned = FALSE; \
(_Thread_)->WaitStatus = STATUS_ABANDONED; \
(_Thread_)->WaitStatus = xbox::status_abandoned; \
} \
\
InsertHeadList((_Thread_)->MutantListHead.Blink, \

View File

@ -28,7 +28,7 @@
#define LOG_PREFIX CXBXR_MODULE::LOG
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include "Logging.h"
#include "EmuKrnlLogging.h"
#include "core\kernel\init\CxbxKrnl.h"
@ -270,23 +270,23 @@ ENUM2STR_START(MODE)
ENUM2STR_END_and_LOGRENDER(MODE)
/* TODO : Fix error C2593 "'operator <<' is ambiguous",
// because often NtDLL::NTSTATUS is used instead of xbox::NTSTATUS
// because often NtDLL::NTSTATUS is used instead of xbox::ntstatus_xt
ENUM2STR_START(NTSTATUS) // Not really an enum
ENUM2STR_CASE(STATUS_SUCCESS)
ENUM2STR_CASE(STATUS_PENDING)
ENUM2STR_CASE(STATUS_TIMER_RESUME_IGNORED)
ENUM2STR_CASE(STATUS_UNSUCCESSFUL)
ENUM2STR_CASE(STATUS_UNRECOGNIZED_MEDIA)
ENUM2STR_CASE(STATUS_NO_MEMORY)
ENUM2STR_CASE(STATUS_ALERTED)
ENUM2STR_CASE(STATUS_USER_APC)
ENUM2STR_CASE(xbox::status_success)
ENUM2STR_CASE(xbox::status_pending)
ENUM2STR_CASE(xbox::status_timer_resume_ignored)
ENUM2STR_CASE(xbox::status_unsuccessful)
ENUM2STR_CASE(xbox::status_unrecognized_media)
ENUM2STR_CASE(xbox::status_no_memory)
ENUM2STR_CASE(xbox::status_alerted)
ENUM2STR_CASE(xbox::status_user_apc)
ENUM2STR_CASE(STATUS_DATA_OVERRUN)
ENUM2STR_CASE(STATUS_INVALID_IMAGE_FORMAT)
ENUM2STR_CASE(STATUS_INSUFFICIENT_RESOURCES)
ENUM2STR_CASE(STATUS_XBE_REGION_MISMATCH)
ENUM2STR_CASE(STATUS_XBE_MEDIA_MISMATCH)
ENUM2STR_CASE(STATUS_OBJECT_NAME_NOT_FOUND)
ENUM2STR_CASE(STATUS_OBJECT_NAME_COLLISION)
ENUM2STR_CASE(xbox::status_invalid_image_format)
ENUM2STR_CASE(xbox::status_insufficient_resources)
ENUM2STR_CASE(xbox::status_xbe_region_mismatch)
ENUM2STR_CASE(xbox::status_xbe_media_mismatch)
ENUM2STR_CASE(xbox::status_object_name_not_found)
ENUM2STR_CASE(xbox::status_object_name_collision)
ENUM2STR_END_and_LOGRENDER(NTSTATUS)
*/

View File

@ -52,7 +52,7 @@ enum PROTECTION_TYPE : int;
#undef ExceptionCollidedUnwind
#endif
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
// prevent name collisions
namespace xbox

View File

@ -30,7 +30,7 @@
#define LOG_PREFIX CXBXR_MODULE::MM
#include <xboxkrnl/xboxkrnl.h> // For MmGlobalData, etc.
#include <core\kernel\exports\xboxkrnl.h> // For MmGlobalData, etc.
#include "Logging.h" // For LOG_FUNC()
#include "EmuKrnl.h" // For DefaultLaunchDataPage
#include "EmuKrnlLogging.h"
@ -70,7 +70,7 @@ XBSYSAPI EXPORTNUM(164) xbox::PLAUNCH_DATA_PAGE xbox::LaunchDataPage = xbox::zer
// to not care about the highest address.
XBSYSAPI EXPORTNUM(165) xbox::PVOID NTAPI xbox::MmAllocateContiguousMemory
(
IN ULONG NumberOfBytes
IN ulong_xt NumberOfBytes
)
{
LOG_FORWARD("MmAllocateContiguousMemoryEx");
@ -83,11 +83,11 @@ XBSYSAPI EXPORTNUM(165) xbox::PVOID NTAPI xbox::MmAllocateContiguousMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(166) xbox::PVOID NTAPI xbox::MmAllocateContiguousMemoryEx
(
IN ULONG NumberOfBytes,
IN PHYSICAL_ADDRESS LowestAcceptableAddress,
IN PHYSICAL_ADDRESS HighestAcceptableAddress,
IN ULONG Alignment OPTIONAL,
IN ULONG ProtectionType
IN ulong_xt NumberOfBytes,
IN physical_address_xt LowestAcceptableAddress,
IN physical_address_xt HighestAcceptableAddress,
IN ulong_xt Alignment OPTIONAL,
IN ulong_xt ProtectionType
)
{
LOG_FUNC_BEGIN
@ -108,8 +108,8 @@ XBSYSAPI EXPORTNUM(166) xbox::PVOID NTAPI xbox::MmAllocateContiguousMemoryEx
// ******************************************************************
XBSYSAPI EXPORTNUM(167) xbox::PVOID NTAPI xbox::MmAllocateSystemMemory
(
ULONG NumberOfBytes,
ULONG Protect
ulong_xt NumberOfBytes,
ulong_xt Protect
)
{
LOG_FUNC_BEGIN
@ -127,8 +127,8 @@ XBSYSAPI EXPORTNUM(167) xbox::PVOID NTAPI xbox::MmAllocateSystemMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(168) xbox::PVOID NTAPI xbox::MmClaimGpuInstanceMemory
(
IN SIZE_T NumberOfBytes,
OUT SIZE_T *NumberOfPaddingBytes
IN size_xt NumberOfBytes,
OUT size_xt *NumberOfPaddingBytes
)
{
LOG_FUNC_BEGIN
@ -148,8 +148,8 @@ XBSYSAPI EXPORTNUM(168) xbox::PVOID NTAPI xbox::MmClaimGpuInstanceMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(169) xbox::PVOID NTAPI xbox::MmCreateKernelStack
(
IN ULONG NumberOfBytes,
IN BOOLEAN DebuggerThread
IN ulong_xt NumberOfBytes,
IN boolean_xt DebuggerThread
)
{
LOG_FUNC_BEGIN
@ -170,7 +170,7 @@ XBSYSAPI EXPORTNUM(169) xbox::PVOID NTAPI xbox::MmCreateKernelStack
// ******************************************************************
// * 0x00AA - MmDeleteKernelStack()
// ******************************************************************
XBSYSAPI EXPORTNUM(170) xbox::VOID NTAPI xbox::MmDeleteKernelStack
XBSYSAPI EXPORTNUM(170) xbox::void_xt NTAPI xbox::MmDeleteKernelStack
(
PVOID StackBase,
PVOID StackLimit
@ -193,7 +193,7 @@ XBSYSAPI EXPORTNUM(170) xbox::VOID NTAPI xbox::MmDeleteKernelStack
// Frees memory allocated with MmAllocateContiguousMemory.
//
// Differences from NT: None.
XBSYSAPI EXPORTNUM(171) xbox::VOID NTAPI xbox::MmFreeContiguousMemory
XBSYSAPI EXPORTNUM(171) xbox::void_xt NTAPI xbox::MmFreeContiguousMemory
(
IN PVOID BaseAddress
)
@ -211,10 +211,10 @@ XBSYSAPI EXPORTNUM(171) xbox::VOID NTAPI xbox::MmFreeContiguousMemory
// ******************************************************************
// * 0x00AC - MmFreeSystemMemory()
// ******************************************************************
XBSYSAPI EXPORTNUM(172) xbox::ULONG NTAPI xbox::MmFreeSystemMemory
XBSYSAPI EXPORTNUM(172) xbox::ulong_xt NTAPI xbox::MmFreeSystemMemory
(
PVOID BaseAddress,
ULONG NumberOfBytes
ulong_xt NumberOfBytes
)
{
LOG_FUNC_BEGIN
@ -233,7 +233,7 @@ XBSYSAPI EXPORTNUM(172) xbox::ULONG NTAPI xbox::MmFreeSystemMemory
// Translates a virtual address into a physical address.
//
// Differences from NT: PhysicalAddress is 32 bit, not 64.
XBSYSAPI EXPORTNUM(173) xbox::PHYSICAL_ADDRESS NTAPI xbox::MmGetPhysicalAddress
XBSYSAPI EXPORTNUM(173) xbox::physical_address_xt NTAPI xbox::MmGetPhysicalAddress
(
IN PVOID BaseAddress
)
@ -251,7 +251,7 @@ XBSYSAPI EXPORTNUM(173) xbox::PHYSICAL_ADDRESS NTAPI xbox::MmGetPhysicalAddress
// ******************************************************************
// * 0x00AE - MmIsAddressValid()
// ******************************************************************
XBSYSAPI EXPORTNUM(174) xbox::BOOLEAN NTAPI xbox::MmIsAddressValid
XBSYSAPI EXPORTNUM(174) xbox::boolean_xt NTAPI xbox::MmIsAddressValid
(
IN PVOID VirtualAddress
)
@ -268,11 +268,11 @@ XBSYSAPI EXPORTNUM(174) xbox::BOOLEAN NTAPI xbox::MmIsAddressValid
// ******************************************************************
// * 0x00AF - MmLockUnlockBufferPages()
// ******************************************************************
XBSYSAPI EXPORTNUM(175) xbox::VOID NTAPI xbox::MmLockUnlockBufferPages
XBSYSAPI EXPORTNUM(175) xbox::void_xt NTAPI xbox::MmLockUnlockBufferPages
(
IN PVOID BaseAddress,
IN SIZE_T NumberOfBytes,
IN BOOLEAN UnlockPages
IN size_xt NumberOfBytes,
IN boolean_xt UnlockPages
)
{
LOG_FUNC_BEGIN
@ -289,10 +289,10 @@ XBSYSAPI EXPORTNUM(175) xbox::VOID NTAPI xbox::MmLockUnlockBufferPages
// ******************************************************************
// * 0x00B0 - MmLockUnlockPhysicalPage()
// ******************************************************************
XBSYSAPI EXPORTNUM(176) xbox::VOID NTAPI xbox::MmLockUnlockPhysicalPage
XBSYSAPI EXPORTNUM(176) xbox::void_xt NTAPI xbox::MmLockUnlockPhysicalPage
(
IN ULONG_PTR PhysicalAddress,
IN BOOLEAN UnlockPage
IN ulong_ptr_xt PhysicalAddress,
IN boolean_xt UnlockPage
)
{
LOG_FUNC_BEGIN
@ -318,9 +318,9 @@ XBSYSAPI EXPORTNUM(176) xbox::VOID NTAPI xbox::MmLockUnlockPhysicalPage
// want...
XBSYSAPI EXPORTNUM(177) xbox::PVOID NTAPI xbox::MmMapIoSpace
(
IN PHYSICAL_ADDRESS PhysicalAddress,
IN ULONG NumberOfBytes,
IN ULONG ProtectionType
IN physical_address_xt PhysicalAddress,
IN ulong_xt NumberOfBytes,
IN ulong_xt ProtectionType
)
{
LOG_FUNC_BEGIN
@ -337,11 +337,11 @@ XBSYSAPI EXPORTNUM(177) xbox::PVOID NTAPI xbox::MmMapIoSpace
// ******************************************************************
// * 0x00B2 - MmPersistContiguousMemory()
// ******************************************************************
XBSYSAPI EXPORTNUM(178) xbox::VOID NTAPI xbox::MmPersistContiguousMemory
XBSYSAPI EXPORTNUM(178) xbox::void_xt NTAPI xbox::MmPersistContiguousMemory
(
IN PVOID BaseAddress,
IN ULONG NumberOfBytes,
IN BOOLEAN Persist
IN ulong_xt NumberOfBytes,
IN boolean_xt Persist
)
{
LOG_FUNC_BEGIN
@ -356,7 +356,7 @@ XBSYSAPI EXPORTNUM(178) xbox::VOID NTAPI xbox::MmPersistContiguousMemory
// ******************************************************************
// * 0x00B3 - MmQueryAddressProtect()
// ******************************************************************
XBSYSAPI EXPORTNUM(179) xbox::ULONG NTAPI xbox::MmQueryAddressProtect
XBSYSAPI EXPORTNUM(179) xbox::ulong_xt NTAPI xbox::MmQueryAddressProtect
(
IN PVOID VirtualAddress
)
@ -371,7 +371,7 @@ XBSYSAPI EXPORTNUM(179) xbox::ULONG NTAPI xbox::MmQueryAddressProtect
// ******************************************************************
// * 0x00B4 - MmQueryAllocationSize()
// ******************************************************************
XBSYSAPI EXPORTNUM(180) xbox::ULONG NTAPI xbox::MmQueryAllocationSize
XBSYSAPI EXPORTNUM(180) xbox::ulong_xt NTAPI xbox::MmQueryAllocationSize
(
IN PVOID BaseAddress
)
@ -386,7 +386,7 @@ XBSYSAPI EXPORTNUM(180) xbox::ULONG NTAPI xbox::MmQueryAllocationSize
// ******************************************************************
// * 0x00B5 - MmQueryStatistics()
// ******************************************************************
XBSYSAPI EXPORTNUM(181) xbox::NTSTATUS NTAPI xbox::MmQueryStatistics
XBSYSAPI EXPORTNUM(181) xbox::ntstatus_xt NTAPI xbox::MmQueryStatistics
(
OUT PMM_STATISTICS MemoryStatistics
)
@ -416,7 +416,7 @@ XBSYSAPI EXPORTNUM(181) xbox::NTSTATUS NTAPI xbox::MmQueryStatistics
EmuLog(LOG_LEVEL::DEBUG, " MemoryStatistics->StackPagesCommitted = 0x%.08X", MemoryStatistics->StackPagesCommitted);
EmuLog(LOG_LEVEL::DEBUG, " MemoryStatistics->ImagePagesCommitted = 0x%.08X", MemoryStatistics->ImagePagesCommitted);
ret = STATUS_SUCCESS;
ret = xbox::status_success;
}
else
{
@ -430,11 +430,11 @@ XBSYSAPI EXPORTNUM(181) xbox::NTSTATUS NTAPI xbox::MmQueryStatistics
// ******************************************************************
// * 0x00B6 - MmSetAddressProtect()
// ******************************************************************
XBSYSAPI EXPORTNUM(182) xbox::VOID NTAPI xbox::MmSetAddressProtect
XBSYSAPI EXPORTNUM(182) xbox::void_xt NTAPI xbox::MmSetAddressProtect
(
IN PVOID BaseAddress,
IN ULONG NumberOfBytes,
IN ULONG NewProtect
IN ulong_xt NumberOfBytes,
IN ulong_xt NewProtect
)
{
LOG_FUNC_BEGIN
@ -452,10 +452,10 @@ XBSYSAPI EXPORTNUM(182) xbox::VOID NTAPI xbox::MmSetAddressProtect
// Unmaps a virtual address mapping made by MmMapIoSpace.
//
// Differences from NT: None.
XBSYSAPI EXPORTNUM(183) xbox::VOID NTAPI xbox::MmUnmapIoSpace
XBSYSAPI EXPORTNUM(183) xbox::void_xt NTAPI xbox::MmUnmapIoSpace
(
IN PVOID BaseAddress,
IN ULONG NumberOfBytes
IN ulong_xt NumberOfBytes
)
{
LOG_FUNC_BEGIN
@ -471,8 +471,8 @@ XBSYSAPI EXPORTNUM(183) xbox::VOID NTAPI xbox::MmUnmapIoSpace
// ******************************************************************
XBSYSAPI EXPORTNUM(374) xbox::PVOID NTAPI xbox::MmDbgAllocateMemory
(
IN ULONG NumberOfBytes,
IN ULONG Protect
IN ulong_xt NumberOfBytes,
IN ulong_xt Protect
)
{
LOG_FUNC_BEGIN
@ -489,10 +489,10 @@ XBSYSAPI EXPORTNUM(374) xbox::PVOID NTAPI xbox::MmDbgAllocateMemory
// ******************************************************************
// * 0x0177 - MmDbgFreeMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(375) xbox::ULONG NTAPI xbox::MmDbgFreeMemory
XBSYSAPI EXPORTNUM(375) xbox::ulong_xt NTAPI xbox::MmDbgFreeMemory
(
IN PVOID BaseAddress,
IN ULONG NumberOfBytes
IN ulong_xt NumberOfBytes
)
{
LOG_FUNC_BEGIN
@ -508,7 +508,7 @@ XBSYSAPI EXPORTNUM(375) xbox::ULONG NTAPI xbox::MmDbgFreeMemory
// ******************************************************************
// * 0x0178 - MmDbgQueryAvailablePages
// ******************************************************************
XBSYSAPI EXPORTNUM(376) xbox::ULONG NTAPI xbox::MmDbgQueryAvailablePages(void)
XBSYSAPI EXPORTNUM(376) xbox::ulong_xt NTAPI xbox::MmDbgQueryAvailablePages(void)
{
LOG_FUNC();
@ -520,7 +520,7 @@ XBSYSAPI EXPORTNUM(376) xbox::ULONG NTAPI xbox::MmDbgQueryAvailablePages(void)
// ******************************************************************
// * 0x0179 - MmDbgReleaseAddress
// ******************************************************************
XBSYSAPI EXPORTNUM(377) xbox::VOID NTAPI xbox::MmDbgReleaseAddress
XBSYSAPI EXPORTNUM(377) xbox::void_xt NTAPI xbox::MmDbgReleaseAddress
(
IN PVOID VirtualAddress,
IN PULONG Opaque

File diff suppressed because it is too large Load Diff

View File

@ -29,7 +29,7 @@
#define LOG_PREFIX CXBXR_MODULE::OB
#include <xboxkrnl/xboxkrnl.h> // For ObDirectoryObjectType, etc.
#include <core\kernel\exports\xboxkrnl.h> // For ObDirectoryObjectType, etc.
#include "Logging.h" // For LOG_FUNC()
#include "EmuKrnlLogging.h"
#include "core\kernel\init\CxbxKrnl.h" // For CxbxKrnlCleanup
@ -41,10 +41,8 @@
#include <ntstatus.h>
#pragma warning(default:4005)
#define FIELD_OFFSET(type,field) ((ULONG)&(((type *)0)->field))
#define INITIALIZED_OBJECT_STRING(ObjectString, Value) \
xbox::CHAR ObjectString##Buffer[] = Value; \
xbox::char_xt ObjectString##Buffer[] = Value; \
xbox::OBJECT_STRING ObjectString = { \
sizeof(Value) - sizeof(CHAR), \
sizeof(Value), \
@ -66,7 +64,7 @@ XBSYSAPI EXPORTNUM(245) xbox::OBJECT_HANDLE_TABLE xbox::ObpObjectHandleTable = {
xbox::PVOID ObpDosDevicesDriveLetterMap['Z' - 'A' + 1];
xbox::BOOLEAN xbox::ObpCreatePermanentDirectoryObject(
xbox::boolean_xt xbox::ObpCreatePermanentDirectoryObject(
IN xbox::POBJECT_STRING DirectoryName OPTIONAL,
OUT xbox::POBJECT_DIRECTORY *DirectoryObject
)
@ -82,13 +80,13 @@ xbox::BOOLEAN xbox::ObpCreatePermanentDirectoryObject(
HANDLE Handle;
NTSTATUS status = NtCreateDirectoryObject(&Handle, &ObjectAttributes);
if (!NT_SUCCESS(status)) {
if (!nt_success(status)) {
RETURN(FALSE);
}
status = ObReferenceObjectByHandle(Handle, &ObDirectoryObjectType, (PVOID *)DirectoryObject);
if (!NT_SUCCESS(status)) {
if (!nt_success(status)) {
RETURN(FALSE);
}
@ -97,10 +95,10 @@ xbox::BOOLEAN xbox::ObpCreatePermanentDirectoryObject(
RETURN(TRUE);
}
xbox::NTSTATUS xbox::ObpReferenceObjectByName(
xbox::ntstatus_xt xbox::ObpReferenceObjectByName(
IN HANDLE RootDirectoryHandle,
IN POBJECT_STRING ObjectName,
IN ULONG Attributes,
IN ulong_xt Attributes,
IN POBJECT_TYPE ObjectType,
IN OUT PVOID ParseContext OPTIONAL,
OUT PVOID *ReturnedObject
@ -175,7 +173,7 @@ xbox::NTSTATUS xbox::ObpReferenceObjectByName(
if (!ObpLookupElementNameInDirectory(Directory, &ElementName,
ResolveSymbolicLink, &FoundObject)) {
status = (RemainingName.Length != 0) ? STATUS_OBJECT_PATH_NOT_FOUND : STATUS_OBJECT_NAME_NOT_FOUND;
status = (RemainingName.Length != 0) ? STATUS_OBJECT_PATH_NOT_FOUND : xbox::status_object_name_not_found;
goto CleanupAndExit;
}
@ -194,7 +192,7 @@ OpenRootDirectory:
ObjectHeader->PointerCount++;
*ReturnedObject = FoundObject;
status = STATUS_SUCCESS;
status = xbox::status_success;
goto CleanupAndExit;
}
@ -218,10 +216,10 @@ InvokeParseProcedure:
status = ObjectHeader->Type->ParseProcedure(FoundObject, ObjectType, Attributes, ObjectName, &RemainingName, ParseContext, &ParsedObject);
ObfDereferenceObject(FoundObject);
if (NT_SUCCESS(status)) {
if (nt_success(status)) {
if ((ObjectType == NULL) || (ObjectType == OBJECT_TO_OBJECT_HEADER(ParsedObject)->Type)) {
*ReturnedObject = ParsedObject;
status = STATUS_SUCCESS;
status = xbox::status_success;
} else {
ObfDereferenceObject(ParsedObject);
status = STATUS_OBJECT_TYPE_MISMATCH;
@ -236,7 +234,7 @@ CleanupAndExit:
return status;
}
xbox::BOOLEAN xbox::ObInitSystem()
xbox::boolean_xt xbox::ObInitSystem()
{
ObpObjectHandleTable.HandleCount = 0;
ObpObjectHandleTable.FirstFreeTableEntry = -1;
@ -264,7 +262,7 @@ xbox::BOOLEAN xbox::ObInitSystem()
return TRUE;
}
xbox::BOOLEAN xbox::ObpExtendObjectHandleTable()
xbox::boolean_xt xbox::ObpExtendObjectHandleTable()
{
PVOID* NewTable = (PVOID*)ExAllocatePoolWithTag(sizeof(PVOID) * OB_HANDLES_PER_TABLE, 'tHbO');
if (NewTable == NULL) {
@ -342,7 +340,7 @@ xbox::HANDLE xbox::ObpCreateObjectHandle(xbox::PVOID Object)
return Handle;
}
xbox::VOID xbox::ObDissectName(OBJECT_STRING Path, POBJECT_STRING FirstName, POBJECT_STRING RemainingName)
xbox::void_xt xbox::ObDissectName(OBJECT_STRING Path, POBJECT_STRING FirstName, POBJECT_STRING RemainingName)
{
ULONG i = 0;
@ -385,11 +383,11 @@ xbox::VOID xbox::ObDissectName(OBJECT_STRING Path, POBJECT_STRING FirstName, POB
// ******************************************************************
// * 0x00EF - ObCreateObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(239) xbox::NTSTATUS NTAPI xbox::ObCreateObject
XBSYSAPI EXPORTNUM(239) xbox::ntstatus_xt NTAPI xbox::ObCreateObject
(
IN POBJECT_TYPE ObjectType,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN ULONG ObjectBodySize,
IN ulong_xt ObjectBodySize,
OUT PVOID *Object
)
{
@ -401,10 +399,10 @@ XBSYSAPI EXPORTNUM(239) xbox::NTSTATUS NTAPI xbox::ObCreateObject
LOG_FUNC_END;
if (ObjectAttributes == NULL || ObjectAttributes->ObjectName == NULL) {
POBJECT_HEADER ObjectHeader = (POBJECT_HEADER)ObjectType->AllocateProcedure(FIELD_OFFSET(OBJECT_HEADER, Body) + ObjectBodySize, ObjectType->PoolTag);
POBJECT_HEADER ObjectHeader = (POBJECT_HEADER)ObjectType->AllocateProcedure(offsetof(OBJECT_HEADER, Body) + ObjectBodySize, ObjectType->PoolTag);
if (ObjectHeader == nullptr) {
RETURN(STATUS_INSUFFICIENT_RESOURCES);
RETURN(xbox::status_insufficient_resources);
}
ObjectHeader->PointerCount = 1;
@ -414,7 +412,7 @@ XBSYSAPI EXPORTNUM(239) xbox::NTSTATUS NTAPI xbox::ObCreateObject
*Object = &ObjectHeader->Body;
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}
OBJECT_STRING RemainingName = *ObjectAttributes->ObjectName;
@ -436,11 +434,11 @@ XBSYSAPI EXPORTNUM(239) xbox::NTSTATUS NTAPI xbox::ObCreateObject
ObjectBodySize = ALIGN_UP(ObjectBodySize, ULONG);
POBJECT_HEADER_NAME_INFO ObjectNameInfo = (POBJECT_HEADER_NAME_INFO)ObjectType->AllocateProcedure(
sizeof(OBJECT_HEADER_NAME_INFO) + FIELD_OFFSET(OBJECT_HEADER, Body) +
sizeof(OBJECT_HEADER_NAME_INFO) + offsetof(OBJECT_HEADER, Body) +
ObjectBodySize + ElementName.Length, ObjectType->PoolTag);
if (ObjectNameInfo == NULL) {
return STATUS_INSUFFICIENT_RESOURCES;
return xbox::status_insufficient_resources;
}
POBJECT_HEADER ObjectHeader = (POBJECT_HEADER)(ObjectNameInfo + 1);
@ -459,7 +457,7 @@ XBSYSAPI EXPORTNUM(239) xbox::NTSTATUS NTAPI xbox::ObCreateObject
*Object = &ObjectHeader->Body;
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}
// ******************************************************************
@ -494,7 +492,7 @@ xbox::PVOID xbox::ObpGetObjectHandleContents(HANDLE Handle)
return NULL;
}
xbox::ULONG FASTCALL xbox::ObpComputeHashIndex(
xbox::ulong_xt FASTCALL xbox::ObpComputeHashIndex(
IN POBJECT_STRING ElementName
)
{
@ -542,10 +540,10 @@ xbox::PVOID xbox::ObpGetObjectHandleReference(HANDLE Handle)
return NULL;
}
xbox::BOOLEAN xbox::ObpLookupElementNameInDirectory(
xbox::boolean_xt xbox::ObpLookupElementNameInDirectory(
IN POBJECT_DIRECTORY Directory,
IN POBJECT_STRING ElementName,
IN BOOLEAN ResolveSymbolicLink,
IN boolean_xt ResolveSymbolicLink,
OUT PVOID *ReturnedObject
)
{
@ -590,11 +588,11 @@ xbox::BOOLEAN xbox::ObpLookupElementNameInDirectory(
// ******************************************************************
// * 0x00F1 - ObInsertObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(241) xbox::NTSTATUS NTAPI xbox::ObInsertObject
XBSYSAPI EXPORTNUM(241) xbox::ntstatus_xt NTAPI xbox::ObInsertObject
(
IN PVOID Object,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN ULONG ObjectPointerBias,
IN ulong_xt ObjectPointerBias,
OUT PHANDLE ReturnedHandle
)
{
@ -664,7 +662,7 @@ XBSYSAPI EXPORTNUM(241) xbox::NTSTATUS NTAPI xbox::ObInsertObject
goto CleanupAndExit;
}
} else {
status = STATUS_OBJECT_NAME_COLLISION;
status = xbox::status_object_name_collision;
goto CleanupAndExit;
}
}
@ -692,7 +690,7 @@ XBSYSAPI EXPORTNUM(241) xbox::NTSTATUS NTAPI xbox::ObInsertObject
Handle = ObpCreateObjectHandle(InsertObject);
if (Handle == NULL) {
status = STATUS_INSUFFICIENT_RESOURCES;
status = xbox::status_insufficient_resources;
goto CleanupAndExit;
}
@ -732,7 +730,7 @@ XBSYSAPI EXPORTNUM(241) xbox::NTSTATUS NTAPI xbox::ObInsertObject
ObjectHeader->Flags |= OB_FLAG_PERMANENT_OBJECT;
}
status = (Object == InsertObject) ? STATUS_SUCCESS : STATUS_OBJECT_NAME_EXISTS;
status = (Object == InsertObject) ? xbox::status_success : STATUS_OBJECT_NAME_EXISTS;
CleanupAndExit:
KfLowerIrql(OldIrql);
@ -745,7 +743,7 @@ CleanupAndExit:
// ******************************************************************
// * 0x00F2 - ObMakeTemporaryObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(242) xbox::VOID NTAPI xbox::ObMakeTemporaryObject
XBSYSAPI EXPORTNUM(242) xbox::void_xt NTAPI xbox::ObMakeTemporaryObject
(
IN PVOID Object
)
@ -759,7 +757,7 @@ XBSYSAPI EXPORTNUM(242) xbox::VOID NTAPI xbox::ObMakeTemporaryObject
// ******************************************************************
// * 0x00F3 - ObOpenObjectByName()
// ******************************************************************
XBSYSAPI EXPORTNUM(243) xbox::NTSTATUS NTAPI xbox::ObOpenObjectByName
XBSYSAPI EXPORTNUM(243) xbox::ntstatus_xt NTAPI xbox::ObOpenObjectByName
(
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN POBJECT_TYPE ObjectType,
@ -777,13 +775,13 @@ XBSYSAPI EXPORTNUM(243) xbox::NTSTATUS NTAPI xbox::ObOpenObjectByName
LOG_UNIMPLEMENTED();
assert(false);
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}
// ******************************************************************
// * 0x00F4 - ObOpenObjectByPointer()
// ******************************************************************
XBSYSAPI EXPORTNUM(244) xbox::NTSTATUS NTAPI xbox::ObOpenObjectByPointer
XBSYSAPI EXPORTNUM(244) xbox::ntstatus_xt NTAPI xbox::ObOpenObjectByPointer
(
IN PVOID Object,
IN POBJECT_TYPE ObjectType,
@ -799,7 +797,7 @@ XBSYSAPI EXPORTNUM(244) xbox::NTSTATUS NTAPI xbox::ObOpenObjectByPointer
LOG_UNIMPLEMENTED();
assert(false);
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}
// ******************************************************************
@ -811,7 +809,7 @@ XBSYSAPI EXPORTNUM(244) xbox::NTSTATUS NTAPI xbox::ObOpenObjectByPointer
//
// Differences from NT: There are no DesiredAccess, AccessMode, or
// HandleInformation parameters.
XBSYSAPI EXPORTNUM(246) xbox::NTSTATUS NTAPI xbox::ObReferenceObjectByHandle
XBSYSAPI EXPORTNUM(246) xbox::ntstatus_xt NTAPI xbox::ObReferenceObjectByHandle
(
IN HANDLE Handle,
IN POBJECT_TYPE ObjectType OPTIONAL,
@ -832,9 +830,9 @@ XBSYSAPI EXPORTNUM(246) xbox::NTSTATUS NTAPI xbox::ObReferenceObjectByHandle
if ((ObjectType == &PsThreadObjectType) || (ObjectType == NULL)) {
Object = PsGetCurrentThread();
ObjectHeader = OBJECT_TO_OBJECT_HEADER(Object);
InterlockedIncrement(&ObjectHeader->PointerCount);
InterlockedIncrement((::PLONG)(&ObjectHeader->PointerCount));
*ReturnedObject = Object;
return STATUS_SUCCESS;
return xbox::status_success;
} else {
status = STATUS_OBJECT_TYPE_MISMATCH;
}
@ -846,7 +844,7 @@ XBSYSAPI EXPORTNUM(246) xbox::NTSTATUS NTAPI xbox::ObReferenceObjectByHandle
if ((ObjectType == ObjectHeader->Type) || (ObjectType == NULL)) {
*ReturnedObject = Object;
return STATUS_SUCCESS;
return xbox::status_success;
} else {
ObfDereferenceObject(Object);
status = STATUS_OBJECT_TYPE_MISMATCH;
@ -859,7 +857,7 @@ XBSYSAPI EXPORTNUM(246) xbox::NTSTATUS NTAPI xbox::ObReferenceObjectByHandle
if (GetHandleInformation(Handle, &flags)) {
// This was a Windows Handle, so return it.
*ReturnedObject = Handle;
return STATUS_SUCCESS;
return xbox::status_success;
}
status = STATUS_INVALID_HANDLE;
@ -874,10 +872,10 @@ XBSYSAPI EXPORTNUM(246) xbox::NTSTATUS NTAPI xbox::ObReferenceObjectByHandle
// ******************************************************************
// * 0x00F7 - ObReferenceObjectByName()
// ******************************************************************
XBSYSAPI EXPORTNUM(247) xbox::NTSTATUS NTAPI xbox::ObReferenceObjectByName
XBSYSAPI EXPORTNUM(247) xbox::ntstatus_xt NTAPI xbox::ObReferenceObjectByName
(
IN POBJECT_STRING ObjectName,
IN ULONG Attributes,
IN ulong_xt Attributes,
IN POBJECT_TYPE ObjectType,
IN OUT PVOID ParseContext OPTIONAL,
OUT PVOID *Object
@ -898,7 +896,7 @@ XBSYSAPI EXPORTNUM(247) xbox::NTSTATUS NTAPI xbox::ObReferenceObjectByName
// ******************************************************************
// * 0x00F8 - ObReferenceObjectByPointer()
// ******************************************************************
XBSYSAPI EXPORTNUM(248) xbox::NTSTATUS NTAPI xbox::ObReferenceObjectByPointer
XBSYSAPI EXPORTNUM(248) xbox::ntstatus_xt NTAPI xbox::ObReferenceObjectByPointer
(
IN PVOID Object,
IN POBJECT_TYPE ObjectType
@ -912,8 +910,8 @@ XBSYSAPI EXPORTNUM(248) xbox::NTSTATUS NTAPI xbox::ObReferenceObjectByPointer
POBJECT_HEADER ObjectHeader = OBJECT_TO_OBJECT_HEADER(Object);
if (ObjectType == ObjectHeader->Type) {
InterlockedIncrement(&ObjectHeader->PointerCount);
RETURN(STATUS_SUCCESS);
InterlockedIncrement((::PLONG)(&ObjectHeader->PointerCount));
RETURN(xbox::status_success);
}
RETURN(STATUS_OBJECT_TYPE_MISMATCH);
@ -936,7 +934,7 @@ XBSYSAPI EXPORTNUM(249) xbox::OBJECT_TYPE xbox::ObSymbolicLinkObjectType =
// ******************************************************************
// * 0x00FA - ObfDereferenceObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(250) xbox::VOID FASTCALL xbox::ObfDereferenceObject
XBSYSAPI EXPORTNUM(250) xbox::void_xt FASTCALL xbox::ObfDereferenceObject
(
IN PVOID Object
)
@ -953,7 +951,7 @@ XBSYSAPI EXPORTNUM(250) xbox::VOID FASTCALL xbox::ObfDereferenceObject
POBJECT_HEADER ObjectHeader = OBJECT_TO_OBJECT_HEADER(Object);
if (InterlockedDecrement(&ObjectHeader->PointerCount) == 0) {
if (InterlockedDecrement((::PLONG)(&ObjectHeader->PointerCount)) == 0) {
if (ObjectHeader->Type->DeleteProcedure != NULL) {
ObjectHeader->Type->DeleteProcedure(Object);
}
@ -972,11 +970,11 @@ XBSYSAPI EXPORTNUM(250) xbox::VOID FASTCALL xbox::ObfDereferenceObject
// ******************************************************************
// * 0x00FB - ObfReferenceObject()
// ******************************************************************
XBSYSAPI EXPORTNUM(251) xbox::VOID FASTCALL xbox::ObfReferenceObject
XBSYSAPI EXPORTNUM(251) xbox::void_xt FASTCALL xbox::ObfReferenceObject
(
IN PVOID Object
)
{
LOG_FUNC_ONE_ARG_OUT(Object);
InterlockedIncrement(&OBJECT_TO_OBJECT_HEADER(Object)->PointerCount);
InterlockedIncrement((::PLONG)(&OBJECT_TO_OBJECT_HEADER(Object)->PointerCount));
}

View File

@ -26,7 +26,7 @@
// ******************************************************************
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#define LOG_PREFIX CXBXR_MODULE::KRNL
@ -61,7 +61,7 @@ LONG PhyLockFlag;
#define PhyLock() InterlockedCompareExchange(&PhyLockFlag, 1, 0)
#define PhyUnlock() (PhyLockFlag = 0)
#define NETERR(_err) HRESULT_FROM_WIN32(_err)
#define NETERR_OK STATUS_SUCCESS
#define NETERR_OK xbox::status_success
#define NETERR_HARDWARE 0x801f0001 // hardware not responding
#define BIT(n) (1u << (n))
@ -209,9 +209,9 @@ BOOL PhyUpdateLinkState()
// ******************************************************************
// * 0x00FC - PhyGetLinkState()
// ******************************************************************
XBSYSAPI EXPORTNUM(252) xbox::DWORD NTAPI xbox::PhyGetLinkState
XBSYSAPI EXPORTNUM(252) xbox::dword_xt NTAPI xbox::PhyGetLinkState
(
IN ULONG Mode
IN ulong_xt Mode
)
{
LOG_FUNC_ONE_ARG(Mode);
@ -227,9 +227,9 @@ XBSYSAPI EXPORTNUM(252) xbox::DWORD NTAPI xbox::PhyGetLinkState
// ******************************************************************
// * 0x00FD - PhyInitialize()
// ******************************************************************
XBSYSAPI EXPORTNUM(253) xbox::NTSTATUS NTAPI xbox::PhyInitialize
XBSYSAPI EXPORTNUM(253) xbox::ntstatus_xt NTAPI xbox::PhyInitialize
(
IN ULONG forceReset,
IN ulong_xt forceReset,
IN PVOID Parameter2
)
{

View File

@ -30,7 +30,7 @@
#include <common\util\CxbxUtil.h>
#include <xboxkrnl/xboxkrnl.h> // For PsCreateSystemThreadEx, etc.
#include <core\kernel\exports\xboxkrnl.h> // For PsCreateSystemThreadEx, etc.
#include <process.h> // For __beginthreadex(), etc.
#include <float.h> // For _controlfp constants
@ -142,7 +142,7 @@ static unsigned int WINAPI PCSTProxy
// This will also handle thread notification :
LOG_TEST_CASE("Thread returned from SystemRoutine");
xbox::PsTerminateSystemThread(STATUS_SUCCESS);
xbox::PsTerminateSystemThread(xbox::status_success);
return 0; // will never be reached
}
@ -157,19 +157,19 @@ void PspSystemThreadStartup
// TODO : Call PspUnhandledExceptionInSystemThread(GetExceptionInformation())
(StartRoutine)(StartContext);
xbox::PsTerminateSystemThread(STATUS_SUCCESS);
xbox::PsTerminateSystemThread(xbox::status_success);
}
// ******************************************************************
// * 0x00FE - PsCreateSystemThread()
// ******************************************************************
XBSYSAPI EXPORTNUM(254) xbox::NTSTATUS NTAPI xbox::PsCreateSystemThread
XBSYSAPI EXPORTNUM(254) xbox::ntstatus_xt NTAPI xbox::PsCreateSystemThread
(
OUT PHANDLE ThreadHandle,
OUT PHANDLE ThreadId OPTIONAL,
IN PKSTART_ROUTINE StartRoutine,
IN PVOID StartContext,
IN BOOLEAN DebuggerThread
IN boolean_xt DebuggerThread
)
{
LOG_FORWARD("PsCreateSystemThreadEx");
@ -204,17 +204,17 @@ XBSYSAPI EXPORTNUM(254) xbox::NTSTATUS NTAPI xbox::PsCreateSystemThread
// SystemRoutine: System function (normally XapiThreadStartup) called when the thread is created
//
// New to the XBOX.
XBSYSAPI EXPORTNUM(255) xbox::NTSTATUS NTAPI xbox::PsCreateSystemThreadEx
XBSYSAPI EXPORTNUM(255) xbox::ntstatus_xt NTAPI xbox::PsCreateSystemThreadEx
(
OUT PHANDLE ThreadHandle,
IN ULONG ThreadExtensionSize,
IN ULONG KernelStackSize,
IN ULONG TlsDataSize,
IN ulong_xt ThreadExtensionSize,
IN ulong_xt KernelStackSize,
IN ulong_xt TlsDataSize,
OUT PHANDLE ThreadId OPTIONAL,
IN PKSTART_ROUTINE StartRoutine,
IN PVOID StartContext,
IN BOOLEAN CreateSuspended,
IN BOOLEAN DebuggerThread,
IN boolean_xt CreateSuspended,
IN boolean_xt DebuggerThread,
IN PKSYSTEM_ROUTINE SystemRoutine OPTIONAL
)
{
@ -330,20 +330,20 @@ XBSYSAPI EXPORTNUM(255) xbox::NTSTATUS NTAPI xbox::PsCreateSystemThreadEx
SwitchToThread();
Sleep(10);
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}
// ******************************************************************
// * 0x0100 - PsQueryStatistics()
// ******************************************************************
XBSYSAPI EXPORTNUM(256) xbox::NTSTATUS NTAPI xbox::PsQueryStatistics
XBSYSAPI EXPORTNUM(256) xbox::ntstatus_xt NTAPI xbox::PsQueryStatistics
(
IN OUT PPS_STATISTICS ProcessStatistics
)
{
LOG_FUNC_ONE_ARG_OUT(ProcessStatistics);
NTSTATUS ret = STATUS_SUCCESS;
NTSTATUS ret = xbox::status_success;
if (ProcessStatistics->Length == sizeof(PS_STATISTICS)) {
LOG_INCOMPLETE(); // TODO : Return number of threads and handles that currently exist
@ -359,14 +359,14 @@ XBSYSAPI EXPORTNUM(256) xbox::NTSTATUS NTAPI xbox::PsQueryStatistics
// ******************************************************************
// * 0x0101 - PsSetCreateThreadNotifyRoutine()
// ******************************************************************
XBSYSAPI EXPORTNUM(257) xbox::NTSTATUS NTAPI xbox::PsSetCreateThreadNotifyRoutine
XBSYSAPI EXPORTNUM(257) xbox::ntstatus_xt NTAPI xbox::PsSetCreateThreadNotifyRoutine
(
IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine
)
{
LOG_FUNC_ONE_ARG(NotifyRoutine);
NTSTATUS ret = STATUS_INSUFFICIENT_RESOURCES;
NTSTATUS ret = xbox::status_insufficient_resources;
// Taken from xbox::EmuXRegisterThreadNotifyRoutine (perhaps that can be removed now) :
@ -383,7 +383,7 @@ XBSYSAPI EXPORTNUM(257) xbox::NTSTATUS NTAPI xbox::PsSetCreateThreadNotifyRoutin
{
g_pfnThreadNotification[i] = (PVOID)NotifyRoutine;
g_iThreadNotificationCount++;
ret = STATUS_SUCCESS;
ret = xbox::status_success;
break;
}
}
@ -397,9 +397,9 @@ XBSYSAPI EXPORTNUM(257) xbox::NTSTATUS NTAPI xbox::PsSetCreateThreadNotifyRoutin
// Exits the current system thread. Must be called from a system thread.
//
// Differences from NT: None.
XBSYSAPI EXPORTNUM(258) xbox::VOID NTAPI xbox::PsTerminateSystemThread
XBSYSAPI EXPORTNUM(258) xbox::void_xt NTAPI xbox::PsTerminateSystemThread
(
IN NTSTATUS ExitStatus
IN ntstatus_xt ExitStatus
)
{
LOG_FUNC_ONE_ARG(ExitStatus);

File diff suppressed because it is too large Load Diff

View File

@ -29,7 +29,7 @@
#define LOG_PREFIX CXBXR_MODULE::XBOX
#include <xboxkrnl/xboxkrnl.h> // For XboxEEPROMKey, etc.
#include <core\kernel\exports\xboxkrnl.h> // For XboxEEPROMKey, etc.
#include "Logging.h"
// Certificate Key

View File

@ -31,7 +31,7 @@
#define LOG_PREFIX CXBXR_MODULE::XC
#include <xboxkrnl/xboxkrnl.h> // For XcSHAInit, etc.
#include <core\kernel\exports\xboxkrnl.h> // For XcSHAInit, etc.
#include "Logging.h" // For LOG_FUNC()
#include "EmuKrnlLogging.h"
#include "common\crypto\EmuSha.h" // For A_SHAInit, etc.
@ -48,7 +48,7 @@ namespace NtDll
// The following are the default implementations of the crypto functions
xbox::VOID NTAPI JumpedSHAInit
xbox::void_xt NTAPI JumpedSHAInit
(
xbox::PUCHAR pbSHAContext
)
@ -59,17 +59,17 @@ xbox::VOID NTAPI JumpedSHAInit
SHA1Init((SHA1_CTX*)(pbSHAContext + 24));
}
xbox::VOID NTAPI JumpedSHAUpdate
xbox::void_xt NTAPI JumpedSHAUpdate
(
xbox::PUCHAR pbSHAContext,
xbox::PUCHAR pbInput,
xbox::ULONG dwInputLength
xbox::ulong_xt dwInputLength
)
{
SHA1Update((SHA1_CTX*)(pbSHAContext + 24), pbInput, dwInputLength);
}
xbox::VOID NTAPI JumpedSHAFinal
xbox::void_xt NTAPI JumpedSHAFinal
(
xbox::PUCHAR pbSHAContext,
xbox::PUCHAR pbDigest
@ -78,34 +78,34 @@ xbox::VOID NTAPI JumpedSHAFinal
SHA1Final(pbDigest, (SHA1_CTX*)(pbSHAContext + 24));
}
xbox::VOID NTAPI JumpedRC4Key
xbox::void_xt NTAPI JumpedRC4Key
(
xbox::PUCHAR pbKeyStruct,
xbox::ULONG dwKeyLength,
xbox::ulong_xt dwKeyLength,
xbox::PUCHAR pbKey
)
{
Rc4Initialise((Rc4Context*)pbKeyStruct, pbKey, dwKeyLength, 0);
}
xbox::VOID NTAPI JumpedRC4Crypt
xbox::void_xt NTAPI JumpedRC4Crypt
(
xbox::PUCHAR pbKeyStruct,
xbox::ULONG dwInputLength,
xbox::ulong_xt dwInputLength,
xbox::PUCHAR pbInput
)
{
Rc4Xor((Rc4Context*)pbKeyStruct, pbInput, pbInput, dwInputLength);
}
xbox::VOID NTAPI JumpedHMAC
xbox::void_xt NTAPI JumpedHMAC
(
xbox::PBYTE pbKeyMaterial,
xbox::ULONG cbKeyMaterial,
xbox::ulong_xt cbKeyMaterial,
xbox::PBYTE pbData,
xbox::ULONG cbData,
xbox::ulong_xt cbData,
xbox::PBYTE pbData2,
xbox::ULONG cbData2,
xbox::ulong_xt cbData2,
xbox::PBYTE HmacData
)
{
@ -147,7 +147,7 @@ xbox::VOID NTAPI JumpedHMAC
SHA1Final(HmacData, &ShaContext);
}
xbox::ULONG NTAPI JumpedPKEncPublic
xbox::ulong_xt NTAPI JumpedPKEncPublic
(
xbox::PUCHAR pbPubKey,
xbox::PUCHAR pbInput,
@ -161,7 +161,7 @@ xbox::ULONG NTAPI JumpedPKEncPublic
return ret;
}
xbox::ULONG NTAPI JumpedPKDecPrivate
xbox::ulong_xt NTAPI JumpedPKDecPrivate
(
xbox::PUCHAR pbPrvKey,
xbox::PUCHAR pbInput,
@ -175,7 +175,7 @@ xbox::ULONG NTAPI JumpedPKDecPrivate
return ret;
}
xbox::ULONG NTAPI JumpedPKGetKeyLen
xbox::ulong_xt NTAPI JumpedPKGetKeyLen
(
xbox::PUCHAR pbPubKey
)
@ -187,7 +187,7 @@ xbox::ULONG NTAPI JumpedPKGetKeyLen
return ret;
}
xbox::BOOLEAN NTAPI JumpedVerifyPKCS1Signature
xbox::boolean_xt NTAPI JumpedVerifyPKCS1Signature
(
xbox::PUCHAR pbSig,
xbox::PUCHAR pbPubKey,
@ -201,13 +201,13 @@ xbox::BOOLEAN NTAPI JumpedVerifyPKCS1Signature
return ret;
}
xbox::ULONG NTAPI JumpedModExp
xbox::ulong_xt NTAPI JumpedModExp
(
xbox::LPDWORD pA,
xbox::LPDWORD pB,
xbox::LPDWORD pC,
xbox::LPDWORD pD,
xbox::ULONG dwN
xbox::ulong_xt dwN
)
{
unsigned int len = dwN * 4;
@ -218,18 +218,18 @@ xbox::ULONG NTAPI JumpedModExp
return 0;
}
xbox::VOID NTAPI JumpedDESKeyParity
xbox::void_xt NTAPI JumpedDESKeyParity
(
xbox::PUCHAR pbKey,
xbox::ULONG dwKeyLength
xbox::ulong_xt dwKeyLength
)
{
mbedtls_des_key_set_parity(pbKey, dwKeyLength);
}
xbox::VOID NTAPI JumpedKeyTable
xbox::void_xt NTAPI JumpedKeyTable
(
xbox::ULONG dwCipher,
xbox::ulong_xt dwCipher,
xbox::PUCHAR pbKeyTable,
xbox::PUCHAR pbKey
)
@ -242,13 +242,13 @@ xbox::VOID NTAPI JumpedKeyTable
}
}
xbox::VOID NTAPI JumpedBlockCrypt
xbox::void_xt NTAPI JumpedBlockCrypt
(
xbox::ULONG dwCipher,
xbox::ulong_xt dwCipher,
xbox::PUCHAR pbOutput,
xbox::PUCHAR pbInput,
xbox::PUCHAR pbKeyTable,
xbox::ULONG dwOp
xbox::ulong_xt dwOp
)
{
if (dwCipher) {
@ -259,14 +259,14 @@ xbox::VOID NTAPI JumpedBlockCrypt
}
}
xbox::VOID NTAPI JumpedBlockCryptCBC
xbox::void_xt NTAPI JumpedBlockCryptCBC
(
xbox::ULONG dwCipher,
xbox::ULONG dwInputLength,
xbox::ulong_xt dwCipher,
xbox::ulong_xt dwInputLength,
xbox::PUCHAR pbOutput,
xbox::PUCHAR pbInput,
xbox::PUCHAR pbKeyTable,
xbox::ULONG dwOp,
xbox::ulong_xt dwOp,
xbox::PUCHAR pbFeedback
)
{
@ -284,9 +284,9 @@ xbox::VOID NTAPI JumpedBlockCryptCBC
}
}
xbox::ULONG NTAPI JumpedCryptService
xbox::ulong_xt NTAPI JumpedCryptService
(
xbox::ULONG dwOp,
xbox::ulong_xt dwOp,
xbox::PVOID pArgs
)
{
@ -322,7 +322,7 @@ xbox::CRYPTO_VECTOR UpdatedCryptoStruct = DefaultCryptoStruct;
// ******************************************************************
// * 0x015F - XcUpdateCrypto()
// ******************************************************************
XBSYSAPI EXPORTNUM(351) xbox::VOID NTAPI xbox::XcUpdateCrypto
XBSYSAPI EXPORTNUM(351) xbox::void_xt NTAPI xbox::XcUpdateCrypto
(
IN PCRYPTO_VECTOR pNewVector,
OUT PCRYPTO_VECTOR pROMVector OPTIONAL
@ -413,7 +413,7 @@ XBSYSAPI EXPORTNUM(351) xbox::VOID NTAPI xbox::XcUpdateCrypto
// ******************************************************************
// * 0x014F - XcSHAInit()
// ******************************************************************
XBSYSAPI EXPORTNUM(335) xbox::VOID NTAPI xbox::XcSHAInit
XBSYSAPI EXPORTNUM(335) xbox::void_xt NTAPI xbox::XcSHAInit
(
IN PUCHAR pbSHAContext
)
@ -426,11 +426,11 @@ XBSYSAPI EXPORTNUM(335) xbox::VOID NTAPI xbox::XcSHAInit
// ******************************************************************
// * 0x0150 - XcSHAUpdate()
// ******************************************************************
XBSYSAPI EXPORTNUM(336) xbox::VOID NTAPI xbox::XcSHAUpdate
XBSYSAPI EXPORTNUM(336) xbox::void_xt NTAPI xbox::XcSHAUpdate
(
PUCHAR pbSHAContext,
PUCHAR pbInput,
ULONG dwInputLength
ulong_xt dwInputLength
)
{
LOG_FUNC_BEGIN
@ -445,7 +445,7 @@ XBSYSAPI EXPORTNUM(336) xbox::VOID NTAPI xbox::XcSHAUpdate
// ******************************************************************
// * 0x0151 - XcSHAFinal()
// ******************************************************************
XBSYSAPI EXPORTNUM(337) xbox::VOID NTAPI xbox::XcSHAFinal
XBSYSAPI EXPORTNUM(337) xbox::void_xt NTAPI xbox::XcSHAFinal
(
IN PUCHAR pbSHAContext,
IN PUCHAR pbDigest
@ -462,10 +462,10 @@ XBSYSAPI EXPORTNUM(337) xbox::VOID NTAPI xbox::XcSHAFinal
// ******************************************************************
// * 0x0152 - XcRC4Key()
// ******************************************************************
XBSYSAPI EXPORTNUM(338) xbox::VOID NTAPI xbox::XcRC4Key
XBSYSAPI EXPORTNUM(338) xbox::void_xt NTAPI xbox::XcRC4Key
(
IN PUCHAR pbKeyStruct,
IN ULONG dwKeyLength,
IN ulong_xt dwKeyLength,
IN PUCHAR pbKey
)
{
@ -481,10 +481,10 @@ XBSYSAPI EXPORTNUM(338) xbox::VOID NTAPI xbox::XcRC4Key
// ******************************************************************
// * 0x0153 - XcRC4Crypt
// ******************************************************************
XBSYSAPI EXPORTNUM(339) xbox::VOID NTAPI xbox::XcRC4Crypt
XBSYSAPI EXPORTNUM(339) xbox::void_xt NTAPI xbox::XcRC4Crypt
(
IN PUCHAR pbKeyStruct,
IN ULONG dwInputLength,
IN ulong_xt dwInputLength,
IN PUCHAR pbInput
)
{
@ -500,14 +500,14 @@ XBSYSAPI EXPORTNUM(339) xbox::VOID NTAPI xbox::XcRC4Crypt
// ******************************************************************
// * 0x0154 - XcHMAC()
// ******************************************************************
XBSYSAPI EXPORTNUM(340) xbox::VOID NTAPI xbox::XcHMAC
XBSYSAPI EXPORTNUM(340) xbox::void_xt NTAPI xbox::XcHMAC
(
IN PBYTE pbKeyMaterial,
IN ULONG cbKeyMaterial,
IN ulong_xt cbKeyMaterial,
IN PBYTE pbData,
IN ULONG cbData,
IN ulong_xt cbData,
IN PBYTE pbData2,
IN ULONG cbData2,
IN ulong_xt cbData2,
OUT PBYTE HmacData
)
{
@ -527,7 +527,7 @@ XBSYSAPI EXPORTNUM(340) xbox::VOID NTAPI xbox::XcHMAC
// ******************************************************************
// * 0x0155 - XcPKEncPublic()
// ******************************************************************
XBSYSAPI EXPORTNUM(341) xbox::ULONG NTAPI xbox::XcPKEncPublic
XBSYSAPI EXPORTNUM(341) xbox::ulong_xt NTAPI xbox::XcPKEncPublic
(
IN PUCHAR pbPubKey,
IN PUCHAR pbInput,
@ -548,7 +548,7 @@ XBSYSAPI EXPORTNUM(341) xbox::ULONG NTAPI xbox::XcPKEncPublic
// ******************************************************************
// * 0x0156 - XcPKDecPrivate()
// ******************************************************************
XBSYSAPI EXPORTNUM(342) xbox::ULONG NTAPI xbox::XcPKDecPrivate
XBSYSAPI EXPORTNUM(342) xbox::ulong_xt NTAPI xbox::XcPKDecPrivate
(
IN PUCHAR pbPrvKey,
IN PUCHAR pbInput,
@ -569,7 +569,7 @@ XBSYSAPI EXPORTNUM(342) xbox::ULONG NTAPI xbox::XcPKDecPrivate
// ******************************************************************
// * 0x0157 - XcPKGetKeyLen()
// ******************************************************************
XBSYSAPI EXPORTNUM(343) xbox::ULONG NTAPI xbox::XcPKGetKeyLen
XBSYSAPI EXPORTNUM(343) xbox::ulong_xt NTAPI xbox::XcPKGetKeyLen
(
OUT PUCHAR pbPubKey
)
@ -584,7 +584,7 @@ XBSYSAPI EXPORTNUM(343) xbox::ULONG NTAPI xbox::XcPKGetKeyLen
// ******************************************************************
// * 0x0158 - XcVerifyPKCS1Signature()
// ******************************************************************
XBSYSAPI EXPORTNUM(344) xbox::BOOLEAN NTAPI xbox::XcVerifyPKCS1Signature
XBSYSAPI EXPORTNUM(344) xbox::boolean_xt NTAPI xbox::XcVerifyPKCS1Signature
(
IN PUCHAR pbSig,
IN PUCHAR pbPubKey,
@ -597,7 +597,7 @@ XBSYSAPI EXPORTNUM(344) xbox::BOOLEAN NTAPI xbox::XcVerifyPKCS1Signature
LOG_FUNC_ARG_TYPE(PBYTE, pbDigest)
LOG_FUNC_END;
BOOLEAN ret = UpdatedCryptoStruct.pXcVerifyPKCS1Signature(pbSig, pbPubKey, pbDigest);
boolean_xt ret = UpdatedCryptoStruct.pXcVerifyPKCS1Signature(pbSig, pbPubKey, pbDigest);
RETURN(ret);
}
@ -605,13 +605,13 @@ XBSYSAPI EXPORTNUM(344) xbox::BOOLEAN NTAPI xbox::XcVerifyPKCS1Signature
// ******************************************************************
// * 0x0159 - XcModExp()
// ******************************************************************
XBSYSAPI EXPORTNUM(345) xbox::ULONG NTAPI xbox::XcModExp
XBSYSAPI EXPORTNUM(345) xbox::ulong_xt NTAPI xbox::XcModExp
(
IN LPDWORD pA,
IN LPDWORD pB,
IN LPDWORD pC,
IN LPDWORD pD,
IN ULONG dwN
IN ulong_xt dwN
)
{
LOG_FUNC_BEGIN
@ -630,10 +630,10 @@ XBSYSAPI EXPORTNUM(345) xbox::ULONG NTAPI xbox::XcModExp
// ******************************************************************
// * 0x015A - XcDESKeyParity()
// ******************************************************************
XBSYSAPI EXPORTNUM(346) xbox::VOID NTAPI xbox::XcDESKeyParity
XBSYSAPI EXPORTNUM(346) xbox::void_xt NTAPI xbox::XcDESKeyParity
(
IN PUCHAR pbKey,
IN ULONG dwKeyLength
IN ulong_xt dwKeyLength
)
{
LOG_FUNC_BEGIN
@ -647,9 +647,9 @@ XBSYSAPI EXPORTNUM(346) xbox::VOID NTAPI xbox::XcDESKeyParity
// ******************************************************************
// * 0x015B - XcKeyTable()
// ******************************************************************
XBSYSAPI EXPORTNUM(347) xbox::VOID NTAPI xbox::XcKeyTable
XBSYSAPI EXPORTNUM(347) xbox::void_xt NTAPI xbox::XcKeyTable
(
IN ULONG dwCipher,
IN ulong_xt dwCipher,
OUT PUCHAR pbKeyTable,
IN PUCHAR pbKey
)
@ -666,13 +666,13 @@ XBSYSAPI EXPORTNUM(347) xbox::VOID NTAPI xbox::XcKeyTable
// ******************************************************************
// * 0x015C - XcBlockCrypt()
// ******************************************************************
XBSYSAPI EXPORTNUM(348) xbox::VOID NTAPI xbox::XcBlockCrypt
XBSYSAPI EXPORTNUM(348) xbox::void_xt NTAPI xbox::XcBlockCrypt
(
IN ULONG dwCipher,
IN ulong_xt dwCipher,
OUT PUCHAR pbOutput,
IN PUCHAR pbInput,
IN PUCHAR pbKeyTable,
IN ULONG dwOp
IN ulong_xt dwOp
)
{
LOG_FUNC_BEGIN
@ -689,14 +689,14 @@ XBSYSAPI EXPORTNUM(348) xbox::VOID NTAPI xbox::XcBlockCrypt
// ******************************************************************
// * 0x015D - XcBlockCryptCBC()
// ******************************************************************
XBSYSAPI EXPORTNUM(349) xbox::VOID NTAPI xbox::XcBlockCryptCBC
XBSYSAPI EXPORTNUM(349) xbox::void_xt NTAPI xbox::XcBlockCryptCBC
(
IN ULONG dwCipher,
IN ULONG dwInputLength,
IN ulong_xt dwCipher,
IN ulong_xt dwInputLength,
OUT PUCHAR pbOutput,
IN PUCHAR pbInput,
IN PUCHAR pbKeyTable,
IN ULONG dwOp,
IN ulong_xt dwOp,
IN PUCHAR pbFeedback
)
{
@ -716,9 +716,9 @@ XBSYSAPI EXPORTNUM(349) xbox::VOID NTAPI xbox::XcBlockCryptCBC
// ******************************************************************
// * 0x015E - XcCryptService()
// ******************************************************************
XBSYSAPI EXPORTNUM(350) xbox::ULONG NTAPI xbox::XcCryptService
XBSYSAPI EXPORTNUM(350) xbox::ulong_xt NTAPI xbox::XcCryptService
(
IN ULONG dwOp,
IN ulong_xt dwOp,
IN PVOID pArgs
)
{

View File

@ -29,7 +29,7 @@
#define LOG_PREFIX CXBXR_MODULE::XE
#include <xboxkrnl/xboxkrnl.h> // For XeImageFileName, etc.
#include <core\kernel\exports\xboxkrnl.h> // For XeImageFileName, etc.
#include "core\kernel\init\CxbxKrnl.h" // For CxbxKrnl_Xbe
#include "Logging.h" // For LOG_FUNC()
#include "EmuKrnlLogging.h"
@ -55,7 +55,7 @@ XBSYSAPI EXPORTNUM(326) xbox::OBJECT_STRING xbox::XeImageFileName =
// count is now above zero.
//
// New to the XBOX.
XBSYSAPI EXPORTNUM(327) xbox::NTSTATUS NTAPI xbox::XeLoadSection
XBSYSAPI EXPORTNUM(327) xbox::ntstatus_xt NTAPI xbox::XeLoadSection
(
IN PXBEIMAGE_SECTION Section
)
@ -64,7 +64,7 @@ XBSYSAPI EXPORTNUM(327) xbox::NTSTATUS NTAPI xbox::XeLoadSection
LOG_FUNC_ARG(Section)
LOG_FUNC_END;
NTSTATUS ret = STATUS_SUCCESS;
NTSTATUS ret = xbox::status_success;
void* sectionData = CxbxKrnl_Xbe->FindSection(Section);
if (sectionData != nullptr) {
@ -80,7 +80,7 @@ XBSYSAPI EXPORTNUM(327) xbox::NTSTATUS NTAPI xbox::XeLoadSection
size_t SectionSize = (VAddr)Section->VirtualSize;
ret = g_VMManager.XbAllocateVirtualMemory(&BaseAddress, 0, &SectionSize, XBOX_MEM_COMMIT, XBOX_PAGE_EXECUTE_READWRITE);
if (ret != STATUS_SUCCESS) {
if (ret != xbox::status_success) {
RETURN(ret);
}
@ -108,7 +108,7 @@ XBSYSAPI EXPORTNUM(327) xbox::NTSTATUS NTAPI xbox::XeLoadSection
// if the count is now zero.
//
// New to the XBOX.
XBSYSAPI EXPORTNUM(328) xbox::NTSTATUS NTAPI xbox::XeUnloadSection
XBSYSAPI EXPORTNUM(328) xbox::ntstatus_xt NTAPI xbox::XeUnloadSection
(
IN PXBEIMAGE_SECTION Section
)
@ -154,7 +154,7 @@ XBSYSAPI EXPORTNUM(328) xbox::NTSTATUS NTAPI xbox::XeUnloadSection
}
}
ret = STATUS_SUCCESS;
ret = xbox::status_success;
}
RETURN(ret);
@ -164,10 +164,10 @@ XBSYSAPI EXPORTNUM(328) xbox::NTSTATUS NTAPI xbox::XeUnloadSection
// * 0x0163 - XePublicKeyData
// ******************************************************************
// Define XePublicKeyData: This will be overwritten by the correct key for the given Xbe at runtime
XBSYSAPI EXPORTNUM(355) xbox::UCHAR xbox::XePublicKeyData[284] = { 0 };
XBSYSAPI EXPORTNUM(355) xbox::uchar_xt xbox::XePublicKeyData[284] = { 0 };
// We are allowed to use the real RSA public key since it cannot be used to sign data, only verify it -> it's not secret/private
xbox::UCHAR xbox::XePublicKeyDataRetail[284] = {
xbox::uchar_xt xbox::XePublicKeyDataRetail[284] = {
0x52,0x53,0x41,0x31, 0x08,0x01,0x00,0x00, 0x00,0x08,0x00,0x00, 0xff,0x00,0x00,0x00,
0x01,0x00,0x01,0x00,
// Public Modulus "m"
@ -192,7 +192,7 @@ xbox::UCHAR xbox::XePublicKeyDataRetail[284] = {
};
// Chihiro Game Public Key
xbox::UCHAR xbox::XePublicKeyDataChihiroGame[284] = {
xbox::uchar_xt xbox::XePublicKeyDataChihiroGame[284] = {
0x52, 0x53, 0x41, 0x31, 0x08, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x9B, 0x83, 0xD4, 0xD5,
0xDE, 0x16, 0x25, 0x8E, 0xE5, 0x15, 0xF2, 0x18, 0x9D, 0x19, 0x1C, 0xF8,
@ -220,7 +220,7 @@ xbox::UCHAR xbox::XePublicKeyDataChihiroGame[284] = {
};
// Chihiro bootloader public key (Segaboot)
xbox::UCHAR xbox::XePublicKeyDataChihiroBoot[284] = {
xbox::uchar_xt xbox::XePublicKeyDataChihiroBoot[284] = {
0x52, 0x53, 0x41, 0x31, 0x08, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x6B, 0x7B, 0x38, 0x78,
0xE3, 0x16, 0x04, 0x88, 0x1D, 0xAF, 0x63, 0x4E, 0x23, 0xDB, 0x10, 0x14,

View File

@ -26,7 +26,7 @@
// ******************************************************************
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include "Cxbx.h" // For CxbxKrnl_KernelThunkTable
#include "core\kernel\init\CxbxKrnl.h" // For UINT

View File

@ -0,0 +1,83 @@
// ******************************************************************
// *
// * This file is part of the Cxbx project.
// *
// * Cxbx and Cxbe are free software; you can redistribute them
// * and/or modify them 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 recieved a copy of the GNU General Public License
// * along with this program; see the file COPYING.
// * If not, write to the Free Software Foundation, Inc.,
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
// *
// * (c) 2020 ergo720
// *
// * All rights reserved
// *
// ******************************************************************
#pragma once
#include "core\kernel\common\types.h"
// ******************************************************************
// * Debug
// ******************************************************************
#include "core\kernel\common\dbg.h"
// ******************************************************************
// * Executive
// ******************************************************************
#include "core\kernel\common\ex.h"
// ******************************************************************
// * Hardware Abstraction Layer
// ******************************************************************
#include "core\kernel\common\hal.h"
// ******************************************************************
// * I/O Manager
// ******************************************************************
#include "core\kernel\common\io.h"
// ******************************************************************
// * Kernel
// ******************************************************************
#include "core\kernel\common\kernel.h"
// ******************************************************************
// * Memory Manager
// ******************************************************************
#include "core\kernel\common\mm.h"
// ******************************************************************
// * NT
// ******************************************************************
#include "core\kernel\common\nt.h"
// ******************************************************************
// * Object Manager
// ******************************************************************
#include "core\kernel\common\ob.h"
// ******************************************************************
// * Process Structure
// ******************************************************************
#include "core\kernel\common\ps.h"
// ******************************************************************
// * Run-time Library
// ******************************************************************
#include "core\kernel\common\rtl.h"
// ******************************************************************
// * XBox
// ******************************************************************
#include "core\kernel\common\xbox.h"

View File

@ -29,7 +29,7 @@
#define LOG_PREFIX_INIT CXBXR_MODULE::INIT
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include "gui/resource/ResCxbx.h"
#include "core\kernel\init\CxbxKrnl.h"
#include "common\xbdm\CxbxXbdm.h" // For Cxbx_LibXbdmThunkTable
@ -41,11 +41,6 @@
#include "EmuEEPROM.h" // For CxbxRestoreEEPROM, EEPROM, XboxFactoryGameRegion
#include "core\kernel\exports\EmuKrnl.h"
#include "core\kernel\exports\EmuKrnlKi.h"
#ifndef VOID
#define VOID void
#endif
#include "EmuShared.h"
#include "core\hle\D3D8\Direct3D9\Direct3D9.h" // For CxbxInitWindow, EmuD3DInit
#include "core\hle\DSOUND\DirectSound\DirectSound.hpp" // For CxbxInitAudio
@ -435,11 +430,11 @@ static void CxbxKrnlClockThread(void* pVoid)
xbox::KiClockIsr(IncrementScaling);
}
std::vector<xbox::addr> g_RdtscPatches;
std::vector<xbox::addr_xt> g_RdtscPatches;
#define OPCODE_PATCH_RDTSC 0x90EF // OUT DX, EAX; NOP
bool IsRdtscInstruction(xbox::addr addr)
bool IsRdtscInstruction(xbox::addr_xt addr)
{
// First the fastest check - does addr contain exact patch from PatchRdtsc?
// Second check - is addr on the rdtsc patch list?
@ -450,7 +445,7 @@ bool IsRdtscInstruction(xbox::addr addr)
&& (std::find(g_RdtscPatches.begin(), g_RdtscPatches.end(), addr) != g_RdtscPatches.end());
}
void PatchRdtsc(xbox::addr addr)
void PatchRdtsc(xbox::addr_xt addr)
{
// Patch away rdtsc with an opcode we can intercept
// We use a privilaged instruction rather than int 3 for debugging
@ -519,10 +514,10 @@ void PatchRdtscInstructions()
}
EmuLogInit(LOG_LEVEL::INFO, "Searching for rdtsc in section %s", CxbxKrnl_Xbe->m_szSectionName[sectionIndex]);
xbox::addr startAddr = CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwVirtualAddr;
xbox::addr_xt startAddr = CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwVirtualAddr;
//rdtsc is two bytes instruction, it needs at least one opcode byte after it to finish a function, so the endAddr need to substract 3 bytes.
xbox::addr endAddr = startAddr + CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwSizeofRaw-3;
for (xbox::addr addr = startAddr; addr <= endAddr; addr++)
xbox::addr_xt endAddr = startAddr + CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwSizeofRaw-3;
for (xbox::addr_xt addr = startAddr; addr <= endAddr; addr++)
{
if (memcmp((void*)addr, rdtsc, 2) == 0)
{
@ -598,8 +593,8 @@ void MapThunkTable(uint32_t* kt, uint32_t* pThunkTable)
}
typedef struct {
xbox::addr ThunkAddr;
xbox::addr LibNameAddr;
xbox::addr_xt ThunkAddr;
xbox::addr_xt LibNameAddr;
} XbeImportEntry;
void ImportLibraries(XbeImportEntry *pImportDirectory)
@ -1138,9 +1133,9 @@ void CxbxKrnlEmulate(unsigned int reserved_systems, blocks_reserved_t blocks_res
}
EmuLogInit(LOG_LEVEL::INFO, "Searching for XBEH in section %s", CxbxKrnl_Xbe->m_szSectionName[sectionIndex]);
xbox::addr startAddr = CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwVirtualAddr;
xbox::addr endAddr = startAddr + CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwSizeofRaw;
for (xbox::addr addr = startAddr; addr < endAddr; addr++) {
xbox::addr_xt startAddr = CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwVirtualAddr;
xbox::addr_xt endAddr = startAddr + CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwSizeofRaw;
for (xbox::addr_xt addr = startAddr; addr < endAddr; addr++) {
if (*(uint32_t*)addr == 0x48454258) {
EmuLogInit(LOG_LEVEL::INFO, "Patching XBEH at 0x%08X", addr);
*((uint32_t*)addr) = *(uint32_t*)XBE_IMAGE_BASE;
@ -1157,7 +1152,7 @@ void CxbxKrnlEmulate(unsigned int reserved_systems, blocks_reserved_t blocks_res
Xbe::TLS* XbeTls = (Xbe::TLS*)CxbxKrnl_Xbe->m_Header.dwTLSAddr;
void* XbeTlsData = (XbeTls != nullptr) ? (void*)CxbxKrnl_Xbe->m_TLS->dwDataStartAddr : nullptr;
// Decode Entry Point
xbox::addr EntryPoint = CxbxKrnl_Xbe->m_Header.dwEntryAddr;
xbox::addr_xt EntryPoint = CxbxKrnl_Xbe->m_Header.dwEntryAddr;
EntryPoint ^= XOR_EP_KEY[to_underlying(CxbxKrnl_Xbe->GetXbeType())];
// Launch XBE
CxbxKrnlInit(
@ -1488,7 +1483,7 @@ __declspec(noreturn) void CxbxKrnlInit
InitXboxHardware(HardwareModel::Revision1_5); // TODO : Make configurable
// Read Xbox video mode from the SMC, store it in HalBootSMCVideoMode
xbox::HalReadSMBusValue(SMBUS_ADDRESS_SYSTEM_MICRO_CONTROLLER, SMC_COMMAND_AV_PACK, FALSE, &xbox::HalBootSMCVideoMode);
xbox::HalReadSMBusValue(SMBUS_ADDRESS_SYSTEM_MICRO_CONTROLLER, SMC_COMMAND_AV_PACK, FALSE, (xbox::PULONG)&xbox::HalBootSMCVideoMode);
g_InputDeviceManager.Initialize(false);
@ -1792,13 +1787,13 @@ void CxbxKrnlShutDown()
void CxbxKrnlPrintUEM(ULONG ErrorCode)
{
ULONG Type;
xbox::dword_xt Type;
xbox::XBOX_EEPROM Eeprom;
ULONG ResultSize;
xbox::NTSTATUS status = xbox::ExQueryNonVolatileSetting(xbox::XC_MAX_ALL, &Type, &Eeprom, sizeof(Eeprom), &ResultSize);
xbox::ntstatus_xt status = xbox::ExQueryNonVolatileSetting(xbox::XC_MAX_ALL, &Type, &Eeprom, sizeof(Eeprom), (xbox::PSIZE_T)&ResultSize);
if (status == STATUS_SUCCESS)
if (status == xbox::status_success)
{
xbox::XBOX_UEM_INFO* UEMInfo = (xbox::XBOX_UEM_INFO*)&(Eeprom.UEMInfo[0]);

View File

@ -31,7 +31,6 @@
#include "common\xbe\Xbe.h"
#include "Logging.h"
#undef FIELD_OFFSET // prevent macro redefinition warnings
#include <windows.h>
#include <multimon.h>

View File

@ -29,7 +29,7 @@
#define PHYSICAL_MEMORY_H
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include "core\kernel\support\Emu.h"
#include "core\kernel\init\CxbxKrnl.h"
#include <windows.h>

View File

@ -128,7 +128,7 @@ VAddr PoolManager::AllocatePool(size_t Size, uint32_t Tag)
Entry -= 1;
LookasideList->AllocateHits += 1;
Entry->PoolType = static_cast<UCHAR>(1);
Entry->PoolType = static_cast<xbox::uchar_xt>(1);
MARK_POOL_HEADER_ALLOCATED(Entry);
Entry->PoolTag = Tag;
@ -158,8 +158,8 @@ VAddr PoolManager::AllocatePool(size_t Size, uint32_t Tag)
if (Entry->BlockSize != NeededSize) {
if (Entry->PreviousSize == 0) {
SplitEntry = reinterpret_cast<PPOOL_HEADER>((reinterpret_cast<PPOOL_BLOCK>(Entry) + NeededSize));
SplitEntry->BlockSize = Entry->BlockSize - static_cast<UCHAR>(NeededSize);
SplitEntry->PreviousSize = static_cast<UCHAR>(NeededSize);
SplitEntry->BlockSize = Entry->BlockSize - static_cast<xbox::uchar_xt>(NeededSize);
SplitEntry->PreviousSize = static_cast<xbox::uchar_xt>(NeededSize);
NextEntry = reinterpret_cast<PPOOL_HEADER>((reinterpret_cast<PPOOL_BLOCK>(SplitEntry) + SplitEntry->BlockSize));
if (PAGE_END(NextEntry) == false) {
@ -168,16 +168,16 @@ VAddr PoolManager::AllocatePool(size_t Size, uint32_t Tag)
}
else {
SplitEntry = Entry;
Entry->BlockSize -= static_cast<UCHAR>(NeededSize);
Entry->BlockSize -= static_cast<xbox::uchar_xt>(NeededSize);
Entry = reinterpret_cast<PPOOL_HEADER>(reinterpret_cast<PPOOL_BLOCK>(Entry) + Entry->BlockSize);
Entry->PreviousSize = SplitEntry->BlockSize;
NextEntry = reinterpret_cast<PPOOL_HEADER>(reinterpret_cast<PPOOL_BLOCK>(Entry) + NeededSize);
if (PAGE_END(NextEntry) == false) {
NextEntry->PreviousSize = static_cast<UCHAR>(NeededSize);
NextEntry->PreviousSize = static_cast<xbox::uchar_xt>(NeededSize);
}
}
Entry->BlockSize = static_cast<UCHAR>(NeededSize);
Entry->BlockSize = static_cast<xbox::uchar_xt>(NeededSize);
SplitEntry->PoolType = 0;
Index = SplitEntry->BlockSize;
@ -185,7 +185,7 @@ VAddr PoolManager::AllocatePool(size_t Size, uint32_t Tag)
+ POOL_OVERHEAD))));
}
Entry->PoolType = static_cast<UCHAR>(1);
Entry->PoolType = static_cast<xbox::uchar_xt>(1);
MARK_POOL_HEADER_ALLOCATED(Entry);
@ -217,7 +217,7 @@ VAddr PoolManager::AllocatePool(size_t Size, uint32_t Tag)
Entry->BlockSize = 255;
}
else {
Entry->BlockSize = static_cast<UCHAR>((PAGE_SIZE / POOL_SMALLEST_BLOCK));
Entry->BlockSize = static_cast<xbox::uchar_xt>((PAGE_SIZE / POOL_SMALLEST_BLOCK));
}
Entry->PreviousSize = 0;

View File

@ -38,43 +38,43 @@
typedef struct _POOL_DESCRIPTOR {
ULONG RunningAllocs;
ULONG RunningDeAllocs;
ULONG TotalPages;
ULONG TotalBigPages;
xbox::ulong_xt RunningAllocs;
xbox::ulong_xt RunningDeAllocs;
xbox::ulong_xt TotalPages;
xbox::ulong_xt TotalBigPages;
xbox::LIST_ENTRY ListHeads[POOL_LIST_HEADS];
} POOL_DESCRIPTOR, *PPOOL_DESCRIPTOR;
typedef struct _POOL_LOOKASIDE_LIST {
xbox::SLIST_HEADER ListHead;
USHORT Depth;
USHORT Padding;
ULONG TotalAllocates;
ULONG AllocateHits;
xbox::ushort_xt Depth;
xbox::ushort_xt Padding;
xbox::ulong_xt TotalAllocates;
xbox::ulong_xt AllocateHits;
} POOL_LOOKASIDE_LIST, *PPOOL_LOOKASIDE_LIST;
typedef struct _POOL_HEADER {
union {
struct {
UCHAR PreviousSize;
UCHAR PoolIndex;
UCHAR PoolType;
UCHAR BlockSize;
xbox::uchar_xt PreviousSize;
xbox::uchar_xt PoolIndex;
xbox::uchar_xt PoolType;
xbox::uchar_xt BlockSize;
};
ULONG Ulong1;
xbox::ulong_xt Ulong1;
};
ULONG PoolTag;
xbox::ulong_xt PoolTag;
} POOL_HEADER, *PPOOL_HEADER;
typedef struct _POOL_BLOCK {
UCHAR Fill[1 << POOL_BLOCK_SHIFT];
xbox::uchar_xt Fill[1 << POOL_BLOCK_SHIFT];
} POOL_BLOCK, *PPOOL_BLOCK;
#define POOL_OVERHEAD (static_cast<LONG>(sizeof(POOL_HEADER)))
#define POOL_OVERHEAD (static_cast<xbox::long_xt>(sizeof(POOL_HEADER)))
#define POOL_SMALLEST_BLOCK (sizeof(POOL_BLOCK))
#define POOL_BUDDY_MAX (PAGE_SIZE - (POOL_OVERHEAD + POOL_SMALLEST_BLOCK ))
#define MARK_POOL_HEADER_ALLOCATED(POOLHEADER) {(POOLHEADER)->PoolIndex = 0x80;}

View File

@ -1372,7 +1372,7 @@ void VMManager::LockBufferOrSinglePage(PAddr paddr, VAddr addr, size_t Size, boo
Unlock();
}
xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, size_t* Size, DWORD AllocationType, DWORD Protect)
xbox::ntstatus_xt VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, size_t* Size, DWORD AllocationType, DWORD Protect)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(*addr)
@ -1389,7 +1389,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
PFN_COUNT PteNumber = 0;
PFN TempPfn;
PageType BusyType;
xbox::NTSTATUS status;
xbox::ntstatus_xt status;
VAddr CapturedBase = *addr;
size_t CapturedSize = *Size;
VAddr MaxAllowedAddress;
@ -1422,7 +1422,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
// At least MEM_RESET, MEM_COMMIT or MEM_RESERVE must be set
if ((AllocationType & (XBOX_MEM_COMMIT | XBOX_MEM_RESERVE | XBOX_MEM_RESET)) == 0) { RETURN(STATUS_INVALID_PARAMETER); }
if (!ConvertXboxToPtePermissions(Protect, &TempPte)) { RETURN(STATUS_INVALID_PAGE_PROTECTION); }
if (!ConvertXboxToPtePermissions(Protect, &TempPte)) { RETURN(xbox::status_invalid_page_protection); }
EmuLog(LOG_LEVEL::DEBUG, "%s requested range : 0x%.8X - 0x%.8X", __func__, CapturedBase, CapturedBase + CapturedSize);
@ -1452,7 +1452,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
AlignedCapturedBase = MapMemoryBlock(UserRegion, AlignedCapturedSize >> PAGE_SHIFT, MEM_RESERVE, false, MaxAllowedAddress);
if (!AlignedCapturedBase) { status = STATUS_NO_MEMORY; goto Exit; }
if (!AlignedCapturedBase) { status = xbox::status_no_memory; goto Exit; }
}
else
{
@ -1464,7 +1464,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
{
// Reserved vma or we are overflowing a free vma, report an error
status = STATUS_CONFLICTING_ADDRESSES;
status = xbox::status_conflicting_addresses;
goto Exit;
}
@ -1486,7 +1486,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
{
// An host allocation is already mapped there, report an error
status = STATUS_CONFLICTING_ADDRESSES;
status = xbox::status_conflicting_addresses;
goto Exit;
}
}
@ -1504,7 +1504,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
*addr = AlignedCapturedBase;
*Size = AlignedCapturedSize;
status = STATUS_SUCCESS;
status = xbox::status_success;
goto Exit;
}
bDestructVmaOnFailure = true;
@ -1525,7 +1525,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
{
// The specified region is not completely inside a reserved vma or it's free
status = STATUS_CONFLICTING_ADDRESSES;
status = xbox::status_conflicting_addresses;
goto Exit;
}
@ -1537,7 +1537,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
*Size = AlignedCapturedSize;
Unlock();
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
}
// Figure out the number of physical pages we need to allocate. Note that NtAllocateVirtualMemory can do overlapped allocations so we
@ -1557,7 +1557,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
if (!IsMappable(PteNumber, true, m_MmLayoutDebug && m_bAllowNonDebuggerOnTop64MiB ? true : false))
{
status = STATUS_NO_MEMORY;
status = xbox::status_no_memory;
goto Exit;
}
@ -1570,7 +1570,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
(ConvertXboxToWinPermissions(PatchXboxPermissions(Protect))) & ~(PAGE_WRITECOMBINE | PAGE_NOCACHE)))
{
EmuLog(LOG_LEVEL::DEBUG, "%s: VirtualAlloc failed to commit the memory! The error was 0x%08X", __func__, GetLastError());
status = STATUS_NO_MEMORY;
status = xbox::status_no_memory;
goto Exit;
}
}
@ -1579,7 +1579,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
if (!AllocatePT(AlignedCapturedSize, AlignedCapturedBase))
{
status = STATUS_NO_MEMORY;
status = xbox::status_no_memory;
goto Exit;
}
@ -1619,7 +1619,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
*addr = AlignedCapturedBase;
*Size = AlignedCapturedSize;
Unlock();
RETURN(STATUS_SUCCESS);
RETURN(xbox::status_success);
Exit:
if (bDestructVmaOnFailure)
@ -1631,7 +1631,7 @@ xbox::NTSTATUS VMManager::XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, s
RETURN(status);
}
xbox::NTSTATUS VMManager::XbFreeVirtualMemory(VAddr* addr, size_t* Size, DWORD FreeType)
xbox::ntstatus_xt VMManager::XbFreeVirtualMemory(VAddr* addr, size_t* Size, DWORD FreeType)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(*addr)
@ -1643,7 +1643,7 @@ xbox::NTSTATUS VMManager::XbFreeVirtualMemory(VAddr* addr, size_t* Size, DWORD F
size_t CapturedSize = *Size;
VAddr AlignedCapturedBase;
size_t AlignedCapturedSize;
xbox::NTSTATUS status;
xbox::ntstatus_xt status;
PMMPTE PointerPte;
PMMPTE EndingPte;
PMMPTE StartingPte;
@ -1679,7 +1679,7 @@ xbox::NTSTATUS VMManager::XbFreeVirtualMemory(VAddr* addr, size_t* Size, DWORD F
{
// Free vma, report an error
status = STATUS_MEMORY_NOT_ALLOCATED;
status = xbox::status_memory_not_allocated;
goto Exit;
}
@ -1687,7 +1687,7 @@ xbox::NTSTATUS VMManager::XbFreeVirtualMemory(VAddr* addr, size_t* Size, DWORD F
{
// The provided ending adddress is beyond the end of the vma, report an error
status = STATUS_UNABLE_TO_FREE_VM;
status = xbox::status_unable_to_free_vm;
goto Exit;
}
@ -1701,7 +1701,7 @@ xbox::NTSTATUS VMManager::XbFreeVirtualMemory(VAddr* addr, size_t* Size, DWORD F
{
// The provided base address is not the starting address of the vma, report an error
status = STATUS_FREE_VM_NOT_AT_BASE;
status = xbox::status_free_vm_not_at_base;
goto Exit;
}
@ -1782,14 +1782,14 @@ xbox::NTSTATUS VMManager::XbFreeVirtualMemory(VAddr* addr, size_t* Size, DWORD F
*addr = AlignedCapturedBase;
*Size = AlignedCapturedSize;
status = STATUS_SUCCESS;
status = xbox::status_success;
Exit:
Unlock();
RETURN(status);
}
xbox::NTSTATUS VMManager::XbVirtualProtect(VAddr* addr, size_t* Size, DWORD* Protect)
xbox::ntstatus_xt VMManager::XbVirtualProtect(VAddr* addr, size_t* Size, DWORD* Protect)
{
LOG_FUNC_BEGIN
LOG_FUNC_ARG(*addr)
@ -1802,7 +1802,7 @@ xbox::NTSTATUS VMManager::XbVirtualProtect(VAddr* addr, size_t* Size, DWORD* Pro
size_t CapturedSize = *Size;
VAddr AlignedCapturedBase;
size_t AlignedCapturedSize;
xbox::NTSTATUS status;
xbox::ntstatus_xt status;
PMMPTE PointerPte;
PMMPTE EndingPte;
PMMPTE StartingPte;
@ -1823,7 +1823,7 @@ xbox::NTSTATUS VMManager::XbVirtualProtect(VAddr* addr, size_t* Size, DWORD* Pro
// Size cannot be zero
if (CapturedSize == 0) { RETURN(STATUS_INVALID_PARAMETER); }
if (!ConvertXboxToPtePermissions(NewPerms, &NewPermsPte)) { RETURN(STATUS_INVALID_PAGE_PROTECTION); }
if (!ConvertXboxToPtePermissions(NewPerms, &NewPermsPte)) { RETURN(xbox::status_invalid_page_protection); }
AlignedCapturedBase = ROUND_DOWN_4K(CapturedBase);
AlignedCapturedSize = (PAGES_SPANNED(CapturedBase, CapturedSize)) << PAGE_SHIFT;
@ -1836,7 +1836,7 @@ xbox::NTSTATUS VMManager::XbVirtualProtect(VAddr* addr, size_t* Size, DWORD* Pro
{
// Free vma or the requested ending address is beyond the vma, report an error
status = STATUS_CONFLICTING_ADDRESSES;
status = xbox::status_conflicting_addresses;
goto Exit;
}
@ -1856,7 +1856,7 @@ xbox::NTSTATUS VMManager::XbVirtualProtect(VAddr* addr, size_t* Size, DWORD* Pro
{
// Pde is not committed, report an error
status = STATUS_NOT_COMMITTED;
status = xbox::status_not_committed;
goto Exit;
}
}
@ -1865,7 +1865,7 @@ xbox::NTSTATUS VMManager::XbVirtualProtect(VAddr* addr, size_t* Size, DWORD* Pro
{
// Pte is not committed, report an error
status = STATUS_NOT_COMMITTED;
status = xbox::status_not_committed;
goto Exit;
}
@ -1900,14 +1900,14 @@ xbox::NTSTATUS VMManager::XbVirtualProtect(VAddr* addr, size_t* Size, DWORD* Pro
*addr = AlignedCapturedBase;
*Size = AlignedCapturedSize;
*Protect = ConvertPteToXboxPermissions(OldPermsPte.Default);
status = STATUS_SUCCESS;
status = xbox::status_success;
Exit:
Unlock();
RETURN(status);
}
xbox::NTSTATUS VMManager::XbVirtualMemoryStatistics(VAddr addr, xbox::PMEMORY_BASIC_INFORMATION memory_statistics)
xbox::ntstatus_xt VMManager::XbVirtualMemoryStatistics(VAddr addr, xbox::PMEMORY_BASIC_INFORMATION memory_statistics)
{
VMAIter it;
PMMPTE PointerPte;
@ -1946,7 +1946,7 @@ xbox::NTSTATUS VMManager::XbVirtualMemoryStatistics(VAddr addr, xbox::PMEMORY_BA
memory_statistics->RegionSize = info.RegionSize;
memory_statistics->State = info.State;
memory_statistics->Type = info.Type;
return STATUS_SUCCESS;
return xbox::status_success;
}
else {
return STATUS_INVALID_PARAMETER;
@ -1975,7 +1975,7 @@ xbox::NTSTATUS VMManager::XbVirtualMemoryStatistics(VAddr addr, xbox::PMEMORY_BA
memory_statistics->Type = 0;
Unlock();
return STATUS_SUCCESS;
return xbox::status_success;
}
// The vma is in the reserved or allocated state
@ -2044,7 +2044,7 @@ xbox::NTSTATUS VMManager::XbVirtualMemoryStatistics(VAddr addr, xbox::PMEMORY_BA
memory_statistics->Type = XBOX_MEM_PRIVATE;
Unlock();
return STATUS_SUCCESS;
return xbox::status_success;
}
VAddr VMManager::MapMemoryBlock(MemoryRegionType Type, PFN_COUNT PteNumber, DWORD Permissions, bool b64Blocks, VAddr HighestAddress)

View File

@ -141,13 +141,13 @@ class VMManager : public PhysicalMemory
// retrieves the number of free debugger pages
PFN_COUNT QueryNumberOfFreeDebuggerPages();
// xbox implementation of NtAllocateVirtualMemory
xbox::NTSTATUS XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, size_t* Size, DWORD AllocationType, DWORD Protect);
xbox::ntstatus_xt XbAllocateVirtualMemory(VAddr* addr, ULONG ZeroBits, size_t* Size, DWORD AllocationType, DWORD Protect);
// xbox implementation of NtFreeVirtualMemory
xbox::NTSTATUS XbFreeVirtualMemory(VAddr* addr, size_t* Size, DWORD FreeType);
xbox::ntstatus_xt XbFreeVirtualMemory(VAddr* addr, size_t* Size, DWORD FreeType);
// xbox implementation of NtProtectVirtualMemory
xbox::NTSTATUS XbVirtualProtect(VAddr* addr, size_t* Size, DWORD* Protect);
xbox::ntstatus_xt XbVirtualProtect(VAddr* addr, size_t* Size, DWORD* Protect);
// xbox implementation of NtQueryVirtualMemory
xbox::NTSTATUS XbVirtualMemoryStatistics(VAddr addr, xbox::PMEMORY_BASIC_INFORMATION memory_statistics);
xbox::ntstatus_xt XbVirtualMemoryStatistics(VAddr addr, xbox::PMEMORY_BASIC_INFORMATION memory_statistics);
// get persistent memory from previous process until RestorePersistentMemory is called
void GetPersistentMemory();
// saves all persisted memory just before a quick reboot

View File

@ -28,7 +28,7 @@
#define LOG_PREFIX CXBXR_MODULE::X86
#include <xboxkrnl\xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include "core\kernel\init\CxbxKrnl.h"
#include "Emu.h"
#include "devices\x86\EmuX86.h"
@ -88,7 +88,7 @@ std::string FormatTitleId(uint32_t title_id)
return ss.str();
}
std::string EIPToString(xbox::addr EIP)
std::string EIPToString(xbox::addr_xt EIP)
{
char buffer[256];
@ -207,7 +207,7 @@ void EmuExceptionNonBreakpointUnhandledShow(LPEXCEPTION_POINTERS e)
}
// Returns weither the given address is part of an Xbox managed memory region
bool IsXboxCodeAddress(xbox::addr addr)
bool IsXboxCodeAddress(xbox::addr_xt addr)
{
// TODO : Replace the following with a (fast) check weither
// the given address lies in xbox allocated virtual memory,
@ -241,7 +241,7 @@ void genericException(EXCEPTION_POINTERS *e) {
}
}
bool IsRdtscInstruction(xbox::addr addr); // Implemented in CxbxKrnl.cpp
bool IsRdtscInstruction(xbox::addr_xt addr); // Implemented in CxbxKrnl.cpp
void EmuX86_Opcode_RDTSC(EXCEPTION_POINTERS *e); // Implemented in EmuX86.cpp
bool lleTryHandleException(EXCEPTION_POINTERS *e)
{
@ -497,7 +497,7 @@ void EmuPrintStackTrace(PCONTEXT ContextRecord)
// Try getting a symbol name from the HLE cache :
int symbolOffset = 0;
symbolName = GetDetectedSymbolName((xbox::addr)frame.AddrPC.Offset, &symbolOffset);
symbolName = GetDetectedSymbolName((xbox::addr_xt)frame.AddrPC.Offset, &symbolOffset);
if (symbolOffset < 1000)
dwDisplacement = (DWORD64)symbolOffset;
else

View File

@ -28,7 +28,6 @@
#include "common\xbe\Xbe.h"
#include "Logging.h"
#undef FIELD_OFFSET // prevent macro redefinition warnings
#include <windows.h>
#include <multimon.h>

View File

@ -28,7 +28,7 @@
#define LOG_PREFIX CXBXR_MODULE::FS
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include "core\kernel\exports\EmuKrnl.h" // For InitializeListHead(), etc.
#include "core\kernel\exports\EmuKrnlKe.h"
#include "core\kernel\support\EmuFS.h" // For fs_instruction_t
@ -36,7 +36,6 @@
#include "core\kernel\memory-manager\VMManager.h"
#include "Logging.h"
#undef FIELD_OFFSET // prevent macro redefinition warnings
#include <windows.h>
#include <cstdio>
#include <vector>
@ -476,9 +475,9 @@ void EmuInitFS()
}
EmuLogEx(CXBXR_MODULE::INIT, LOG_LEVEL::DEBUG, "Searching for FS Instruction in section %s\n", CxbxKrnl_Xbe->m_szSectionName[sectionIndex]);
xbox::addr startAddr = CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwVirtualAddr;
xbox::addr endAddr = startAddr + CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwSizeofRaw;
for (xbox::addr addr = startAddr; addr < endAddr; addr++)
xbox::addr_xt startAddr = CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwVirtualAddr;
xbox::addr_xt endAddr = startAddr + CxbxKrnl_Xbe->m_SectionHeader[sectionIndex].dwSizeofRaw;
for (xbox::addr_xt addr = startAddr; addr < endAddr; addr++)
{
for (int i = 0; i < numberOfInstructions; i++)
{
@ -554,7 +553,7 @@ void EmuGenerateFS(Xbe::TLS *pTLS, void *pTLSData)
uint8_t *bByte = (uint8_t*)pNewTLS + v;
if (v % 0x10 == 0) {
EmuLog(LOG_LEVEL::DEBUG, "0x%.8X:", (xbox::addr)bByte);
EmuLog(LOG_LEVEL::DEBUG, "0x%.8X:", (xbox::addr_xt)bByte);
}
// Note : Use printf instead of EmuLog here, which prefixes with GetCurrentThreadId() :
@ -570,7 +569,7 @@ void EmuGenerateFS(Xbe::TLS *pTLS, void *pTLSData)
// prepare TLS
{
if (pTLS->dwTLSIndexAddr != 0) {
*(xbox::addr*)pTLS->dwTLSIndexAddr = xbox::zero;
*(xbox::addr_xt*)pTLS->dwTLSIndexAddr = xbox::zero;
}
// dword @ pTLSData := pTLSData
@ -634,13 +633,13 @@ void EmuGenerateFS(Xbe::TLS *pTLS, void *pTLSData)
Prcb->CurrentThread = (xbox::KTHREAD*)EThread;
// Initialize the thread header and its wait list
Prcb->CurrentThread->Header.Type = xbox::ThreadObject;
Prcb->CurrentThread->Header.Size = sizeof(xbox::KTHREAD) / sizeof(xbox::LONG);
Prcb->CurrentThread->Header.Size = sizeof(xbox::KTHREAD) / sizeof(xbox::long_xt);
InitializeListHead(&Prcb->CurrentThread->Header.WaitListHead);
// Also initialize the timer associated with the thread
xbox::KeInitializeTimer(&Prcb->CurrentThread->Timer);
xbox::PKWAIT_BLOCK WaitBlock = &Prcb->CurrentThread->TimerWaitBlock;
WaitBlock->Object = &Prcb->CurrentThread->Timer;
WaitBlock->WaitKey = (xbox::CSHORT)STATUS_TIMEOUT;
WaitBlock->WaitKey = (xbox::cshort_xt)STATUS_TIMEOUT;
WaitBlock->WaitType = xbox::WaitAny;
WaitBlock->Thread = Prcb->CurrentThread;
WaitBlock->WaitListEntry.Flink = &Prcb->CurrentThread->Timer.Header.WaitListHead;

View File

@ -27,7 +27,6 @@
#include <vector>
#include "common\xbe\Xbe.h"
#undef FIELD_OFFSET // prevent macro redefinition warnings
#include <windows.h>
// initialize fs segment selector emulation

View File

@ -256,7 +256,7 @@ NTSTATUS EmuHandle::NtClose()
NTSTATUS EmuHandle::NtDuplicateObject(PHANDLE TargetHandle, DWORD Options)
{
*TargetHandle = NtObject->NtDuplicateObject(Options)->NewHandle();
return STATUS_SUCCESS;
return xbox::status_success;
}
EmuNtObject::EmuNtObject()
@ -276,7 +276,7 @@ NTSTATUS EmuNtObject::NtClose()
delete this;
}
return STATUS_SUCCESS;
return xbox::status_success;
}
EmuNtObject* EmuNtObject::NtDuplicateObject(DWORD Options)
@ -477,7 +477,7 @@ NTSTATUS CxbxConvertFilePath(
// Convert the relative path to unicode
RelativeHostPath = string_to_wstring(RelativePath);
return STATUS_SUCCESS;
return xbox::status_success;
}
NTSTATUS CxbxObjectAttributesToNT(
@ -490,7 +490,7 @@ NTSTATUS CxbxObjectAttributesToNT(
{
// When the pointer is nil, make sure we pass nil to Windows too :
nativeObjectAttributes.NtObjAttrPtr = nullptr;
return STATUS_SUCCESS;
return xbox::status_success;
}
// Pick up the ObjectName, and let's see what to make of it :
@ -522,7 +522,7 @@ NTSTATUS CxbxObjectAttributesToNT(
// ObjectAttributes are given, so make sure the pointer we're going to pass to Windows is assigned :
nativeObjectAttributes.NtObjAttrPtr = &nativeObjectAttributes.NtObjAttr;
return STATUS_SUCCESS;
return xbox::status_success;
}
int CxbxDeviceIndexByDevicePath(const char *XboxDevicePath)
@ -559,7 +559,7 @@ int CxbxRegisterDeviceHostPath(std::string XboxDevicePath, std::string HostDevic
CxbxCreatePartitionHeaderFile(partitionHeaderPath, XboxDevicePath == DeviceHarddisk0Partition0);
}
status = STATUS_SUCCESS;
status = xbox::status_success;
}
// If this path is not a raw file partition, create the directory for it
@ -567,7 +567,7 @@ int CxbxRegisterDeviceHostPath(std::string XboxDevicePath, std::string HostDevic
status = SHCreateDirectoryEx(NULL, HostDevicePath.c_str(), NULL);
}
if (status == STATUS_SUCCESS || status == ERROR_ALREADY_EXISTS) {
if (status == xbox::status_success || status == ERROR_ALREADY_EXISTS) {
Devices.push_back(newDevice);
result = Devices.size() - 1;
}
@ -589,7 +589,7 @@ NTSTATUS CxbxCreateSymbolicLink(std::string SymbolicLinkName, std::string FullPa
SymbolicLinkObject = new EmuNtSymbolicLinkObject();
result = SymbolicLinkObject->Init(SymbolicLinkName, FullPath);
if (result != STATUS_SUCCESS)
if (result != xbox::status_success)
SymbolicLinkObject->NtClose();
return result;
@ -612,7 +612,7 @@ NTSTATUS EmuNtSymbolicLinkObject::Init(std::string aSymbolicLinkName, std::strin
DriveLetter = SymbolicLinkToDriveLetter(aSymbolicLinkName);
if (DriveLetter >= 'A' && DriveLetter <= 'Z')
{
result = STATUS_OBJECT_NAME_COLLISION;
result = xbox::status_object_name_collision;
if (FindNtSymbolicLinkObjectByDriveLetter(DriveLetter) == NULL)
{
// Look up the partition in the list of pre-registered devices :
@ -635,7 +635,7 @@ NTSTATUS EmuNtSymbolicLinkObject::Init(std::string aSymbolicLinkName, std::strin
if (DeviceIndex >= 0)
{
result = STATUS_SUCCESS;
result = xbox::status_success;
SymbolicLinkName = aSymbolicLinkName;
if (IsHostBasedPath)
{
@ -813,8 +813,8 @@ NTSTATUS _ConvertXboxNameInfo(NtDll::FILE_NAME_INFORMATION *ntNameInfo, xbox::FI
// Return the appropriate result depending on whether the string was fully copied
return convertedChars == ntNameInfo->FileNameLength / sizeof(NtDll::WCHAR)
? STATUS_SUCCESS
: STATUS_BUFFER_OVERFLOW;
? xbox::status_success
: xbox::status_buffer_overflow;
}
// ----------------------------------------------------------------------------
@ -829,7 +829,7 @@ NTSTATUS _NTToXboxNetOpenInfo(NtDll::FILE_NETWORK_OPEN_INFORMATION *ntNetOpenInf
// Fix up attributes
xboxNetOpenInfo->FileAttributes &= FILE_ATTRIBUTE_VALID_FLAGS;
return STATUS_SUCCESS;
return xbox::status_success;
}
NTSTATUS _NTToXboxBasicInfo(NtDll::FILE_BASIC_INFORMATION *ntBasicInfo, xbox::FILE_BASIC_INFORMATION *xboxBasicInfo, ULONG Length)
@ -839,7 +839,7 @@ NTSTATUS _NTToXboxBasicInfo(NtDll::FILE_BASIC_INFORMATION *ntBasicInfo, xbox::FI
_ConvertXboxBasicInfo(xboxBasicInfo);
return STATUS_SUCCESS;
return xbox::status_success;
}
NTSTATUS _NTToXboxNameInfo(NtDll::FILE_NAME_INFORMATION *ntNameInfo, xbox::FILE_NAME_INFORMATION *xboxNameInfo, ULONG Length)
@ -931,7 +931,7 @@ NTSTATUS NTToXboxFileInformation
// FileStandardInformation
// FileReparsePointInformation
NTSTATUS result = STATUS_SUCCESS;
NTSTATUS result = xbox::status_success;
switch (FileInformationClass)
{
@ -1015,7 +1015,7 @@ NTSTATUS NTToXboxFileInformation
{
// No differences between structs; a simple copy should suffice
memcpy_s(xboxFileInformation, Length, nativeFileInformation, Length);
result = STATUS_SUCCESS;
result = xbox::status_success;
break;
}
}
@ -1213,7 +1213,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_ADDRESS_CLOSED);
_CASE(STATUS_ADDRESS_NOT_ASSOCIATED);
_CASE(STATUS_AGENTS_EXHAUSTED);
_CASE(STATUS_ALERTED);
_CASE(xbox::status_alerted);
_CASE(STATUS_ALIAS_EXISTS);
_CASE(STATUS_ALLOCATE_BUCKET);
_CASE(STATUS_ALLOTTED_SPACE_EXCEEDED);
@ -1249,8 +1249,8 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT);
_CASE(STATUS_BREAKPOINT);
_CASE(STATUS_BUFFER_ALL_ZEROS);
_CASE(STATUS_BUFFER_OVERFLOW);
_CASE(STATUS_BUFFER_TOO_SMALL);
_CASE(xbox::status_buffer_overflow);
_CASE(xbox::status_buffer_too_small);
_CASE(STATUS_BUS_RESET);
_CASE(STATUS_CACHE_PAGE_LOCKED);
_CASE(STATUS_CANCELLED);
@ -1269,7 +1269,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_CLIENT_SERVER_PARAMETERS_INVALID);
_CASE(STATUS_COMMITMENT_LIMIT);
_CASE(STATUS_COMMITMENT_MINIMUM);
_CASE(STATUS_CONFLICTING_ADDRESSES);
_CASE(xbox::status_conflicting_addresses);
_CASE(STATUS_CONNECTION_ABORTED);
_CASE(STATUS_CONNECTION_ACTIVE);
_CASE(STATUS_CONNECTION_COUNT_LIMIT);
@ -1455,7 +1455,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_FLOPPY_VOLUME);
_CASE(STATUS_FLOPPY_WRONG_CYLINDER);
_CASE(STATUS_FOUND_OUT_OF_SCOPE);
_CASE(STATUS_FREE_VM_NOT_AT_BASE);
_CASE(xbox::status_free_vm_not_at_base);
_CASE(STATUS_FS_DRIVER_REQUIRED);
_CASE(STATUS_FT_MISSING_MEMBER);
_CASE(STATUS_FT_ORPHANING);
@ -1491,7 +1491,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_INSTRUCTION_MISALIGNMENT);
_CASE(STATUS_INSUFFICIENT_LOGON_INFO);
_CASE(STATUS_INSUFFICIENT_POWER);
_CASE(STATUS_INSUFFICIENT_RESOURCES);
_CASE(xbox::status_insufficient_resources);
_CASE(STATUS_INSUFF_SERVER_RESOURCES);
_CASE(STATUS_INTEGER_DIVIDE_BY_ZERO);
_CASE(STATUS_INTEGER_OVERFLOW);
@ -1520,7 +1520,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_INVALID_HANDLE);
_CASE(STATUS_INVALID_HW_PROFILE);
_CASE(STATUS_INVALID_ID_AUTHORITY);
_CASE(STATUS_INVALID_IMAGE_FORMAT);
_CASE(xbox::status_invalid_image_format);
_CASE(STATUS_INVALID_IMAGE_LE_FORMAT);
_CASE(STATUS_INVALID_IMAGE_NE_FORMAT);
_CASE(STATUS_INVALID_IMAGE_NOT_MZ);
@ -1538,13 +1538,13 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_INVALID_NETWORK_RESPONSE);
_CASE(STATUS_INVALID_OPLOCK_PROTOCOL);
_CASE(STATUS_INVALID_OWNER);
_CASE(STATUS_INVALID_PAGE_PROTECTION);
_CASE(xbox::status_invalid_page_protection);
_CASE(STATUS_INVALID_PARAMETER);
_CASE(STATUS_INVALID_PARAMETER_1);
_CASE(STATUS_INVALID_PARAMETER_10);
_CASE(STATUS_INVALID_PARAMETER_11);
_CASE(STATUS_INVALID_PARAMETER_12);
_CASE(STATUS_INVALID_PARAMETER_2);
_CASE(xbox::status_invalid_parameter_2);
_CASE(STATUS_INVALID_PARAMETER_3);
_CASE(STATUS_INVALID_PARAMETER_4);
_CASE(STATUS_INVALID_PARAMETER_5);
@ -1622,14 +1622,14 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_MEMBER_IN_GROUP);
_CASE(STATUS_MEMBER_NOT_IN_ALIAS);
_CASE(STATUS_MEMBER_NOT_IN_GROUP);
_CASE(STATUS_MEMORY_NOT_ALLOCATED);
_CASE(xbox::status_memory_not_allocated);
_CASE(STATUS_MESSAGE_NOT_FOUND);
_CASE(STATUS_MISSING_SYSTEMFILE);
_CASE(STATUS_MORE_ENTRIES);
_CASE(STATUS_MORE_PROCESSING_REQUIRED);
_CASE(STATUS_MP_PROCESSOR_MISMATCH);
_CASE(STATUS_MULTIPLE_FAULT_VIOLATION);
_CASE(STATUS_MUTANT_LIMIT_EXCEEDED);
_CASE(xbox::status_mutant_limit_exceeded);
_CASE(STATUS_MUTANT_NOT_OWNED);
_CASE(STATUS_MUTUAL_AUTHENTICATION_FAILED);
_CASE(STATUS_NAME_TOO_LONG);
@ -1654,7 +1654,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_NOT_A_DIRECTORY);
_CASE(STATUS_NOT_A_REPARSE_POINT);
_CASE(STATUS_NOT_CLIENT_SESSION);
_CASE(STATUS_NOT_COMMITTED);
_CASE(xbox::status_not_committed);
_CASE(STATUS_NOT_EXPORT_FORMAT);
_CASE(STATUS_NOT_FOUND);
_CASE(STATUS_NOT_IMPLEMENTED);
@ -1683,7 +1683,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_NO_MATCH);
_CASE(STATUS_NO_MEDIA);
_CASE(STATUS_NO_MEDIA_IN_DEVICE);
_CASE(STATUS_NO_MEMORY);
_CASE(xbox::status_no_memory);
_CASE(STATUS_NO_MORE_EAS);
_CASE(STATUS_NO_MORE_ENTRIES);
_CASE(STATUS_NO_MORE_FILES);
@ -1713,10 +1713,10 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_NT_CROSS_ENCRYPTION_REQUIRED);
_CASE(STATUS_NULL_LM_PASSWORD);
_CASE(STATUS_OBJECTID_EXISTS);
_CASE(STATUS_OBJECT_NAME_COLLISION);
_CASE(xbox::status_object_name_collision);
_CASE(STATUS_OBJECT_NAME_EXISTS);
_CASE(STATUS_OBJECT_NAME_INVALID);
_CASE(STATUS_OBJECT_NAME_NOT_FOUND);
_CASE(xbox::status_object_name_not_found);
_CASE(STATUS_OBJECT_PATH_INVALID);
_CASE(STATUS_OBJECT_PATH_NOT_FOUND);
_CASE(STATUS_OBJECT_PATH_SYNTAX_BAD);
@ -1741,7 +1741,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_PASSWORD_MUST_CHANGE);
_CASE(STATUS_PASSWORD_RESTRICTION);
_CASE(STATUS_PATH_NOT_COVERED);
_CASE(STATUS_PENDING);
_CASE(xbox::status_pending);
_CASE(STATUS_PIPE_BROKEN);
_CASE(STATUS_PIPE_BUSY);
_CASE(STATUS_PIPE_CLOSING);
@ -1836,7 +1836,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_SECTION_PROTECTION);
_CASE(STATUS_SECTION_TOO_BIG);
_CASE(STATUS_SEGMENT_NOTIFICATION);
_CASE(STATUS_SEMAPHORE_LIMIT_EXCEEDED);
_CASE(xbox::status_semaphore_limit_exceeded);
_CASE(STATUS_SERIAL_COUNTER_TIMEOUT);
_CASE(STATUS_SERIAL_MORE_WRITES);
_CASE(STATUS_SERIAL_NO_DEVICE_INITED);
@ -1858,7 +1858,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_SPECIAL_USER);
_CASE(STATUS_STACK_OVERFLOW);
_CASE(STATUS_STACK_OVERFLOW_READ);
_CASE(STATUS_SUCCESS);
_CASE(xbox::status_success);
_CASE(STATUS_SUSPEND_COUNT_EXCEEDED);
_CASE(STATUS_SYNCHRONIZATION_REQUIRED);
_CASE(STATUS_SYSTEM_IMAGE_BAD_SIGNATURE);
@ -1869,7 +1869,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_TIMEOUT);
_CASE(STATUS_TIMER_NOT_CANCELED);
_CASE(STATUS_TIMER_RESOLUTION_NOT_SET);
_CASE(STATUS_TIMER_RESUME_IGNORED);
_CASE(xbox::status_timer_resume_ignored);
_CASE(STATUS_TIME_DIFFERENCE_AT_DC);
_CASE(STATUS_TOKEN_ALREADY_IN_USE);
_CASE(STATUS_TOO_LATE);
@ -1883,7 +1883,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_TOO_MANY_NODES);
_CASE(STATUS_TOO_MANY_OPENED_FILES);
_CASE(STATUS_TOO_MANY_PAGING_FILES);
_CASE(STATUS_TOO_MANY_SECRETS);
_CASE(xbox::status_too_many_secrets);
_CASE(STATUS_TOO_MANY_SESSIONS);
_CASE(STATUS_TOO_MANY_SIDS);
_CASE(STATUS_TOO_MANY_THREADS);
@ -1901,7 +1901,7 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_TRUST_FAILURE);
_CASE(STATUS_UNABLE_TO_DECOMMIT_VM);
_CASE(STATUS_UNABLE_TO_DELETE_SECTION);
_CASE(STATUS_UNABLE_TO_FREE_VM);
_CASE(xbox::status_unable_to_free_vm);
_CASE(STATUS_UNABLE_TO_LOCK_MEDIA);
_CASE(STATUS_UNABLE_TO_UNLOAD_MEDIA);
_CASE(STATUS_UNDEFINED_CHARACTER);
@ -1913,12 +1913,12 @@ CHAR* NtStatusToString(IN NTSTATUS Status)
_CASE(STATUS_UNHANDLED_EXCEPTION);
_CASE(STATUS_UNKNOWN_REVISION);
_CASE(STATUS_UNMAPPABLE_CHARACTER);
_CASE(STATUS_UNRECOGNIZED_MEDIA);
_CASE(xbox::status_unrecognized_media);
_CASE(STATUS_UNRECOGNIZED_VOLUME);
_CASE(STATUS_UNSUCCESSFUL);
_CASE(xbox::status_unsuccessful);
_CASE(STATUS_UNSUPPORTED_COMPRESSION);
_CASE(STATUS_UNWIND);
_CASE(STATUS_USER_APC);
_CASE(xbox::status_user_apc);
_CASE(STATUS_USER_EXISTS);
_CASE(STATUS_USER_MAPPED_FILE);
_CASE(STATUS_USER_SESSION_DELETED);

View File

@ -25,7 +25,7 @@
#define EMUFILE_H
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include <vector>
#include <cstdio>
#include <string>

View File

@ -104,8 +104,6 @@ typedef long NTSTATUS;
typedef __int64 LONGLONG;
typedef unsigned __int64 ULONGLONG;
#define NT_SUCCESS(Status) ((NTSTATUS) (Status) >= 0)
#define DIRECTORY_QUERY 1
#define DIRECTORY_TRAVERSE 2
#define DIRECTORY_CREATE_OBJECT 4

View File

@ -33,7 +33,7 @@
#define LOG_PREFIX CXBXR_MODULE::NET
#include <xboxkrnl/xboxkrnl.h> // For PKINTERRUPT, etc.
#include <core\kernel\exports\xboxkrnl.h> // For PKINTERRUPT, etc.
#include <WinSock2.h>
#include "core\kernel\init\CxbxKrnl.h"
#include "core\kernel\support\Emu.h"
@ -157,7 +157,7 @@ struct RingDesc {
uint16_t flags;
};
char* EmuNVNet_GetRegisterName(xbox::addr addr)
char* EmuNVNet_GetRegisterName(xbox::addr_xt addr)
{
switch (addr) {
case NvRegIrqStatus: return "NvRegIrqStatus";
@ -218,7 +218,7 @@ char* EmuNVNet_GetMiiRegisterName(uint8_t reg)
}
}
uint32_t EmuNVNet_GetRegister(xbox::addr addr, unsigned int size)
uint32_t EmuNVNet_GetRegister(xbox::addr_xt addr, unsigned int size)
{
switch (size) {
case sizeof(uint32_t) :
@ -232,7 +232,7 @@ uint32_t EmuNVNet_GetRegister(xbox::addr addr, unsigned int size)
return 0;
}
void EmuNVNet_SetRegister(xbox::addr addr, uint32_t value, unsigned int size)
void EmuNVNet_SetRegister(xbox::addr_xt addr, uint32_t value, unsigned int size)
{
switch (size) {
case sizeof(uint32_t):
@ -299,7 +299,7 @@ int EmuNVNet_MiiReadWrite(uint64_t val)
return retval;
}
uint32_t EmuNVNet_Read(xbox::addr addr, int size)
uint32_t EmuNVNet_Read(xbox::addr_xt addr, int size)
{
EmuLog(LOG_LEVEL::DEBUG, "Read%d: %s (0x%.8X)", size * 8, EmuNVNet_GetRegisterName(addr), addr);
@ -326,7 +326,7 @@ void EmuNVNet_DMAPacketFromGuest()
for (int i = 0; i < s->tx_ring_size; i++) {
/* Read ring descriptor */
s->tx_ring_index %= s->tx_ring_size;
xbox::addr tx_ring_addr = EmuNVNet_GetRegister(NvRegTxRingPhysAddr, 4);
xbox::addr_xt tx_ring_addr = EmuNVNet_GetRegister(NvRegTxRingPhysAddr, 4);
tx_ring_addr += s->tx_ring_index * sizeof(desc);
memcpy(&desc, (void*)(tx_ring_addr | CONTIGUOUS_MEMORY_BASE), sizeof(desc));
@ -381,7 +381,7 @@ bool EmuNVNet_DMAPacketToGuest(void* packet, size_t size)
for (int i = 0; i < s->rx_ring_size; i++) {
/* Read current ring descriptor */
s->rx_ring_index %= s->rx_ring_size;
xbox::addr rx_ring_addr = EmuNVNet_GetRegister(NvRegRxRingPhysAddr, 4);
xbox::addr_xt rx_ring_addr = EmuNVNet_GetRegister(NvRegRxRingPhysAddr, 4);
rx_ring_addr += s->rx_ring_index * sizeof(desc);
memcpy(&desc, (void*)(rx_ring_addr | CONTIGUOUS_MEMORY_BASE), sizeof(desc));
@ -423,7 +423,7 @@ bool EmuNVNet_DMAPacketToGuest(void* packet, size_t size)
return false;
}
void EmuNVNet_Write(xbox::addr addr, uint32_t value, int size)
void EmuNVNet_Write(xbox::addr_xt addr, uint32_t value, int size)
{
switch (addr) {
case NvRegRingSizes:

View File

@ -28,7 +28,7 @@
#define LOG_PREFIX CXBXR_MODULE::SMC
#include <xboxkrnl/xboxkrnl.h> // For xbox.h:AV_PACK_HDTV
#include <core\kernel\exports\xboxkrnl.h> // For xbox.h:AV_PACK_HDTV
#include "core\kernel\init\CxbxKrnl.h"
#include "EmuShared.h"

View File

@ -56,7 +56,7 @@
#define LOG_PREFIX CXBXR_MODULE::HUB
#include <xboxkrnl/xboxkrnl.h> // For PKINTERRUPT, etc.
#include <core\kernel\exports\xboxkrnl.h> // For PKINTERRUPT, etc.
#include <cstring> // For memcpy
#include "OHCI.h"
#include "Hub.h"

View File

@ -52,7 +52,7 @@
#define LOG_PREFIX CXBXR_MODULE::OHCI
#include <xboxkrnl/xboxkrnl.h>
#include <core\kernel\exports\xboxkrnl.h>
#include "OHCI.h"
#include "core\kernel\exports\EmuKrnl.h" // For HalSystemInterrupt
#include "common\util\CxbxUtil.h"
@ -380,46 +380,46 @@ void OHCI::OHCI_FatalError()
EmuLog(LOG_LEVEL::ERROR2, "An unrecoverable error has occoured!\n");
}
bool OHCI::OHCI_ReadHCCA(xbox::addr Paddr, OHCI_HCCA* Hcca)
bool OHCI::OHCI_ReadHCCA(xbox::addr_xt Paddr, OHCI_HCCA* Hcca)
{
return Memory_R(reinterpret_cast<void*>(Paddr), Hcca, sizeof(OHCI_HCCA));
}
bool OHCI::OHCI_WriteHCCA(xbox::addr Paddr, OHCI_HCCA* Hcca)
bool OHCI::OHCI_WriteHCCA(xbox::addr_xt Paddr, OHCI_HCCA* Hcca)
{
// We need to calculate the offset of the HccaFrameNumber member to avoid overwriting HccaInterrruptTable
size_t OffsetOfFrameNumber = offsetof(OHCI_HCCA, HccaFrameNumber);
return Memory_W(reinterpret_cast<void*>(Paddr + OffsetOfFrameNumber), reinterpret_cast<uint8_t*>(Hcca) + OffsetOfFrameNumber, 8);
}
bool OHCI::OHCI_ReadED(xbox::addr Paddr, OHCI_ED* Ed)
bool OHCI::OHCI_ReadED(xbox::addr_xt Paddr, OHCI_ED* Ed)
{
return GetDwords(Paddr, reinterpret_cast<uint32_t*>(Ed), sizeof(*Ed) >> 2); // ED is 16 bytes large
}
bool OHCI::OHCI_WriteED(xbox::addr Paddr, OHCI_ED* Ed)
bool OHCI::OHCI_WriteED(xbox::addr_xt Paddr, OHCI_ED* Ed)
{
// According to the standard, only the HeadP field is writable by the HC, so we'll write just that
size_t OffsetOfHeadP = offsetof(OHCI_ED, HeadP);
return WriteDwords(Paddr + OffsetOfHeadP, reinterpret_cast<uint32_t*>(reinterpret_cast<uint8_t*>(Ed) + OffsetOfHeadP), 1);
}
bool OHCI::OHCI_ReadTD(xbox::addr Paddr, OHCI_TD* Td)
bool OHCI::OHCI_ReadTD(xbox::addr_xt Paddr, OHCI_TD* Td)
{
return GetDwords(Paddr, reinterpret_cast<uint32_t*>(Td), sizeof(*Td) >> 2); // TD is 16 bytes large
}
bool OHCI::OHCI_WriteTD(xbox::addr Paddr, OHCI_TD* Td)
bool OHCI::OHCI_WriteTD(xbox::addr_xt Paddr, OHCI_TD* Td)
{
return WriteDwords(Paddr, reinterpret_cast<uint32_t*>(Td), sizeof(*Td) >> 2);
}
bool OHCI::OHCI_ReadIsoTD(xbox::addr Paddr, OHCI_ISO_TD* td)
bool OHCI::OHCI_ReadIsoTD(xbox::addr_xt Paddr, OHCI_ISO_TD* td)
{
return GetDwords(Paddr, reinterpret_cast<uint32_t*>(td), 4) || GetWords(Paddr + 16, td->Offset, 8);
}
bool OHCI::OHCI_WriteIsoTD(xbox::addr Paddr, OHCI_ISO_TD* td)
bool OHCI::OHCI_WriteIsoTD(xbox::addr_xt Paddr, OHCI_ISO_TD* td)
{
return WriteDwords(Paddr, reinterpret_cast<uint32_t*>(td), 4) || WriteWords(Paddr + 16, td->Offset, 8);
}
@ -480,11 +480,11 @@ bool OHCI::OHCI_CopyIsoTDBuffer(uint32_t start_addr, uint32_t end_addr, uint8_t*
return false;
}
int OHCI::OHCI_ServiceEDlist(xbox::addr Head, int Completion)
int OHCI::OHCI_ServiceEDlist(xbox::addr_xt Head, int Completion)
{
OHCI_ED ed;
xbox::addr next_ed;
xbox::addr current;
xbox::addr_xt next_ed;
xbox::addr_xt current;
int active;
active = 0;
@ -507,7 +507,7 @@ int OHCI::OHCI_ServiceEDlist(xbox::addr Head, int Completion)
if ((ed.HeadP & OHCI_ED_H) || (ed.Flags & OHCI_ED_K)) { // halted or skip
// Cancel pending packets for ED that have been paused
xbox::addr addr = ed.HeadP & OHCI_DPTR_MASK;
xbox::addr_xt addr = ed.HeadP & OHCI_DPTR_MASK;
if (m_AsyncTD && addr == m_AsyncTD) {
m_UsbDevice->USB_CancelPacket(&m_UsbPacket);
m_AsyncTD = xbox::zero;
@ -566,7 +566,7 @@ int OHCI::OHCI_ServiceTD(OHCI_ED* Ed)
XboxDeviceState* dev;
USBEndpoint* ep;
OHCI_TD td;
xbox::addr addr;
xbox::addr_xt addr;
int flag_r;
int completion;
@ -951,7 +951,7 @@ void OHCI::OHCI_PacketInit(USBPacket* packet)
vec->Size = 0;
}
uint32_t OHCI::OHCI_ReadRegister(xbox::addr Addr)
uint32_t OHCI::OHCI_ReadRegister(xbox::addr_xt Addr)
{
uint32_t ret = 0xFFFFFFFF;
@ -1092,7 +1092,7 @@ uint32_t OHCI::OHCI_ReadRegister(xbox::addr Addr)
}
}
void OHCI::OHCI_WriteRegister(xbox::addr Addr, uint32_t Value)
void OHCI::OHCI_WriteRegister(xbox::addr_xt Addr, uint32_t Value)
{
if (Addr & 3) {
// The standard allows only aligned writes to the registers

View File

@ -142,9 +142,9 @@ class OHCI
// destructor
~OHCI() {}
// read a register
uint32_t OHCI_ReadRegister(xbox::addr Addr);
uint32_t OHCI_ReadRegister(xbox::addr_xt Addr);
// write a register
void OHCI_WriteRegister(xbox::addr Addr, uint32_t Value);
void OHCI_WriteRegister(xbox::addr_xt Addr, uint32_t Value);
private:
@ -169,7 +169,7 @@ class OHCI
// Done Queue Interrupt Counter
int m_DoneCount;
// the address of the pending TD
xbox::addr m_AsyncTD = xbox::zero;
xbox::addr_xt m_AsyncTD = xbox::zero;
// indicates if there is a pending asynchronous packet to process
int m_AsyncComplete = 0;
@ -209,27 +209,27 @@ class OHCI
// if not set ConnectStatusChange flag; if flag is enabled return 1
int OHCI_PortSetIfConnected(int i, uint32_t Value);
// read the HCCA structure in memory
bool OHCI_ReadHCCA(xbox::addr Paddr, OHCI_HCCA* Hcca);
bool OHCI_ReadHCCA(xbox::addr_xt Paddr, OHCI_HCCA* Hcca);
// write the HCCA structure in memory
bool OHCI_WriteHCCA(xbox::addr Paddr, OHCI_HCCA* Hcca);
bool OHCI_WriteHCCA(xbox::addr_xt Paddr, OHCI_HCCA* Hcca);
// read an ED in memory
bool OHCI_ReadED(xbox::addr Paddr, OHCI_ED* Ed);
bool OHCI_ReadED(xbox::addr_xt Paddr, OHCI_ED* Ed);
// write an ED in memory
bool OHCI_WriteED(xbox::addr Paddr, OHCI_ED* Ed);
bool OHCI_WriteED(xbox::addr_xt Paddr, OHCI_ED* Ed);
// read an TD in memory
bool OHCI_ReadTD(xbox::addr Paddr, OHCI_TD* Td);
bool OHCI_ReadTD(xbox::addr_xt Paddr, OHCI_TD* Td);
// write a TD in memory
bool OHCI_WriteTD(xbox::addr Paddr, OHCI_TD* Td);
bool OHCI_WriteTD(xbox::addr_xt Paddr, OHCI_TD* Td);
// read an iso TD in memory
bool OHCI_ReadIsoTD(xbox::addr Paddr, OHCI_ISO_TD* td);
bool OHCI_ReadIsoTD(xbox::addr_xt Paddr, OHCI_ISO_TD* td);
// write an iso TD in memory
bool OHCI_WriteIsoTD(xbox::addr Paddr, OHCI_ISO_TD* td);
bool OHCI_WriteIsoTD(xbox::addr_xt Paddr, OHCI_ISO_TD* td);
// read/write the user buffer pointed to by a TD from/to main memory
bool OHCI_CopyTDBuffer(OHCI_TD* Td, uint8_t* Buffer, int Length, bool bIsWrite);
// read/write the user buffer pointed to by a ISO TD from/to main memory
bool OHCI_CopyIsoTDBuffer(uint32_t start_addr, uint32_t end_addr, uint8_t* Buffer, int Length, bool bIsWrite);
// process an ED list. Returns nonzero if active TD was found
int OHCI_ServiceEDlist(xbox::addr Head, int Completion);
int OHCI_ServiceEDlist(xbox::addr_xt Head, int Completion);
// process a TD. Returns nonzero to terminate processing of this endpoint
int OHCI_ServiceTD(OHCI_ED* Ed);
// process an isochronous TD

Some files were not shown because too many files have changed in this diff Show More