Merge remote-tracking branch 'refs/remotes/Cxbx-Reloaded/master' into PatrickvL/master
This commit is contained in:
commit
95817ba552
|
@ -159,6 +159,11 @@ extern thread_local std::string _logPrefix;
|
|||
_had_arg = true; \
|
||||
msg << "\n " << std::setw(25) << std::left << std::setfill(' ') << #arg << " : " << _log_sanitize(arg);
|
||||
|
||||
// LOG_FUNC_ARG_TYPE writes output using the overloaded << operator of the given type
|
||||
#define LOG_FUNC_ARG_TYPE(type, arg) \
|
||||
_had_arg = true; \
|
||||
msg << "\n " << std::setw(25) << std::left << std::setfill(' ') << #arg << " : " << (type)arg;
|
||||
|
||||
// LOG_FUNC_ARG_OUT prevents expansion of types, by only rendering as a pointer
|
||||
#define LOG_FUNC_ARG_OUT(arg) \
|
||||
_had_arg = true; \
|
||||
|
@ -177,6 +182,7 @@ extern thread_local std::string _logPrefix;
|
|||
#else
|
||||
#define LOG_FUNC_BEGIN
|
||||
#define LOG_FUNC_ARG(arg)
|
||||
#define LOG_FUNC_ARG_TYPE(type, arg)
|
||||
#define LOG_FUNC_ARG_OUT(arg)
|
||||
#define LOG_FUNC_END
|
||||
#define LOG_FUNC_RESULT(r)
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
#include <ntstatus.h>
|
||||
#pragma warning(default:4005)
|
||||
#include "CxbxKrnl.h"
|
||||
//#include "Logging.h" // For hex4()
|
||||
|
||||
std::string DriveSerial = "\\??\\serial:";
|
||||
std::string DriveCdRom0 = "\\??\\CdRom0:"; // CD-ROM device
|
||||
|
@ -498,6 +499,15 @@ EmuNtSymbolicLinkObject* FindNtSymbolicLinkObjectByRootHandle(const HANDLE Handl
|
|||
}
|
||||
|
||||
// TODO : Move to a better suited file
|
||||
/* TODO : Also, fix C2593: "'operator <<' is ambiguous" for this
|
||||
std::ostream& operator<<(std::ostream& os, const NtDll::NTSTATUS& value)
|
||||
{
|
||||
os << hex4((uint32_t)value) << " = " << NtStatusToString(value);
|
||||
|
||||
return os;
|
||||
}
|
||||
*/
|
||||
|
||||
// TODO : Create (and use) an Xbox version of this too
|
||||
CHAR* NtStatusToString(IN NTSTATUS Status)
|
||||
{
|
||||
|
|
|
@ -55,6 +55,9 @@ namespace NtDll
|
|||
|
||||
#include "Emu.h"
|
||||
|
||||
// TODO : Move to a better suited file
|
||||
//std::ostream& operator<<(std::ostream& os, const NtDll::NTSTATUS& value);
|
||||
|
||||
extern std::string DriveSerial;
|
||||
extern std::string DriveCdRom0;
|
||||
extern std::string DriveMbfs;
|
||||
|
|
|
@ -115,8 +115,8 @@ XBSYSAPI EXPORTNUM(66) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoCreateFile
|
|||
LOG_FUNC_ARG(AllocationSize)
|
||||
LOG_FUNC_ARG(FileAttributes)
|
||||
LOG_FUNC_ARG(ShareAccess)
|
||||
LOG_FUNC_ARG(Disposition)
|
||||
LOG_FUNC_ARG(CreateOptions)
|
||||
LOG_FUNC_ARG_TYPE(CREATE_DISPOSITION, Disposition)
|
||||
LOG_FUNC_ARG_TYPE(CREATE_OPTION, CreateOptions)
|
||||
LOG_FUNC_ARG(Options)
|
||||
LOG_FUNC_END;
|
||||
|
||||
|
|
|
@ -62,10 +62,23 @@ std::ostream& operator<<(std::ostream& os, const PULONG& value)
|
|||
return os;
|
||||
}
|
||||
|
||||
// Macro for implementation of rendering any Enum-ToString :
|
||||
#define LOGRENDER_ENUM(EnumType) LOGRENDER_HEADER(EnumType) \
|
||||
{ return os << "("#EnumType") " << EnumType##ToString(value) << " = " << hex4((int)value); }
|
||||
|
||||
// Macro's for Xbox Enum-ToString conversions :
|
||||
#define ENUM2STR_START(EnumType) const char * EnumType##ToString(const xboxkrnl::EnumType value) { switch (value) {
|
||||
#define ENUM2STR_CASE(a) case xboxkrnl::a: return #a;
|
||||
// ENUM2STR_CASE_DEF is needed for #define'd symbols
|
||||
#define ENUM2STR_CASE_DEF(a) case a: return #a;
|
||||
#define ENUM2STR_END(EnumType) default: return "Unknown_"#EnumType; } }
|
||||
#define ENUM2STR_END_and_LOGRENDER(EnumType) ENUM2STR_END(EnumType) LOGRENDER_ENUM(EnumType)
|
||||
|
||||
// Macro's for Xbo Flags-ToString conversions :
|
||||
#define FLAGS2STR_START(Type) std::string Type##ToString(const xboxkrnl::Type value) { std::string res;
|
||||
#define FLAG2STR(f) if (((uint32)value & f) == f) res = res + #f"|";
|
||||
#define FLAGS2STR_END if (!res.empty()) res.pop_back(); return res; }
|
||||
#define FLAGS2STR_END_and_LOGRENDER(Type) FLAGS2STR_END LOGRENDER_ENUM(Type)
|
||||
|
||||
// Xbox Enum-ToString conversions :
|
||||
|
||||
|
@ -84,7 +97,51 @@ ENUM2STR_START(BUS_DATA_TYPE)
|
|||
ENUM2STR_CASE(PNPISAConfiguration)
|
||||
ENUM2STR_CASE(SgiInternalConfiguration)
|
||||
ENUM2STR_CASE(MaximumBusDataType)
|
||||
ENUM2STR_END(BUS_DATA_TYPE)
|
||||
ENUM2STR_END_and_LOGRENDER(BUS_DATA_TYPE)
|
||||
|
||||
ENUM2STR_START(CREATE_DISPOSITION)
|
||||
ENUM2STR_CASE_DEF(FILE_SUPERSEDE)
|
||||
ENUM2STR_CASE_DEF(FILE_OPEN)
|
||||
ENUM2STR_CASE_DEF(FILE_CREATE)
|
||||
ENUM2STR_CASE_DEF(FILE_OPEN_IF)
|
||||
ENUM2STR_CASE_DEF(FILE_OVERWRITE)
|
||||
ENUM2STR_CASE_DEF(FILE_OVERWRITE_IF)
|
||||
// ENUM2STR_CASE_DEF(FILE_MAXIMUM_DISPOSITION) Skip, identical to FILE_OVERWRITE_IF
|
||||
ENUM2STR_END_and_LOGRENDER(CREATE_DISPOSITION)
|
||||
|
||||
FLAGS2STR_START(CREATE_OPTION)
|
||||
/*
|
||||
#define FILE_VALID_OPTION_FLAGS 0x00ffffff
|
||||
|
||||
#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
|
||||
#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
|
||||
#define FILE_VALID_SET_FLAGS 0x00000036
|
||||
|
||||
#define FILE_COPY_STRUCTURED_STORAGE 0x00000041
|
||||
#define FILE_STRUCTURED_STORAGE 0x00000441
|
||||
*/
|
||||
FLAG2STR(FILE_DIRECTORY_FILE)
|
||||
FLAG2STR(FILE_WRITE_THROUGH)
|
||||
FLAG2STR(FILE_SEQUENTIAL_ONLY)
|
||||
FLAG2STR(FILE_NO_INTERMEDIATE_BUFFERING)
|
||||
FLAG2STR(FILE_SYNCHRONOUS_IO_ALERT)
|
||||
FLAG2STR(FILE_SYNCHRONOUS_IO_NONALERT)
|
||||
FLAG2STR(FILE_NON_DIRECTORY_FILE)
|
||||
FLAG2STR(FILE_CREATE_TREE_CONNECTION)
|
||||
FLAG2STR(FILE_COMPLETE_IF_OPLOCKED)
|
||||
FLAG2STR(FILE_NON_DIRECTORY_FILE)
|
||||
FLAG2STR(FILE_NO_EA_KNOWLEDGE)
|
||||
FLAG2STR(FILE_OPEN_FOR_RECOVERY)
|
||||
FLAG2STR(FILE_RANDOM_ACCESS)
|
||||
FLAG2STR(FILE_DELETE_ON_CLOSE)
|
||||
FLAG2STR(FILE_OPEN_BY_FILE_ID)
|
||||
FLAG2STR(FILE_OPEN_FOR_BACKUP_INTENT)
|
||||
FLAG2STR(FILE_NO_COMPRESSION)
|
||||
FLAG2STR(FILE_RESERVE_OPFILTER)
|
||||
FLAG2STR(FILE_OPEN_REPARSE_POINT)
|
||||
FLAG2STR(FILE_OPEN_NO_RECALL)
|
||||
FLAG2STR(FILE_OPEN_FOR_FREE_SPACE_QUERY)
|
||||
FLAGS2STR_END_and_LOGRENDER(CREATE_OPTION)
|
||||
|
||||
ENUM2STR_START(EEPROM_INDEX)
|
||||
ENUM2STR_CASE(EEPROM_LANGUAGE)
|
||||
|
@ -108,12 +165,12 @@ ENUM2STR_START(EEPROM_INDEX)
|
|||
ENUM2STR_CASE(EEPROM_MAX_FACTORY)
|
||||
ENUM2STR_CASE(EEPROM_ENCRYPTED_SECTION)
|
||||
ENUM2STR_CASE(EEPROM_MAX_ALL)
|
||||
ENUM2STR_END(EEPROM_INDEX)
|
||||
ENUM2STR_END_and_LOGRENDER(EEPROM_INDEX)
|
||||
|
||||
ENUM2STR_START(EVENT_TYPE)
|
||||
ENUM2STR_CASE(NotificationEvent)
|
||||
ENUM2STR_CASE(SynchronizationEvent)
|
||||
ENUM2STR_END(EVENT_TYPE)
|
||||
ENUM2STR_END_and_LOGRENDER(EVENT_TYPE)
|
||||
|
||||
ENUM2STR_START(FILE_INFORMATION_CLASS)
|
||||
ENUM2STR_CASE(FileDirectoryInformation)
|
||||
|
@ -157,7 +214,7 @@ ENUM2STR_START(FILE_INFORMATION_CLASS)
|
|||
ENUM2STR_CASE(FileInheritContentIndexInformation)
|
||||
ENUM2STR_CASE(FileOleInformation)
|
||||
ENUM2STR_CASE(FileMaximumInformation)
|
||||
ENUM2STR_END(FILE_INFORMATION_CLASS)
|
||||
ENUM2STR_END_and_LOGRENDER(FILE_INFORMATION_CLASS)
|
||||
|
||||
ENUM2STR_START(FS_INFORMATION_CLASS)
|
||||
ENUM2STR_CASE(FileFsVolumeInformation)
|
||||
|
@ -169,12 +226,12 @@ ENUM2STR_START(FS_INFORMATION_CLASS)
|
|||
ENUM2STR_CASE(FileFsFullSizeInformation)
|
||||
ENUM2STR_CASE(FileFsObjectIdInformation)
|
||||
ENUM2STR_CASE(FileFsMaximumInformation)
|
||||
ENUM2STR_END(FS_INFORMATION_CLASS)
|
||||
ENUM2STR_END_and_LOGRENDER(FS_INFORMATION_CLASS)
|
||||
|
||||
ENUM2STR_START(KINTERRUPT_MODE)
|
||||
ENUM2STR_CASE(LevelSensitive)
|
||||
ENUM2STR_CASE(Latched)
|
||||
ENUM2STR_END(KINTERRUPT_MODE)
|
||||
ENUM2STR_END_and_LOGRENDER(KINTERRUPT_MODE)
|
||||
|
||||
ENUM2STR_START(KWAIT_REASON)
|
||||
ENUM2STR_CASE(Executive)
|
||||
|
@ -205,17 +262,38 @@ ENUM2STR_START(KWAIT_REASON)
|
|||
ENUM2STR_CASE(Spare6)
|
||||
ENUM2STR_CASE(WrKernel)
|
||||
ENUM2STR_CASE(MaximumWaitReason)
|
||||
ENUM2STR_END(KWAIT_REASON)
|
||||
ENUM2STR_END_and_LOGRENDER(KWAIT_REASON)
|
||||
|
||||
ENUM2STR_START(KOBJECTS)
|
||||
ENUM2STR_CASE(DpcObject)
|
||||
ENUM2STR_END(KOBJECTS)
|
||||
ENUM2STR_END_and_LOGRENDER(KOBJECTS)
|
||||
|
||||
ENUM2STR_START(MODE)
|
||||
ENUM2STR_CASE(KernelMode)
|
||||
ENUM2STR_CASE(UserMode)
|
||||
ENUM2STR_CASE(MaximumMode)
|
||||
ENUM2STR_END(MODE)
|
||||
ENUM2STR_END_and_LOGRENDER(MODE)
|
||||
|
||||
/* TODO : Fix error C2593 "'operator <<' is ambiguous",
|
||||
// because often NtDLL::NTSTATUS is used instead of xboxkrnl::NTSTATUS
|
||||
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(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_END_and_LOGRENDER(NTSTATUS)
|
||||
*/
|
||||
|
||||
ENUM2STR_START(RETURN_FIRMWARE)
|
||||
ENUM2STR_CASE(ReturnFirmwareHalt)
|
||||
|
@ -224,40 +302,23 @@ ENUM2STR_START(RETURN_FIRMWARE)
|
|||
ENUM2STR_CASE(ReturnFirmwareHard)
|
||||
ENUM2STR_CASE(ReturnFirmwareFatal)
|
||||
ENUM2STR_CASE(ReturnFirmwareAll)
|
||||
ENUM2STR_END(RETURN_FIRMWARE)
|
||||
ENUM2STR_END_and_LOGRENDER(RETURN_FIRMWARE)
|
||||
|
||||
ENUM2STR_START(TIMER_TYPE)
|
||||
ENUM2STR_CASE(NotificationTimer)
|
||||
ENUM2STR_CASE(SynchronizationTimer)
|
||||
ENUM2STR_END(TIMER_TYPE)
|
||||
ENUM2STR_END_and_LOGRENDER(TIMER_TYPE)
|
||||
|
||||
ENUM2STR_START(WAIT_TYPE)
|
||||
ENUM2STR_CASE(WaitAll)
|
||||
ENUM2STR_CASE(WaitAny)
|
||||
ENUM2STR_END(WAIT_TYPE)
|
||||
ENUM2STR_END_and_LOGRENDER(WAIT_TYPE)
|
||||
|
||||
// Macro for implementation of rendering EnumToString :
|
||||
#define LOGRENDER_ENUM(EnumType) LOGRENDER_HEADER(EnumType) \
|
||||
{ return os << "("#EnumType") " << EnumType##ToString(value) << " = " << hex4((int)value); }
|
||||
|
||||
// Xbox enum renderers :
|
||||
LOGRENDER_ENUM(BUS_DATA_TYPE)
|
||||
LOGRENDER_ENUM(EEPROM_INDEX)
|
||||
LOGRENDER_ENUM(EVENT_TYPE)
|
||||
LOGRENDER_ENUM(FILE_INFORMATION_CLASS)
|
||||
LOGRENDER_ENUM(FS_INFORMATION_CLASS)
|
||||
LOGRENDER_ENUM(KINTERRUPT_MODE)
|
||||
LOGRENDER_ENUM(KWAIT_REASON)
|
||||
LOGRENDER_ENUM(KOBJECTS)
|
||||
LOGRENDER_ENUM(MODE)
|
||||
LOGRENDER_ENUM(RETURN_FIRMWARE)
|
||||
LOGRENDER_ENUM(TIMER_TYPE)
|
||||
LOGRENDER_ENUM(WAIT_TYPE)
|
||||
|
||||
#undef ENUM_START
|
||||
#undef ENUM_CASE
|
||||
#undef ENUM_END
|
||||
#undef RENDER_ENUM
|
||||
#undef ENUM2STR_START
|
||||
#undef ENUM2STR_CASE
|
||||
#undef ENUM2STR_END
|
||||
#undef ENUM2STR_END_and_LOGRENDER
|
||||
#undef LOGRENDER_ENUM
|
||||
|
||||
#define LOGRENDER_MEMBER(Member) << "\n ."#Member": " << value.Member
|
||||
|
||||
|
@ -280,6 +341,14 @@ LOGRENDER_HEADER(P##Type) \
|
|||
LOGRENDER_HEADER(Type) \
|
||||
|
||||
// Render Xbox types :
|
||||
|
||||
LOGRENDER_TYPE(FILETIME)
|
||||
{
|
||||
return os
|
||||
LOGRENDER_MEMBER(dwLowDateTime)
|
||||
LOGRENDER_MEMBER(dwHighDateTime);
|
||||
}
|
||||
|
||||
LOGRENDER_TYPE(LARGE_INTEGER)
|
||||
{
|
||||
return os
|
||||
|
|
|
@ -40,6 +40,10 @@
|
|||
namespace xboxkrnl
|
||||
{
|
||||
#include <xboxkrnl/xboxkrnl.h>
|
||||
|
||||
// Additional types, exclusively for logging :
|
||||
typedef enum CREATE_DISPOSITION;
|
||||
typedef enum CREATE_OPTION;
|
||||
};
|
||||
|
||||
|
||||
|
@ -47,70 +51,6 @@ namespace xboxkrnl
|
|||
#include <sstream> // for std::ostream
|
||||
//?#include "Logging.h"
|
||||
|
||||
// TODO : Implement renderers for each usage of these types (and/or (P/LP) pointers to them)...
|
||||
//
|
||||
// TODO : xboxkrnl::ANSI_STRING
|
||||
// TODO : xboxkrnl::DEVICE_OBJECT
|
||||
// TODO : xboxkrnl::DISPATCHER_HEADER
|
||||
// TODO : xboxkrnl::DVDX2_AUTHENTICATION
|
||||
// TODO : xboxkrnl::DVDX2_AUTHENTICATION_PAGE
|
||||
// TODO : xboxkrnl::ERWLOCK
|
||||
// TODO : xboxkrnl::ETHREAD
|
||||
// TODO : xboxkrnl::EXCEPTION_RECORD
|
||||
// TODO : xboxkrnl::FILE_DIRECTORY_INFORMATION
|
||||
// TODO : xboxkrnl::FILE_FS_SIZE_INFORMATION
|
||||
// TODO : xboxkrnl::FILETIME
|
||||
// TODO : xboxkrnl::IO_STATUS_BLOCK / xboxkrnl::PIO_STATUS_BLOCK ->u1.Pointer, ->Information
|
||||
// TODO : xboxkrnl::KDEVICE_QUEUE
|
||||
// TODO : xboxkrnl::KDPC
|
||||
// TODO : xboxkrnl::KEVENT
|
||||
// TODO : xboxkrnl::KINTERRUPT
|
||||
// TODO : xboxkrnl::KIRQL
|
||||
// TODO : xboxkrnl::KPCR
|
||||
// TODO : xboxkrnl::KPRCB
|
||||
// TODO : xboxkrnl::KPROCESSOR_MODE
|
||||
// TODO : xboxkrnl::KSEMAPHORE
|
||||
// TODO : xboxkrnl::KSPIN_LOCK
|
||||
// TODO : xboxkrnl::KSYSTEM_TIME
|
||||
// TODO : xboxkrnl::KTHREAD
|
||||
// TODO : xboxkrnl::KTIMER /xboxkrnl::PKTIMER
|
||||
// TODO : xboxkrnl::LAUNCH_DATA_HEADER
|
||||
// TODO : xboxkrnl::LAUNCH_DATA_PAGE
|
||||
// TODO : xboxkrnl::LIST_ENTRY
|
||||
// TODO : xboxkrnl::LPCCH
|
||||
// TODO : xboxkrnl::LPCSTR
|
||||
// TODO : xboxkrnl::LPCWSTR
|
||||
// TODO : xboxkrnl::MEMORY_BASIC_INFORMATION
|
||||
// TODO : xboxkrnl::MM_STATISTICS
|
||||
// TODO : xboxkrnl::MODE_PARAMETER_HEADER10
|
||||
// TODO : xboxkrnl::NT_TIB
|
||||
// TODO : xboxkrnl::NTSTATUS
|
||||
// TODO : xboxkrnl::OBJECT_ATTRIBUTES
|
||||
// TODO : xboxkrnl::OBJECT_STRING
|
||||
// TODO : xboxkrnl::OBJECT_TYPE
|
||||
// TODO : xboxkrnl::PCI_COMMON_CONFIG
|
||||
// TODO : xboxkrnl::PCI_SLOT_NUMBER
|
||||
// TODO : xboxkrnl::PCHAR
|
||||
// TODO : xboxkrnl::PKDEFERRED_ROUTINE
|
||||
// TODO : xboxkrnl::PKDPC
|
||||
// TODO : xboxkrnl::PKINTERRUPT
|
||||
// TODO : xboxkrnl::PKSERVICE_ROUTINE
|
||||
// TODO : xboxkrnl::PXDEVICE_PREALLOC_TYPE
|
||||
// TODO : xboxkrnl::PXINPUT_CAPABILITIES
|
||||
// TODO : xboxkrnl::PXINPUT_STATE
|
||||
// TODO : xboxkrnl::PXPP_DEVICE_TYPE
|
||||
// TODO : xboxkrnl::PXTHREAD_NOTIFICATION -> pfnNotifyRoutine
|
||||
// TODO : xboxkrnl::RTL_CRITICAL_SECTION
|
||||
// TODO : xboxkrnl::SCSI_PASS_THROUGH_DIRECT
|
||||
// TODO : xboxkrnl::SINGLE_LIST_ENTRY
|
||||
// TODO : xboxkrnl::SLIST_HEADER
|
||||
// TODO : xboxkrnl::STRING
|
||||
// TODO : xboxkrnl::TIME_FIELDS
|
||||
// TODO : xboxkrnl::UCHAR
|
||||
// TODO : xboxkrnl::ULARGE_INTEGER
|
||||
// TODO : xboxkrnl::XBOX_HARDWARE_INFO
|
||||
// TODO : xboxkrnl::XBOX_REFURB_INFO
|
||||
|
||||
// Headers for rendering non-Xbox types :
|
||||
std::ostream& operator<<(std::ostream& os, const PULONG& value);
|
||||
|
||||
|
@ -118,7 +58,10 @@ std::ostream& operator<<(std::ostream& os, const PULONG& value);
|
|||
#define LOGRENDER_HEADER(Type) std::ostream& operator<<(std::ostream& os, const xboxkrnl::Type& value)
|
||||
|
||||
// Headers for rendering Xbox enum types :
|
||||
|
||||
LOGRENDER_HEADER(BUS_DATA_TYPE);
|
||||
LOGRENDER_HEADER(CREATE_DISPOSITION); // Not really an enum
|
||||
LOGRENDER_HEADER(CREATE_OPTION); // Not really an enum
|
||||
LOGRENDER_HEADER(EEPROM_INDEX);
|
||||
LOGRENDER_HEADER(EVENT_TYPE);
|
||||
LOGRENDER_HEADER(FILE_INFORMATION_CLASS);
|
||||
|
@ -127,6 +70,7 @@ LOGRENDER_HEADER(KINTERRUPT_MODE);
|
|||
LOGRENDER_HEADER(KWAIT_REASON);
|
||||
LOGRENDER_HEADER(KOBJECTS);
|
||||
LOGRENDER_HEADER(MODE);
|
||||
//LOGRENDER_HEADER(NTSTATUS); // Not really an enum
|
||||
LOGRENDER_HEADER(RETURN_FIRMWARE);
|
||||
LOGRENDER_HEADER(TIMER_TYPE);
|
||||
LOGRENDER_HEADER(WAIT_TYPE);
|
||||
|
@ -138,13 +82,74 @@ LOGRENDER_HEADER(BOOLEAN);
|
|||
#define LOGRENDER_HEADERS(Type) LOGRENDER_HEADER(Type); LOGRENDER_HEADER(P##Type)
|
||||
|
||||
// Headers for rendering functions of Xbox type and pointer-to-type :
|
||||
|
||||
// TODO : Implement renderers for each usage of these types (and/or (P/LP) pointers to them)...
|
||||
//
|
||||
// TODO : LOGRENDER_HEADER(DEVICE_OBJECT);
|
||||
// TODO : LOGRENDER_HEADER(DISPATCHER_HEADER);
|
||||
// TODO : LOGRENDER_HEADER(DVDX2_AUTHENTICATION);
|
||||
// TODO : LOGRENDER_HEADER(DVDX2_AUTHENTICATION_PAGE);
|
||||
// TODO : LOGRENDER_HEADER(ERWLOCK);
|
||||
// TODO : LOGRENDER_HEADER(ETHREAD);
|
||||
// TODO : LOGRENDER_HEADER(EXCEPTION_RECORD);
|
||||
LOGRENDER_HEADERS(FILETIME);
|
||||
// TODO : LOGRENDER_HEADER(FILE_DIRECTORY_INFORMATION);
|
||||
// TODO : LOGRENDER_HEADER(FILE_FS_SIZE_INFORMATION);
|
||||
// TODO : LOGRENDER_HEADER(IO_STATUS_BLOCK); // LOGRENDER_HEADER(PIO_STATUS_BLOCK ->u1.Pointer, ->Information
|
||||
// TODO : LOGRENDER_HEADER(KDEVICE_QUEUE);
|
||||
// TODO : LOGRENDER_HEADER(KDPC);
|
||||
// TODO : LOGRENDER_HEADER(KEVENT);
|
||||
// TODO : LOGRENDER_HEADER(KINTERRUPT);
|
||||
// TODO : LOGRENDER_HEADER(KIRQL);
|
||||
// TODO : LOGRENDER_HEADER(KPCR);
|
||||
// TODO : LOGRENDER_HEADER(KPRCB);
|
||||
// TODO : LOGRENDER_HEADER(KPROCESSOR_MODE);
|
||||
// TODO : LOGRENDER_HEADER(KSEMAPHORE);
|
||||
// TODO : LOGRENDER_HEADER(KSPIN_LOCK);
|
||||
// TODO : LOGRENDER_HEADER(KSYSTEM_TIME);
|
||||
// TODO : LOGRENDER_HEADER(KTHREAD);
|
||||
// TODO : LOGRENDER_HEADER(KTIMER);
|
||||
LOGRENDER_HEADERS(LARGE_INTEGER);
|
||||
// TODO : LOGRENDER_HEADER(LAUNCH_DATA_HEADER);
|
||||
// TODO : LOGRENDER_HEADER(LAUNCH_DATA_PAGE);
|
||||
// TODO : LOGRENDER_HEADER(LIST_ENTRY);
|
||||
// TODO : LOGRENDER_HEADER(LPCCH);
|
||||
// TODO : LOGRENDER_HEADER(LPCSTR);
|
||||
// TODO : LOGRENDER_HEADER(LPCWSTR);
|
||||
// TODO : LOGRENDER_HEADER(MEMORY_BASIC_INFORMATION);
|
||||
LOGRENDER_HEADERS(MM_STATISTICS);
|
||||
// TODO : LOGRENDER_HEADER(MODE_PARAMETER_HEADER10);
|
||||
// TODO : LOGRENDER_HEADER(NT_TIB);
|
||||
// TODO : LOGRENDER_HEADER(NTSTATUS);
|
||||
LOGRENDER_HEADERS(OBJECT_ATTRIBUTES);
|
||||
LOGRENDER_HEADERS(STRING);
|
||||
// TODO : LOGRENDER_HEADER(OBJECT_STRING);
|
||||
// TODO : LOGRENDER_HEADER(OBJECT_TYPE);
|
||||
// TODO : LOGRENDER_HEADER(PCI_COMMON_CONFIG);
|
||||
// TODO : LOGRENDER_HEADER(PCI_SLOT_NUMBER);
|
||||
// TODO : LOGRENDER_HEADER(PCHAR);
|
||||
// TODO : LOGRENDER_HEADER(PKDEFERRED_ROUTINE);
|
||||
// TODO : LOGRENDER_HEADER(PKDPC);
|
||||
// TODO : LOGRENDER_HEADER(PKINTERRUPT);
|
||||
// TODO : LOGRENDER_HEADER(PKSERVICE_ROUTINE);
|
||||
// TODO : LOGRENDER_HEADER(PXDEVICE_PREALLOC_TYPE);
|
||||
// TODO : LOGRENDER_HEADER(PXINPUT_CAPABILITIES);
|
||||
// TODO : LOGRENDER_HEADER(PXINPUT_STATE);
|
||||
// TODO : LOGRENDER_HEADER(PXPP_DEVICE_TYPE);
|
||||
// TODO : LOGRENDER_HEADER(PXTHREAD_NOTIFICATION); // -> pfnNotifyRoutine
|
||||
// TODO : LOGRENDER_HEADER(RTL_CRITICAL_SECTION);
|
||||
// TODO : LOGRENDER_HEADER(SCSI_PASS_THROUGH_DIRECT);
|
||||
// TODO : LOGRENDER_HEADER(SINGLE_LIST_ENTRY);
|
||||
// TODO : LOGRENDER_HEADER(SLIST_HEADER);
|
||||
LOGRENDER_HEADERS(STRING); // Alias ANSI_STRING
|
||||
// TODO : LOGRENDER_HEADER(TIME_FIELDS);
|
||||
// TODO : LOGRENDER_HEADER(UCHAR);
|
||||
// TODO : LOGRENDER_HEADER(ULARGE_INTEGER);
|
||||
LOGRENDER_HEADERS(UNICODE_STRING);
|
||||
// TODO : LOGRENDER_HEADER(XBOX_HARDWARE_INFO);
|
||||
// TODO : LOGRENDER_HEADER(XBOX_REFURB_INFO);
|
||||
|
||||
#undef LOGRENDER_HEADERS
|
||||
|
||||
// Don't #undef LOGRENDER_HEADER, because it's used in EmuKrnlLogging.cpp
|
||||
|
||||
#endif _EMU_KERNEL_LOGGING_H
|
||||
|
|
Loading…
Reference in New Issue