diff --git a/include/xenia/cpu.h b/include/xenia/cpu.h index 72f598dcc..c2930eaf3 100644 --- a/include/xenia/cpu.h +++ b/include/xenia/cpu.h @@ -10,37 +10,6 @@ #ifndef XENIA_CPU_H_ #define XENIA_CPU_H_ -#include -#include - -#include -#include - - -typedef struct { - int reserved; -} xe_cpu_options_t; - - -struct xe_cpu; -typedef struct xe_cpu* xe_cpu_ref; - - -xe_cpu_ref xe_cpu_create(xe_pal_ref pal, xe_memory_ref memory, - xe_cpu_options_t options); -xe_cpu_ref xe_cpu_retain(xe_cpu_ref cpu); -void xe_cpu_release(xe_cpu_ref cpu); - -xe_pal_ref xe_cpu_get_pal(xe_cpu_ref cpu); -xe_memory_ref xe_cpu_get_memory(xe_cpu_ref cpu); - -int xe_cpu_prepare_module(xe_cpu_ref cpu, xe_module_ref module, - xe_kernel_export_resolver_ref export_resolver); - -int xe_cpu_execute(xe_cpu_ref cpu, uint32_t address); - -uint32_t xe_cpu_create_callback(xe_cpu_ref cpu, - void (*callback)(void*), void *data); - +#include #endif // XENIA_CPU_H_ diff --git a/include/xenia/cpu/codegen.h b/include/xenia/cpu/codegen.h new file mode 100644 index 000000000..7b4563d05 --- /dev/null +++ b/include/xenia/cpu/codegen.h @@ -0,0 +1,71 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2013 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#ifndef XENIA_CPU_CODEGEN_H_ +#define XENIA_CPU_CODEGEN_H_ + +#include +#include +#include +#include + + +namespace llvm { + class LLVMContext; + class Module; + class Function; + class DIBuilder; + class MDNode; +} + + +namespace xe { +namespace cpu { +namespace codegen { + + +class CodegenContext { +public: + CodegenContext( + xe_memory_ref memory, kernel::ExportResolver* export_resolver, + kernel::UserModule* module, sdb::SymbolDatabase* sdb, + llvm::LLVMContext* context, llvm::Module* gen_module); + ~CodegenContext(); + + int GenerateModule(); + +private: + void AddImports(); + void AddMissingImport( + const xe_xex2_import_library_t *library, + const xe_xex2_import_info_t* info, kernel::KernelExport* kernel_export); + void AddPresentImport( + const xe_xex2_import_library_t *library, + const xe_xex2_import_info_t* info, kernel::KernelExport* kernel_export); + void AddFunction(sdb::FunctionSymbol* fn); + void OptimizeFunction(llvm::Module* m, llvm::Function* fn); + + xe_memory_ref memory_; + kernel::ExportResolver* export_resolver_; + kernel::UserModule* module_; + sdb::SymbolDatabase* sdb_; + + llvm::LLVMContext* context_; + llvm::Module* gen_module_; + llvm::DIBuilder* di_builder_; + llvm::MDNode* cu_; +}; + + +} // namespace codegen +} // namespace cpu +} // namespace xe + + +#endif // XENIA_CPU_CODEGEN_H_ diff --git a/include/xenia/cpu/exec_module.h b/include/xenia/cpu/exec_module.h new file mode 100644 index 000000000..7691ce9b4 --- /dev/null +++ b/include/xenia/cpu/exec_module.h @@ -0,0 +1,62 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2013 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#ifndef XENIA_CPU_USERMODULE_H_ +#define XENIA_CPU_USERMODULE_H_ + +#include +#include + +#include +#include +#include + + +namespace llvm { + class LLVMContext; + class Module; + class ExecutionEngine; +} + + +namespace xe { +namespace cpu { + + +class ExecModule { +public: + ExecModule( + xe_memory_ref memory, shared_ptr export_resolver, + kernel::UserModule* user_module, + shared_ptr& engine); + ~ExecModule(); + + int Prepare(); + + void Dump(); + +private: + int Init(); + int Uninit(); + + xe_memory_ref memory_; + shared_ptr export_resolver_; + kernel::UserModule* module_; + shared_ptr engine_; + shared_ptr sdb_; + shared_ptr context_; + shared_ptr gen_module_; +}; + + +} // namespace cpu +} // namespace xe + + +#endif // XENIA_CPU_USERMODULE_H_ diff --git a/include/xenia/cpu/ppc/instr.h b/include/xenia/cpu/ppc/instr.h index 36dd77240..8b90c4141 100644 --- a/include/xenia/cpu/ppc/instr.h +++ b/include/xenia/cpu/ppc/instr.h @@ -13,6 +13,12 @@ #include +namespace xe { +namespace cpu { +namespace ppc { + + +// TODO(benvanik): rename these typedef enum { kXEPPCInstrFormatI = 0, kXEPPCInstrFormatB = 1, @@ -47,13 +53,12 @@ typedef enum { } xe_ppc_instr_flag_e; -struct xe_ppc_instr_type; -typedef struct xe_ppc_instr_type xe_ppc_instr_type_t; +class InstrType; typedef struct { - xe_ppc_instr_type_t *type; - uint32_t address; + InstrType* type; + uint32_t address; union { uint32_t code; @@ -110,28 +115,36 @@ typedef struct { // kXEPPCInstrFormatVX // kXEPPCInstrFormatVXR } data; -} xe_ppc_instr_t; +} InstrData; -typedef struct { - xe_ppc_instr_t instr; +class Instr { +public: + InstrData instr; // TODO(benvanik): registers changed, special bits, etc -} xe_ppc_dec_instr_t; - -typedef int (*xe_ppc_emit_fn)(/* emit context */ xe_ppc_instr_t *instr); - -struct xe_ppc_instr_type { - uint32_t opcode; - uint32_t format; // xe_ppc_instr_format_e - uint32_t type; // xe_ppc_instr_type_e - uint32_t flags; // xe_ppc_instr_flag_e - char name[16]; - - xe_ppc_emit_fn emit; }; -xe_ppc_instr_type_t *xe_ppc_get_instr_type(uint32_t code); -int xe_ppc_register_instr_emit(uint32_t code, xe_ppc_emit_fn emit); +typedef int (*InstrEmitFn)(/* emit context */ Instr* instr); + +class InstrType { +public: + uint32_t opcode; + uint32_t format; // xe_ppc_instr_format_e + uint32_t type; // xe_ppc_instr_type_e + uint32_t flags; // xe_ppc_instr_flag_e + char name[16]; + + InstrEmitFn emit; +}; + +InstrType* GetInstrType(uint32_t code); +int RegisterInstrEmit(uint32_t code, InstrEmitFn emit); + + +} // namespace ppc +} // namespace cpu +} // namespace xe + #endif // XENIA_CPU_PPC_INSTR_H_ diff --git a/include/xenia/cpu/ppc/state.h b/include/xenia/cpu/ppc/state.h index 7a17bf4f0..3aaf7fae2 100644 --- a/include/xenia/cpu/ppc/state.h +++ b/include/xenia/cpu/ppc/state.h @@ -13,13 +13,33 @@ #include -namespace XE_PPC_SPR { - enum XE_PPC_SPR_e { +namespace xe { +namespace cpu { +namespace ppc { + + +namespace SPR { + enum SPR_e { XER = 1, LR = 8, CTR = 9, }; -} // XE_PPC_SPR +} // SPR + + +namespace FPRF { + enum FPRF_e { + QUIET_NAN = 0x00088000, + NEG_INFINITY = 0x00090000, + NEG_NORMALIZED = 0x00010000, + NEG_DENORMALIZED = 0x00018000, + NEG_ZERO = 0x00048000, + POS_ZERO = 0x00040000, + POS_DENORMALIZED = 0x00028000, + POS_NORMALIZED = 0x00020000, + POS_INFINITY = 0x000A0000, + }; +} // FPRF typedef struct XECACHEALIGN64 { @@ -88,33 +108,24 @@ typedef struct XECACHEALIGN64 { // 11 = toward -infinity } bits; } fpscr; // Floating-point status and control register -} xe_ppc_registers_t; + + uint32_t get_fprf() { + return fpscr.value & 0x000F8000; + } + void set_fprf(const uint32_t v) { + fpscr.value = (fpscr.value & ~0x000F8000) | v; + } +} PpcRegisters; typedef struct { - xe_ppc_registers_t registers; -} xe_ppc_state_t; + PpcRegisters registers; +} PpcState; -namespace XE_PPC_FPRF { - enum XE_PPC_FPRF_e { - QUIET_NAN = 0x00088000, - NEG_INFINITY = 0x00090000, - NEG_NORMALIZED = 0x00010000, - NEG_DENORMALIZED = 0x00018000, - NEG_ZERO = 0x00048000, - POS_ZERO = 0x00040000, - POS_DENORMALIZED = 0x00028000, - POS_NORMALIZED = 0x00020000, - POS_INFINITY = 0x000A0000, - }; -} // XE_PPC_FPRF -uint32_t xe_ppc_get_fprf(const xe_ppc_registers_t *r) { - return r->fpscr.value & 0x000F8000; -} -void xe_ppc_set_fprf(xe_ppc_registers_t *r, const uint32_t v) { - r->fpscr.value = (r->fpscr.value & ~0x000F8000) | v; -} +} // namespace ppc +} // namespace cpu +} // namespace xe #endif // XENIA_CPU_PPC_STATE_H_ diff --git a/include/xenia/cpu/processor.h b/include/xenia/cpu/processor.h new file mode 100644 index 000000000..d75b2e368 --- /dev/null +++ b/include/xenia/cpu/processor.h @@ -0,0 +1,60 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2013 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#ifndef XENIA_CPU_PROCESSOR_H_ +#define XENIA_CPU_PROCESSOR_H_ + +#include + +#include + +#include +#include +#include + + +namespace llvm { + class ExecutionEngine; +} + + +namespace xe { +namespace cpu { + + +class Processor { +public: + Processor(xe_pal_ref pal, xe_memory_ref memory); + ~Processor(); + + xe_pal_ref pal(); + xe_memory_ref memory(); + + int Setup(); + + int PrepareModule(kernel::UserModule* user_module, + shared_ptr export_resolver); + + int Execute(uint32_t address); + uint32_t CreateCallback(void (*callback)(void* data), void* data); + +private: + xe_pal_ref pal_; + xe_memory_ref memory_; + shared_ptr engine_; + + std::vector modules_; +}; + + +} // namespace cpu +} // namespace xe + + +#endif // XENIA_CPU_PROCESSOR_H_ diff --git a/include/xenia/cpu/sdb.h b/include/xenia/cpu/sdb.h index 5d70399d8..c7b17db46 100644 --- a/include/xenia/cpu/sdb.h +++ b/include/xenia/cpu/sdb.h @@ -12,79 +12,123 @@ #include +#include +#include #include -#include +#include -struct xe_sdb_function; -typedef struct xe_sdb_function xe_sdb_function_t; -struct xe_sdb_variable; -typedef struct xe_sdb_variable xe_sdb_variable_t; +namespace xe { +namespace cpu { +namespace sdb { -typedef struct { - uint32_t address; - xe_sdb_function_t *source; - xe_sdb_function_t *target; -} xe_sdb_function_call_t; +class FunctionSymbol; +class VariableSymbol; -typedef struct { - uint32_t address; - xe_sdb_function_t *source; - xe_sdb_variable_t *target; -} xe_sdb_variable_access_t; -typedef enum { - kXESDBFunctionUnknown = 0, - kXESDBFunctionKernel = 1, - kXESDBFunctionUser = 2, -} xe_sdb_function_type; - -struct xe_sdb_function { - uint32_t start_address; - uint32_t end_address; - char *name; - xe_sdb_function_type type; - uint32_t flags; - - std::vector incoming_calls; - std::vector outgoing_calls; - std::vector variable_accesses; +class FunctionCall { +public: + uint32_t address; + FunctionSymbol* source; + FunctionSymbol* target; }; -struct xe_sdb_variable { +class VariableAccess { +public: + uint32_t address; + FunctionSymbol* source; + VariableSymbol* target; +}; + +class Symbol { +public: + enum SymbolType { + Function = 0, + Variable = 1, + }; + + virtual ~Symbol() {} + + SymbolType symbol_type; + +protected: + Symbol(SymbolType type) : symbol_type(type) {} +}; + +class FunctionSymbol : public Symbol { +public: + enum FunctionType { + Unknown = 0, + Kernel = 1, + User = 2, + }; + + FunctionSymbol() : Symbol(Function) {} + virtual ~FunctionSymbol() {} + + uint32_t start_address; + uint32_t end_address; + char *name; + FunctionType type; + uint32_t flags; + + vector incoming_calls; + vector outgoing_calls; + vector variable_accesses; +}; + +class VariableSymbol : public Symbol { +public: + VariableSymbol() : Symbol(Variable) {} + virtual ~VariableSymbol() {} + uint32_t address; char *name; }; -typedef struct { - int type; - union { - xe_sdb_function_t* function; - xe_sdb_variable_t* variable; - }; -} xe_sdb_symbol_t; + +class SymbolDatabase { +public: + SymbolDatabase(xe_memory_ref memory, kernel::UserModule* user_module); + ~SymbolDatabase(); + + int Analyze(); + + FunctionSymbol* GetOrInsertFunction(uint32_t address); + VariableSymbol* GetOrInsertVariable(uint32_t address); + FunctionSymbol* GetFunction(uint32_t address); + VariableSymbol* GetVariable(uint32_t address); + Symbol* GetSymbol(uint32_t address); + + int GetAllFunctions(vector& functions); + + void Dump(); + +private: + typedef std::map SymbolMap; + typedef std::list FunctionList; + + int FindGplr(); + int AddImports(const xe_xex2_import_library_t *library); + int AddMethodHints(); + int AnalyzeFunction(FunctionSymbol* fn); + int FillHoles(); + int FlushQueue(); + + xe_memory_ref memory_; + kernel::UserModule* module_; + size_t function_count_; + size_t variable_count_; + SymbolMap symbols_; + FunctionList scan_queue_; +}; -struct xe_sdb; -typedef struct xe_sdb* xe_sdb_ref; - - -xe_sdb_ref xe_sdb_create(xe_memory_ref memory, xe_module_ref module); -xe_sdb_ref xe_sdb_retain(xe_sdb_ref sdb); -void xe_sdb_release(xe_sdb_ref sdb); - -xe_sdb_function_t* xe_sdb_insert_function(xe_sdb_ref sdb, uint32_t address); -xe_sdb_variable_t* xe_sdb_insert_variable(xe_sdb_ref sdb, uint32_t address); - -xe_sdb_function_t* xe_sdb_get_function(xe_sdb_ref sdb, uint32_t address); -xe_sdb_variable_t* xe_sdb_get_variable(xe_sdb_ref sdb, uint32_t address); - -int xe_sdb_get_functions(xe_sdb_ref sdb, xe_sdb_function_t ***out_functions, - size_t *out_function_count); - -void xe_sdb_dump(xe_sdb_ref sdb); +} // namespace sdb +} // namespace cpu +} // namespace xe #endif // XENIA_CPU_SDB_H_ diff --git a/include/xenia/kernel.h b/include/xenia/kernel.h index 7dffae2c6..486f88458 100644 --- a/include/xenia/kernel.h +++ b/include/xenia/kernel.h @@ -10,42 +10,6 @@ #ifndef XENIA_KERNEL_H_ #define XENIA_KERNEL_H_ -#include -#include -#include - -#include -#include -#include - - -typedef struct { - xechar_t command_line[2048]; -} xe_kernel_options_t; - - -struct xe_kernel; -typedef struct xe_kernel* xe_kernel_ref; - - -xe_kernel_ref xe_kernel_create(xe_pal_ref pal, xe_cpu_ref cpu, - xe_kernel_options_t options); -xe_kernel_ref xe_kernel_retain(xe_kernel_ref kernel); -void xe_kernel_release(xe_kernel_ref kernel); - -xe_pal_ref xe_kernel_get_pal(xe_kernel_ref kernel); -xe_memory_ref xe_kernel_get_memory(xe_kernel_ref kernel); -xe_cpu_ref xe_kernel_get_cpu(xe_kernel_ref kernel); - -const xechar_t *xe_kernel_get_command_line(xe_kernel_ref kernel); - -xe_kernel_export_resolver_ref xe_kernel_get_export_resolver( - xe_kernel_ref kernel); - -xe_module_ref xe_kernel_load_module(xe_kernel_ref kernel, const xechar_t *path); -void xe_kernel_launch_module(xe_kernel_ref kernel, xe_module_ref module); -xe_module_ref xe_kernel_get_module(xe_kernel_ref kernel, const xechar_t *path); -void xe_kernel_unload_module(xe_kernel_ref kernel, xe_module_ref module); - +#include #endif // XENIA_KERNEL_H_ diff --git a/include/xenia/kernel/export.h b/include/xenia/kernel/export.h index 11992b920..128da29e4 100644 --- a/include/xenia/kernel/export.h +++ b/include/xenia/kernel/export.h @@ -12,16 +12,24 @@ #include +#include + + +namespace xe { +namespace kernel { -typedef enum { - kXEKernelExportFlagFunction = 1 << 0, - kXEKernelExportFlagVariable = 1 << 1, -} xe_kernel_export_flags; typedef void (*xe_kernel_export_fn)(); -typedef struct { +class KernelExport { +public: + enum ExportType { + Function = 0, + Variable = 1, + }; + uint32_t ordinal; + ExportType type; uint32_t flags; char signature[16]; char name[96]; @@ -39,38 +47,46 @@ typedef struct { xe_kernel_export_fn shim; } function_data; }; -} xe_kernel_export_t; -#define XE_DECLARE_EXPORT(module, ordinal, name, signature, flags) \ + bool IsImplemented(); +}; + +#define XE_DECLARE_EXPORT(module, ordinal, name, signature, type, flags) \ { \ ordinal, \ + KernelExport::type, \ flags, \ #signature, \ #name, \ } -bool xe_kernel_export_is_implemented(const xe_kernel_export_t *kernel_export); +class ExportResolver { +public: + ExportResolver(); + ~ExportResolver(); + + void RegisterTable(const char* library_name, KernelExport* exports, + const size_t count); + + KernelExport* GetExportByOrdinal(const char* library_name, + const uint32_t ordinal); + KernelExport* GetExportByName(const char* library_name, const char* name); + +private: + class ExportTable { + public: + char name[32]; + KernelExport* exports; + size_t count; + }; + + std::vector tables_; +}; -struct xe_kernel_export_resolver; -typedef struct xe_kernel_export_resolver* xe_kernel_export_resolver_ref; +} // namespace kernel +} // namespace xe -xe_kernel_export_resolver_ref xe_kernel_export_resolver_create(); -xe_kernel_export_resolver_ref xe_kernel_export_resolver_retain( - xe_kernel_export_resolver_ref resolver); -void xe_kernel_export_resolver_release(xe_kernel_export_resolver_ref resolver); - -void xe_kernel_export_resolver_register_table( - xe_kernel_export_resolver_ref resolver, const char *library_name, - xe_kernel_export_t *exports, const size_t count); - -xe_kernel_export_t *xe_kernel_export_resolver_get_by_ordinal( - xe_kernel_export_resolver_ref resolver, const char *library_name, - const uint32_t ordinal); -xe_kernel_export_t *xe_kernel_export_resolver_get_by_name( - xe_kernel_export_resolver_ref resolver, const char *library_name, - const char *name); - #endif // XENIA_KERNEL_EXPORT_H_ diff --git a/include/xenia/kernel/kernel_module.h b/include/xenia/kernel/kernel_module.h new file mode 100644 index 000000000..06c03cb46 --- /dev/null +++ b/include/xenia/kernel/kernel_module.h @@ -0,0 +1,48 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2013 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#ifndef XENIA_KERNEL_KERNEL_MODULE_H_ +#define XENIA_KERNEL_KERNEL_MODULE_H_ + +#include +#include + +#include + + +namespace xe { +namespace kernel { + + +class KernelModule { +public: + KernelModule(xe_pal_ref pal, xe_memory_ref memory, + shared_ptr resolver) { + pal_ = xe_pal_retain(pal); + memory_ = xe_memory_retain(memory); + resolver_ = resolver; + } + + virtual ~KernelModule() { + xe_memory_release(memory_); + xe_pal_release(pal_); + } + +protected: + xe_pal_ref pal_; + xe_memory_ref memory_; + shared_ptr resolver_; +}; + + +} // namespace kernel +} // namespace xe + + +#endif // XENIA_KERNEL_KERNEL_MODULE_H_ diff --git a/include/xenia/kernel/module.h b/include/xenia/kernel/module.h deleted file mode 100644 index 8669498f5..000000000 --- a/include/xenia/kernel/module.h +++ /dev/null @@ -1,72 +0,0 @@ -/** - ****************************************************************************** - * Xenia : Xbox 360 Emulator Research Project * - ****************************************************************************** - * Copyright 2013 Ben Vanik. All rights reserved. * - * Released under the BSD license - see LICENSE in the root for more details. * - ****************************************************************************** - */ - -#ifndef XENIA_KERNEL_MODULE_H_ -#define XENIA_KERNEL_MODULE_H_ - -#include - -#include -#include - -typedef struct { - xechar_t path[2048]; -} xe_module_options_t; - -struct xe_module; -typedef struct xe_module* xe_module_ref; - - -#define kXEPESectionContainsCode 0x00000020 -#define kXEPESectionContainsDataInit 0x00000040 -#define kXEPESectionContainsDataUninit 0x00000080 -#define kXEPESectionMemoryExecute 0x20000000 -#define kXEPESectionMemoryRead 0x40000000 -#define kXEPESectionMemoryWrite 0x80000000 -typedef struct { - char name[9]; // 8 + 1 for \0 - uint32_t raw_address; - size_t raw_size; - uint32_t address; - size_t size; - uint32_t flags; // kXEPESection* -} xe_module_pe_section_t; - -typedef struct { - uint32_t address; - size_t total_length; // in bytes - size_t prolog_length; // in bytes -} xe_module_pe_method_info_t; - - -xe_module_ref xe_module_load(xe_memory_ref memory, - xe_kernel_export_resolver_ref export_resolver, - const void* addr, const size_t length, - xe_module_options_t options); -xe_module_ref xe_module_retain(xe_module_ref module); -void xe_module_release(xe_module_ref module); - -const xechar_t *xe_module_get_path(xe_module_ref module); -const xechar_t *xe_module_get_name(xe_module_ref module); -uint32_t xe_module_get_handle(xe_module_ref module); -xe_xex2_ref xe_module_get_xex(xe_module_ref module); -const xe_xex2_header_t *xe_module_get_xex_header(xe_module_ref module); - -void *xe_module_get_proc_address(xe_module_ref module, const uint32_t ordinal); - -xe_module_pe_section_t *xe_module_get_section(xe_module_ref module, - const char *name); -int xe_module_get_method_hints(xe_module_ref module, - xe_module_pe_method_info_t **out_method_infos, - size_t *out_method_info_count); - -void xe_module_dump(xe_module_ref module); - - -#endif // XENIA_KERNEL_MODULE_H_ diff --git a/include/xenia/kernel/runtime.h b/include/xenia/kernel/runtime.h new file mode 100644 index 000000000..bebdd2c27 --- /dev/null +++ b/include/xenia/kernel/runtime.h @@ -0,0 +1,68 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2013 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#ifndef XENIA_KERNEL_RUNTIME_H_ +#define XENIA_KERNEL_RUNTIME_H_ + +#include +#include +#include + +#include +#include +#include + + +namespace xe { +namespace cpu { + class Processor; +} +} + + +namespace xe { +namespace kernel { + +class KernelModule; + + +class Runtime { +public: + Runtime(xe_pal_ref pal, shared_ptr processor, + const xechar_t* command_line); + ~Runtime(); + + xe_pal_ref pal(); + xe_memory_ref memory(); + shared_ptr processor(); + shared_ptr export_resolver(); + const xechar_t* command_line(); + + int LoadModule(const xechar_t* path); + void LaunchModule(UserModule* user_module); + UserModule* GetModule(const xechar_t* path); + void UnloadModule(UserModule* user_module); + +private: + xe_pal_ref pal_; + xe_memory_ref memory_; + shared_ptr processor_; + xechar_t command_line_[2048]; + shared_ptr export_resolver_; + + std::vector kernel_modules_; + std::map user_modules_; +}; + + +} // namespace kernel +} // namespace xe + + +#endif // XENIA_KERNEL_RUNTIME_H_ diff --git a/include/xenia/kernel/user_module.h b/include/xenia/kernel/user_module.h new file mode 100644 index 000000000..6ba0a9490 --- /dev/null +++ b/include/xenia/kernel/user_module.h @@ -0,0 +1,89 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2013 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#ifndef XENIA_KERNEL_USER_MODULE_H_ +#define XENIA_KERNEL_USER_MODULE_H_ + +#include + +#include + +#include +#include + + +namespace xe { +namespace kernel { + + +#define kXEPESectionContainsCode 0x00000020 +#define kXEPESectionContainsDataInit 0x00000040 +#define kXEPESectionContainsDataUninit 0x00000080 +#define kXEPESectionMemoryExecute 0x20000000 +#define kXEPESectionMemoryRead 0x40000000 +#define kXEPESectionMemoryWrite 0x80000000 + +class PESection { +public: + char name[9]; // 8 + 1 for \0 + uint32_t raw_address; + size_t raw_size; + uint32_t address; + size_t size; + uint32_t flags; // kXEPESection* +}; + +class PEMethodInfo { +public: + uint32_t address; + size_t total_length; // in bytes + size_t prolog_length; // in bytes +}; + + +class UserModule { +public: + UserModule(xe_memory_ref memory); + ~UserModule(); + + int Load(const void* addr, const size_t length, const xechar_t* path); + + const xechar_t* path(); + const xechar_t* name(); + uint32_t handle(); + xe_xex2_ref xex(); + const xe_xex2_header_t* xex_header(); + + void* GetProcAddress(const uint32_t ordinal); + PESection* GetSection(const char* name); + int GetMethodHints(PEMethodInfo** out_method_infos, + size_t* out_method_info_count); + + void Dump(ExportResolver* export_resolver); + +private: + int LoadPE(); + + xe_memory_ref memory_; + + xechar_t path_[2048]; + xechar_t name_[256]; + + uint32_t handle_; + xe_xex2_ref xex_; + + std::vector sections_; +}; + + +} // namespace kernel +} // namespace xe + + +#endif // XENIA_KERNEL_USER_MODULE_H_ diff --git a/include/xenia/types.h b/include/xenia/types.h index 410d56826..b3a7629ff 100644 --- a/include/xenia/types.h +++ b/include/xenia/types.h @@ -14,6 +14,14 @@ #include +#include +namespace xe { +// TODO(benvanik): support other compilers/etc +using namespace std; +using namespace std::tr1; +} // namespace xe + + #define XE_EMPTY_MACRO do { } while(0) #define XEUNREFERENCED(expr) (void)(expr) diff --git a/src/cpu/codegen.cc b/src/cpu/codegen.cc index 3210b8ab1..cfb335c10 100644 --- a/src/cpu/codegen.cc +++ b/src/cpu/codegen.cc @@ -7,8 +7,9 @@ ****************************************************************************** */ -#include "cpu/codegen.h" +#include +#include #include #include #include @@ -17,90 +18,90 @@ #include #include #include +#include +#include #include #include #include using namespace llvm; +using namespace xe; +using namespace xe::cpu; +using namespace xe::cpu::codegen; +using namespace xe::cpu::ppc; +using namespace xe::cpu::sdb; +using namespace xe::kernel; -void xe_codegen_add_imports(xe_codegen_ctx_t *ctx); -void xe_codegen_add_missing_import( - xe_codegen_ctx_t *ctx, const xe_xex2_import_library_t *library, - const xe_xex2_import_info_t* info, xe_kernel_export_t *kernel_export); -void xe_codegen_add_import( - xe_codegen_ctx_t *ctx, const xe_xex2_import_library_t *library, - const xe_xex2_import_info_t* info, xe_kernel_export_t *kernel_export); -void xe_codegen_add_function(xe_codegen_ctx_t *ctx, xe_sdb_function_t *fn); -void xe_codegen_optimize(Module *m, Function *fn); +CodegenContext::CodegenContext( + xe_memory_ref memory, ExportResolver* export_resolver, + UserModule* module, SymbolDatabase* sdb, + LLVMContext* context, Module* gen_module) { + memory_ = xe_memory_retain(memory); + export_resolver_ = export_resolver; + module_ = module; + sdb_ = sdb; + context_ = context; + gen_module_ = gen_module; +} +CodegenContext::~CodegenContext() { + xe_memory_release(memory_); +} -llvm::Module *xe_codegen(xe_codegen_ctx_t *ctx, - xe_codegen_options_t options) { - LLVMContext& context = *ctx->context; +int CodegenContext::GenerateModule() { std::string error_message; - // Initialize the module. - Module *m = new Module(xe_module_get_name(ctx->module), context); - ctx->gen_module = m; - // TODO(benavnik): addModuleFlag? - - // Link shared module into generated module. - // This gives us a single module that we can optimize and prevents the need - // for foreward declarations. - Linker::LinkModules(m, ctx->shared_module, 0, &error_message); - // Setup a debug info builder. // This is used when creating any debug info. We may want to go more // fine grained than this, but for now it's something. xechar_t dir[2048]; - xestrcpy(dir, XECOUNT(dir), xe_module_get_path(ctx->module)); + XEIGNORE(xestrcpy(dir, XECOUNT(dir), module_->path())); xechar_t *slash = xestrrchr(dir, '/'); if (slash) { *(slash + 1) = 0; } - ctx->di_builder = new DIBuilder(*m); - ctx->di_builder->createCompileUnit( + di_builder_ = new DIBuilder(*gen_module_); + di_builder_->createCompileUnit( 0, - StringRef(xe_module_get_name(ctx->module)), + StringRef(module_->name()), StringRef(dir), StringRef("xenia"), true, StringRef(""), 0); - ctx->cu = (MDNode*)ctx->di_builder->getCU(); + cu_ = (MDNode*)di_builder_->getCU(); // Add import thunks/etc. - xe_codegen_add_imports(ctx); + AddImports(); // Add export wrappers. // // Add all functions. - xe_sdb_function_t **functions; - size_t function_count; - if (!xe_sdb_get_functions(ctx->sdb, &functions, &function_count)) { - for (size_t n = 0; n < function_count; n++) { + std::vector functions; + if (!sdb_->GetAllFunctions(functions)) { + for (std::vector::iterator it = functions.begin(); + it != functions.end(); ++it) { // kernel functions will be handled by the add imports handlers. - if (functions[n]->type == kXESDBFunctionUser) { - xe_codegen_add_function(ctx, functions[n]); + if ((*it)->type == FunctionSymbol::User) { + AddFunction(*it); } } - xe_free(functions); } - ctx->di_builder->finalize(); + di_builder_->finalize(); - return m; + return 0; } -void xe_codegen_add_imports(xe_codegen_ctx_t *ctx) { - xe_xex2_ref xex = xe_module_get_xex(ctx->module); - const xe_xex2_header_t *header = xe_xex2_get_header(xex); +void CodegenContext::AddImports() { + xe_xex2_ref xex = module_->xex(); + const xe_xex2_header_t* header = xe_xex2_get_header(xex); for (size_t n = 0; n < header->import_library_count; n++) { - const xe_xex2_import_library_t *library = &header->import_libraries[n]; + const xe_xex2_import_library_t* library = &header->import_libraries[n]; xe_xex2_import_info_t* import_infos; size_t import_info_count; @@ -108,16 +109,15 @@ void xe_codegen_add_imports(xe_codegen_ctx_t *ctx) { &import_infos, &import_info_count)); for (size_t i = 0; i < import_info_count; i++) { - const xe_xex2_import_info_t *info = &import_infos[i]; - xe_kernel_export_t *kernel_export = - xe_kernel_export_resolver_get_by_ordinal( - ctx->export_resolver, library->name, info->ordinal); - if (!kernel_export || !xe_kernel_export_is_implemented(kernel_export)) { + const xe_xex2_import_info_t* info = &import_infos[i]; + KernelExport* kernel_export = export_resolver_->GetExportByOrdinal( + library->name, info->ordinal); + if (!kernel_export || !kernel_export->IsImplemented()) { // Not implemented or known. - xe_codegen_add_missing_import(ctx, library, info, kernel_export); + AddMissingImport(library, info, kernel_export); } else { // Implemented. - xe_codegen_add_import(ctx, library, info, kernel_export); + AddPresentImport(library, info, kernel_export); } } @@ -127,10 +127,10 @@ void xe_codegen_add_imports(xe_codegen_ctx_t *ctx) { xe_xex2_release(xex); } -void xe_codegen_add_missing_import( - xe_codegen_ctx_t *ctx, const xe_xex2_import_library_t *library, - const xe_xex2_import_info_t* info, xe_kernel_export_t *kernel_export) { - Module *m = ctx->gen_module; +void CodegenContext::AddMissingImport( + const xe_xex2_import_library_t* library, + const xe_xex2_import_info_t* info, KernelExport* kernel_export) { + Module* m = gen_module_; LLVMContext& context = m->getContext(); char name[128]; @@ -149,11 +149,11 @@ void xe_codegen_add_missing_import( AttributeSet attrs = AttributeSet::get(context, awi); std::vector args; - Type *return_type = Type::getInt32Ty(context); + Type* return_type = Type::getInt32Ty(context); - FunctionType *ft = FunctionType::get(return_type, + FunctionType* ft = FunctionType::get(return_type, ArrayRef(args), false); - Function *f = cast(m->getOrInsertFunction( + Function* f = cast(m->getOrInsertFunction( StringRef(name), ft, attrs)); f->setCallingConv(CallingConv::C); f->setVisibility(GlobalValue::DefaultVisibility); @@ -161,10 +161,10 @@ void xe_codegen_add_missing_import( // TODO(benvanik): log errors. BasicBlock* block = BasicBlock::Create(context, "entry", f); IRBuilder<> builder(block); - Value *tmp = builder.getInt32(0); + Value* tmp = builder.getInt32(0); builder.CreateRet(tmp); - xe_codegen_optimize(m, f); + OptimizeFunction(m, f); //GlobalAlias *alias = new GlobalAlias(f->getType(), GlobalValue::InternalLinkage, name, f, m); // printf(" F %.8X %.8X %.3X (%3d) %s %s\n", @@ -177,17 +177,17 @@ void xe_codegen_add_missing_import( } } -void xe_codegen_add_import( - xe_codegen_ctx_t *ctx, const xe_xex2_import_library_t *library, - const xe_xex2_import_info_t* info, xe_kernel_export_t *kernel_export) { - // Module *m = ctx->gen_module; +void CodegenContext::AddPresentImport( + const xe_xex2_import_library_t* library, + const xe_xex2_import_info_t* info, KernelExport* kernel_export) { + // Module *m = gen_module_; // LLVMContext& context = m->getContext(); // TODO(benvanik): add import thunk code. } -void xe_codegen_add_function(xe_codegen_ctx_t *ctx, xe_sdb_function_t *fn) { - Module *m = ctx->gen_module; +void CodegenContext::AddFunction(FunctionSymbol* fn) { + Module* m = gen_module_; LLVMContext& context = m->getContext(); AttributeWithIndex awi[] = { @@ -198,20 +198,20 @@ void xe_codegen_add_function(xe_codegen_ctx_t *ctx, xe_sdb_function_t *fn) { AttributeSet attrs = AttributeSet::get(context, awi); std::vector args; - Type *return_type = Type::getInt32Ty(context); + Type* return_type = Type::getInt32Ty(context); char name[64]; - char *pname = name; + char* pname = name; if (fn->name) { pname = fn->name; } else { xesnprintfa(name, XECOUNT(name), "fn_%.8X", fn->start_address); } - FunctionType *ft = FunctionType::get(return_type, + FunctionType* ft = FunctionType::get(return_type, ArrayRef(args), false); - Function *f = cast(m->getOrInsertFunction( - StringRef(pname), ft, attrs)); + Function* f = cast( + m->getOrInsertFunction(StringRef(pname), ft, attrs)); f->setCallingConv(CallingConv::C); f->setVisibility(GlobalValue::DefaultVisibility); @@ -219,21 +219,21 @@ void xe_codegen_add_function(xe_codegen_ctx_t *ctx, xe_sdb_function_t *fn) { BasicBlock* block = BasicBlock::Create(context, "entry", f); IRBuilder<> builder(block); //builder.SetCurrentDebugLocation(DebugLoc::get(fn->start_address >> 8, fn->start_address & 0xFF, ctx->cu)); - Value *tmp = builder.getInt32(0); + Value* tmp = builder.getInt32(0); builder.CreateRet(tmp); // i->setMetadata("some.name", MDNode::get(context, MDString::get(context, pname))); - uint8_t *mem = xe_memory_addr(ctx->memory, 0); - uint32_t *pc = (uint32_t*)(mem + fn->start_address); + uint8_t* mem = xe_memory_addr(memory_, 0); + uint32_t* pc = (uint32_t*)(mem + fn->start_address); uint32_t pcdata = XEGETUINT32BE(pc); printf("data %.8X %.8X\n", fn->start_address, pcdata); - xe_ppc_instr_type_t *instr_type = xe_ppc_get_instr_type(pcdata); + InstrType* instr_type = ppc::GetInstrType(pcdata); if (instr_type) { printf("instr %.8X %s\n", fn->start_address, instr_type->name); - xe_ppc_instr_t instr; - instr.data.code = pcdata; - printf("%d %d\n", instr.data.XFX.D, instr.data.XFX.spr); + // xe_ppc_instr_t instr; + // instr.data.code = pcdata; + // printf("%d %d\n", instr.data.XFX.D, instr.data.XFX.spr); } else { printf("instr not found\n"); } @@ -241,10 +241,10 @@ void xe_codegen_add_function(xe_codegen_ctx_t *ctx, xe_sdb_function_t *fn) { // Run the optimizer on the function. // Doing this here keeps the size of the IR small and speeds up the later // passes. - xe_codegen_optimize(m, f); + OptimizeFunction(m, f); } -void xe_codegen_optimize(Module *m, Function *fn) { +void CodegenContext::OptimizeFunction(Module* m, Function* fn) { FunctionPassManager pm(m); PassManagerBuilder pmb; pmb.OptLevel = 3; diff --git a/src/cpu/codegen.h b/src/cpu/codegen.h deleted file mode 100644 index 667fcb683..000000000 --- a/src/cpu/codegen.h +++ /dev/null @@ -1,44 +0,0 @@ -/** - ****************************************************************************** - * Xenia : Xbox 360 Emulator Research Project * - ****************************************************************************** - * Copyright 2013 Ben Vanik. All rights reserved. * - * Released under the BSD license - see LICENSE in the root for more details. * - ****************************************************************************** - */ - -#ifndef XENIA_CPU_CODEGEN_H_ -#define XENIA_CPU_CODEGEN_H_ - -#include -#include -#include - -#include -#include -#include - - -typedef struct { - int reserved; -} xe_codegen_options_t; - -typedef struct { - xe_memory_ref memory; - xe_kernel_export_resolver_ref export_resolver; - xe_module_ref module; - xe_sdb_ref sdb; - - llvm::LLVMContext *context; - llvm::Module *shared_module; - llvm::Module *gen_module; - llvm::DIBuilder *di_builder; - llvm::MDNode *cu; -} xe_codegen_ctx_t; - - -llvm::Module *xe_codegen(xe_codegen_ctx_t *ctx, - xe_codegen_options_t options); - - -#endif // XENIA_CPU_CODEGEN_H_ diff --git a/src/cpu/cpu.cc b/src/cpu/cpu.cc deleted file mode 100644 index 67d05dea5..000000000 --- a/src/cpu/cpu.cc +++ /dev/null @@ -1,306 +0,0 @@ -/** - ****************************************************************************** - * Xenia : Xbox 360 Emulator Research Project * - ****************************************************************************** - * Copyright 2013 Ben Vanik. All rights reserved. * - * Released under the BSD license - see LICENSE in the root for more details. * - ****************************************************************************** - */ - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "cpu/codegen.h" -#include "cpu/xethunk/xethunk.h" - -using namespace llvm; - - -typedef struct { - xe_module_ref module; - xe_sdb_ref sdb; - LLVMContext *context; - Module *m; -} xe_cpu_module_entry_t; - -typedef struct xe_cpu { - xe_ref_t ref; - - xe_cpu_options_t options; - - xe_pal_ref pal; - xe_memory_ref memory; - - std::vector entries; - - ExecutionEngine *engine; -} xe_cpu_t; - - -int xe_cpu_setup_engine(xe_cpu_ref cpu, Module *gen_module); -int xe_cpu_init_module(xe_cpu_ref, Module *gen_module); -void xe_cpu_uninit_module(xe_cpu_ref cpu, xe_cpu_module_entry_t *module_entry); - - -xe_cpu_ref xe_cpu_create(xe_pal_ref pal, xe_memory_ref memory, - xe_cpu_options_t options) { - xe_cpu_ref cpu = (xe_cpu_ref)xe_calloc(sizeof(xe_cpu)); - xe_ref_init((xe_ref)cpu); - - xe_copy_struct(&cpu->options, &options, sizeof(xe_cpu_options_t)); - - cpu->pal = xe_pal_retain(pal); - cpu->memory = xe_memory_retain(memory); - - LLVMLinkInInterpreter(); - LLVMLinkInJIT(); - InitializeNativeTarget(); - XEEXPECTTRUE(llvm_start_multithreaded()); - - return cpu; - -XECLEANUP: - xe_cpu_release(cpu); - return NULL; -} - -void xe_cpu_dealloc(xe_cpu_ref cpu) { - // Cleanup all modules. - for (std::vector::iterator it = cpu->entries.begin(); - it != cpu->entries.end(); ++it) { - xe_cpu_uninit_module(cpu, &*it); - cpu->engine->removeModule(it->m); - delete it->m; - delete it->context; - xe_sdb_release(it->sdb); - xe_module_release(it->module); - } - - delete cpu->engine; - llvm_shutdown(); - - xe_memory_release(cpu->memory); - xe_pal_release(cpu->pal); -} - -xe_cpu_ref xe_cpu_retain(xe_cpu_ref cpu) { - xe_ref_retain((xe_ref)cpu); - return cpu; -} - -void xe_cpu_release(xe_cpu_ref cpu) { - xe_ref_release((xe_ref)cpu, (xe_ref_dealloc_t)xe_cpu_dealloc); -} - -xe_pal_ref xe_cpu_get_pal(xe_cpu_ref cpu) { - return xe_pal_retain(cpu->pal); -} - -xe_memory_ref xe_cpu_get_memory(xe_cpu_ref cpu) { - return xe_memory_retain(cpu->memory); -} - -int xe_cpu_setup_engine(xe_cpu_ref cpu, Module *gen_module) { - if (cpu->engine) { - // Engine already initialized - just add the module. - cpu->engine->addModule(gen_module); - return 0; - } - - std::string error_message; - cpu->engine = ExecutionEngine::create(gen_module, false, &error_message, - CodeGenOpt::Aggressive); - - return 0; -} - -int xe_cpu_prepare_module(xe_cpu_ref cpu, xe_module_ref module, - xe_kernel_export_resolver_ref export_resolver) { - int result_code = 1; - std::string error_message; - - xe_sdb_ref sdb = NULL; - LLVMContext *context = NULL; - OwningPtr shared_module_buffer; - Module *gen_module = NULL; - Module *shared_module = NULL; - raw_ostream *outs = NULL; - - PassManager pm; - PassManagerBuilder pmb; - - // TODO(benvanik): embed the bc file into the emulator. - const char *thunk_path = "src/cpu/xethunk/xethunk.bc"; - - // Create a LLVM context for this prepare. - // This is required to ensure thread safety/etc. - context = new LLVMContext(); - - // Calculate a cache path based on the module, the CPU version, and other - // bits. - // TODO(benvanik): cache path calculation. - const char *cache_path = "build/generated.bc"; - - // Check the cache to see if the bitcode exists. - // If it does, load that module directly. In the future we could also cache - // on linked binaries but that requires more safety around versioning. - // TODO(benvanik): check cache for module bitcode and load. - // if (path_exists(cache_key)) { - // gen_module = load_bitcode(cache_key); - // sdb = load_symbol_table(cache_key); - // } - - // If not found in cache, generate a new module. - if (!gen_module) { - // Load shared bitcode files. - // These contain globals and common thunk code that are used by the - // generated code. - XEEXPECTZERO(MemoryBuffer::getFile(thunk_path, shared_module_buffer)); - shared_module = ParseBitcodeFile(&*shared_module_buffer, *context, - &error_message); - XEEXPECTNOTNULL(shared_module); - - // Analyze the module and add its symbols to the symbol database. - sdb = xe_sdb_create(cpu->memory, module); - XEEXPECTNOTNULL(sdb); - xe_sdb_dump(sdb); - - // Build the module from the source code. - xe_codegen_options_t codegen_options; - xe_zero_struct(&codegen_options, sizeof(codegen_options)); - xe_codegen_ctx_t codegen_ctx; - xe_zero_struct(&codegen_ctx, sizeof(codegen_ctx)); - codegen_ctx.memory = cpu->memory; - codegen_ctx.export_resolver = export_resolver; - codegen_ctx.module = module; - codegen_ctx.sdb = sdb; - codegen_ctx.context = context; - codegen_ctx.shared_module = shared_module; - gen_module = xe_codegen(&codegen_ctx, codegen_options); - - // Write to cache. - outs = new raw_fd_ostream(cache_path, error_message, - raw_fd_ostream::F_Binary); - XEEXPECTTRUE(error_message.empty()); - WriteBitcodeToFile(gen_module, *outs); - } - - // Link optimizations. - XEEXPECTZERO(gen_module->MaterializeAllPermanently(&error_message)); - - // Reset target triple (ignore what's in xethunk). - gen_module->setTargetTriple(llvm::sys::getDefaultTargetTriple()); - - // Run full module optimizations. - pm.add(new DataLayout(gen_module)); - pm.add(createVerifierPass()); - pmb.OptLevel = 3; - pmb.SizeLevel = 0; - pmb.Inliner = createFunctionInliningPass(); - pmb.Vectorize = true; - pmb.LoopVectorize = true; - pmb.populateModulePassManager(pm); - pmb.populateLTOPassManager(pm, false, true); - pm.add(createVerifierPass()); - pm.run(*gen_module); - - // TODO(benvanik): experiment with LLD to see if we can write out a dll. - - // Setup the execution engine (if needed). - // The engine is required to get the data layout and other values. - XEEXPECTZERO(xe_cpu_setup_engine(cpu, gen_module)); - - // Initialize the module. - XEEXPECTZERO(xe_cpu_init_module(cpu, gen_module)); - - // Force JIT of all functions. - for (Module::iterator I = gen_module->begin(), E = gen_module->end(); - I != E; I++) { - Function* fn = &*I; - if (!fn->isDeclaration()) { - cpu->engine->getPointerToFunction(fn); - } - } - - gen_module->dump(); - - // Stash the module entry to allow cleanup later. - xe_cpu_module_entry_t module_entry; - module_entry.module = xe_module_retain(module); - module_entry.sdb = xe_sdb_retain(sdb); - module_entry.context = context; - module_entry.m = gen_module; - cpu->entries.push_back(module_entry); - - result_code = 0; -XECLEANUP: - delete outs; - delete shared_module; - if (result_code) { - delete gen_module; - delete context; - } - xe_sdb_release(sdb); - return result_code; -} - -int xe_cpu_init_module(xe_cpu_ref cpu, Module *gen_module) { - // Run static initializers. I'm not sure we'll have any, but who knows. - cpu->engine->runStaticConstructorsDestructors(gen_module, false); - - // Prepare init options. - xe_module_init_options_t init_options; - xe_zero_struct(&init_options, sizeof(init_options)); - init_options.memory_base = xe_memory_addr(cpu->memory, 0); - - // Grab the init function and call it. - Function *xe_module_init = gen_module->getFunction("xe_module_init"); - std::vector args; - args.push_back(GenericValue(&init_options)); - GenericValue ret = cpu->engine->runFunction(xe_module_init, args); - - return ret.IntVal.getSExtValue(); -} - -void xe_cpu_uninit_module(xe_cpu_ref cpu, xe_cpu_module_entry_t *module_entry) { - // Grab function and call it. - Function *xe_module_uninit = module_entry->m->getFunction("xe_module_uninit"); - std::vector args; - cpu->engine->runFunction(xe_module_uninit, args); - - // Run static destructors. - cpu->engine->runStaticConstructorsDestructors(module_entry->m, true); -} - -int xe_cpu_execute(xe_cpu_ref cpu, uint32_t address) { - // TODO(benvanik): implement execute. - return 0; -} - -uint32_t xe_cpu_create_callback(xe_cpu_ref cpu, - void (*callback)(void*), void *data) { - // TODO(benvanik): implement callback creation. - return 0; -} diff --git a/src/cpu/exec_module.cc b/src/cpu/exec_module.cc new file mode 100644 index 000000000..dbdf440dc --- /dev/null +++ b/src/cpu/exec_module.cc @@ -0,0 +1,201 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2013 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "cpu/xethunk/xethunk.h" + + +using namespace llvm; +using namespace xe; +using namespace xe::cpu; +using namespace xe::cpu::codegen; +using namespace xe::kernel; + + +ExecModule::ExecModule( + xe_memory_ref memory, shared_ptr export_resolver, + UserModule* user_module, shared_ptr& engine) { + memory_ = xe_memory_retain(memory); + export_resolver_ = export_resolver; + module_ = user_module; + engine_ = engine; + sdb_ = shared_ptr( + new sdb::SymbolDatabase(memory_, module_)); + + context_ = shared_ptr(new LLVMContext()); +} + +ExecModule::~ExecModule() { + if (gen_module_) { + Uninit(); + engine_->removeModule(gen_module_.get()); + } + + xe_memory_release(memory_); +} + +int ExecModule::Prepare() { + int result_code = 1; + std::string error_message; + + OwningPtr shared_module_buffer; + auto_ptr shared_module; + auto_ptr outs; + auto_ptr codegen; + + PassManager pm; + PassManagerBuilder pmb; + + // TODO(benvanik): embed the bc file into the emulator. + const char *thunk_path = "src/cpu/xethunk/xethunk.bc"; + + // Calculate a cache path based on the module, the CPU version, and other + // bits. + // TODO(benvanik): cache path calculation. + const char *cache_path = "build/generated.bc"; + + // Check the cache to see if the bitcode exists. + // If it does, load that module directly. In the future we could also cache + // on linked binaries but that requires more safety around versioning. + // TODO(benvanik): check cache for module bitcode and load. + // if (path_exists(cache_key)) { + // exec_module = load_bitcode(cache_key); + // sdb = load_symbol_table(cache_key); + // } + + // If not found in cache, generate a new module. + if (!gen_module_.get()) { + // Load shared bitcode files. + // These contain globals and common thunk code that are used by the + // generated code. + XEEXPECTZERO(MemoryBuffer::getFile(thunk_path, shared_module_buffer)); + shared_module = auto_ptr(ParseBitcodeFile( + &*shared_module_buffer, *context_, &error_message)); + XEEXPECTNOTNULL(shared_module.get()); + + // Analyze the module and add its symbols to the symbol database. + XEEXPECTZERO(sdb_->Analyze()); + + // Initialize the module. + gen_module_ = shared_ptr( + new Module(module_->name(), *context_.get())); + // TODO(benavnik): addModuleFlag? + + // Link shared module into generated module. + // This gives us a single module that we can optimize and prevents the need + // for foreward declarations. + Linker::LinkModules(gen_module_.get(), shared_module.get(), 0, + &error_message); + + // Build the module from the source code. + codegen = auto_ptr(new CodegenContext( + memory_, export_resolver_.get(), module_, sdb_.get(), + context_.get(), gen_module_.get())); + XEEXPECTZERO(codegen->GenerateModule()); + + // Write to cache. + outs = auto_ptr(new raw_fd_ostream( + cache_path, error_message, raw_fd_ostream::F_Binary)); + XEEXPECTTRUE(error_message.empty()); + WriteBitcodeToFile(gen_module_.get(), *outs); + } + + // Link optimizations. + XEEXPECTZERO(gen_module_->MaterializeAllPermanently(&error_message)); + + // Reset target triple (ignore what's in xethunk). + gen_module_->setTargetTriple(llvm::sys::getDefaultTargetTriple()); + + // Run full module optimizations. + pm.add(new DataLayout(gen_module_.get())); + pm.add(createVerifierPass()); + pmb.OptLevel = 3; + pmb.SizeLevel = 0; + pmb.Inliner = createFunctionInliningPass(); + pmb.Vectorize = true; + pmb.LoopVectorize = true; + pmb.populateModulePassManager(pm); + pmb.populateLTOPassManager(pm, false, true); + pm.add(createVerifierPass()); + pm.run(*gen_module_); + + // TODO(benvanik): experiment with LLD to see if we can write out a dll. + + // Initialize the module. + XEEXPECTZERO(Init()); + + // Force JIT of all functions. + for (Module::iterator I = gen_module_->begin(), E = gen_module_->end(); + I != E; I++) { + Function* fn = &*I; + if (!fn->isDeclaration()) { + engine_->getPointerToFunction(fn); + } + } + + result_code = 0; +XECLEANUP: + return result_code; +} + +int ExecModule::Init() { + // Run static initializers. I'm not sure we'll have any, but who knows. + engine_->runStaticConstructorsDestructors(gen_module_.get(), false); + + // Prepare init options. + xe_module_init_options_t init_options; + xe_zero_struct(&init_options, sizeof(init_options)); + init_options.memory_base = xe_memory_addr(memory_, 0); + + // Grab the init function and call it. + Function* xe_module_init = gen_module_->getFunction("xe_module_init"); + std::vector args; + args.push_back(GenericValue(&init_options)); + GenericValue ret = engine_->runFunction(xe_module_init, args); + + return ret.IntVal.getSExtValue(); +} + +int ExecModule::Uninit() { + // Grab function and call it. + Function* xe_module_uninit = gen_module_->getFunction("xe_module_uninit"); + std::vector args; + engine_->runFunction(xe_module_uninit, args); + + // Run static destructors. + engine_->runStaticConstructorsDestructors(gen_module_.get(), true); + + return 0; +} + +void ExecModule::Dump() { + gen_module_->dump(); +} diff --git a/src/cpu/ppc/instr.cc b/src/cpu/ppc/instr.cc index 95974e806..f0eaa32e4 100644 --- a/src/cpu/ppc/instr.cc +++ b/src/cpu/ppc/instr.cc @@ -9,46 +9,49 @@ #include -#include "cpu/ppc/instr_table.h" +#include "cpu/ppc/instr_tables.h" -xe_ppc_instr_type_t *xe_ppc_get_instr_type(uint32_t code) { - xe_ppc_instr_type_t *slot = NULL; +using namespace xe::cpu::ppc; + + +InstrType* xe::cpu::ppc::GetInstrType(uint32_t code) { + InstrType* slot = NULL; switch (code >> 26) { case 4: // Opcode = 4, index = bits 5-0 (6) - slot = &xe_ppc_instr_table_4[XESELECTBITS(code, 0, 5)]; + slot = &xe::cpu::ppc::tables::instr_table_4[XESELECTBITS(code, 0, 5)]; break; case 19: // Opcode = 19, index = bits 10-1 (10) - slot = &xe_ppc_instr_table_19[XESELECTBITS(code, 1, 10)]; + slot = &xe::cpu::ppc::tables::instr_table_19[XESELECTBITS(code, 1, 10)]; break; case 30: // Opcode = 30, index = bits 5-1 (5) - slot = &xe_ppc_instr_table_30[XESELECTBITS(code, 1, 5)]; + slot = &xe::cpu::ppc::tables::instr_table_30[XESELECTBITS(code, 1, 5)]; break; case 31: // Opcode = 31, index = bits 10-1 (10) - slot = &xe_ppc_instr_table_31[XESELECTBITS(code, 1, 10)]; + slot = &xe::cpu::ppc::tables::instr_table_31[XESELECTBITS(code, 1, 10)]; break; case 58: // Opcode = 58, index = bits 1-0 (2) - slot = &xe_ppc_instr_table_58[XESELECTBITS(code, 0, 1)]; + slot = &xe::cpu::ppc::tables::instr_table_58[XESELECTBITS(code, 0, 1)]; break; case 59: // Opcode = 59, index = bits 5-1 (5) - slot = &xe_ppc_instr_table_59[XESELECTBITS(code, 1, 5)]; + slot = &xe::cpu::ppc::tables::instr_table_59[XESELECTBITS(code, 1, 5)]; break; case 62: // Opcode = 62, index = bits 1-0 (2) - slot = &xe_ppc_instr_table_62[XESELECTBITS(code, 0, 1)]; + slot = &xe::cpu::ppc::tables::instr_table_62[XESELECTBITS(code, 0, 1)]; break; case 63: // Opcode = 63, index = bits 10-1 (10) - slot = &xe_ppc_instr_table_63[XESELECTBITS(code, 1, 10)]; + slot = &xe::cpu::ppc::tables::instr_table_63[XESELECTBITS(code, 1, 10)]; break; default: - slot = &xe_ppc_instr_table[XESELECTBITS(code, 26, 31)]; + slot = &xe::cpu::ppc::tables::instr_table[XESELECTBITS(code, 26, 31)]; break; } if (!slot || !slot->opcode) { @@ -57,8 +60,8 @@ xe_ppc_instr_type_t *xe_ppc_get_instr_type(uint32_t code) { return slot; } -int xe_ppc_register_instr_emit(uint32_t code, xe_ppc_emit_fn emit) { - xe_ppc_instr_type_t *instr_type = xe_ppc_get_instr_type(code); +int xe::cpu::ppc::RegisterInstrEmit(uint32_t code, InstrEmitFn emit) { + InstrType* instr_type = GetInstrType(code); if (!instr_type) { return 1; } diff --git a/src/cpu/ppc/instr_ctx.h b/src/cpu/ppc/instr_ctx.h index 23675d29e..846a15744 100644 --- a/src/cpu/ppc/instr_ctx.h +++ b/src/cpu/ppc/instr_ctx.h @@ -13,28 +13,47 @@ #include -typedef struct { - llvm::LLVMContext *context; - llvm::Module *module; +namespace xe { +namespace cpu { +namespace ppc { + + +class InstrContext { + using namespace llvm; +public: + InstrContext(); + + Value* cia(); + Value* nia(); + void set_nia(Value* value); + Value* spr(uint32_t n); + void set_spr(uint32_t n, Value* value); + + Value* cr(); + void set_cr(Value* value); + + Value* gpr(uint32_t n); + void set_gpr(uint32_t n, Value* value); + + Value* get_memory_addr(uint32_t addr); + Value* read_memory(Value* addr, uint32_t size, bool extend); + void write_memory(Value* addr, uint32_t size, Value* value); + + LLVMContext& context; + Module& module; + // TODO(benvanik): IRBuilder/etc // Address of the instruction being generated. - uint32_t cia; + uint32_t cia; - llvm::Value *get_cia(); - void set_nia(llvm::Value *value); - llvm::Value *get_spr(uint32_t n); - void set_spr(uint32_t n, llvm::Value *value); +private: + // +}; - llvm::Value *get_cr(); - void set_cr(llvm::Value *value); - llvm::Value *get_gpr(uint32_t n); - void set_gpr(uint32_t n, llvm::Value *value); - - llvm::Value *get_memory_addr(uint32_t addr); - llvm::Value *read_memory(llvm::Value *addr, uint32_t size, bool extend); - void write_memory(llvm::Value *addr, uint32_t size, llvm::Value *value); -} xe_ppc_instr_ctx_t; +} // namespace ppc +} // namespace cpu +} // namespace xe #endif // XENIA_CPU_PPC_INSTR_CTX_H_ diff --git a/src/cpu/ppc/instr_table.h b/src/cpu/ppc/instr_tables.h similarity index 88% rename from src/cpu/ppc/instr_table.h rename to src/cpu/ppc/instr_tables.h index 4541f5942..11306edef 100644 --- a/src/cpu/ppc/instr_table.h +++ b/src/cpu/ppc/instr_tables.h @@ -13,11 +13,16 @@ #include -static xe_ppc_instr_type_t *xe_ppc_instr_table_prep( - xe_ppc_instr_type_t *unprep, int unprep_count, int a, int b) { +namespace xe { +namespace cpu { +namespace ppc { +namespace tables { + + +static InstrType* instr_table_prep( + InstrType* unprep, int unprep_count, int a, int b) { int prep_count = pow(2, b - a + 1); - xe_ppc_instr_type_t *prep = (xe_ppc_instr_type_t*)xe_calloc( - prep_count * sizeof(xe_ppc_instr_type_t)); + InstrType* prep = (InstrType*)xe_calloc(prep_count * sizeof(InstrType)); for (int n = 0; n < unprep_count; n++) { int ordinal = XESELECTBITS(unprep[n].opcode, a, b); prep[ordinal] = unprep[n]; @@ -42,15 +47,15 @@ static xe_ppc_instr_type_t *xe_ppc_instr_table_prep( // PowerISA_V2.06B_V2_PUBLIC.pdf // Opcode = 4, index = bits 5-0 (6) -static xe_ppc_instr_type_t xe_ppc_instr_table_4_unprep[] = { +static InstrType instr_table_4_unprep[] = { // TODO: all of the vector ops INSTRUCTION(vperm, 0x1000002B, VA , General , 0), }; -static xe_ppc_instr_type_t *xe_ppc_instr_table_4 = xe_ppc_instr_table_prep( - xe_ppc_instr_table_4_unprep, XECOUNT(xe_ppc_instr_table_4_unprep), 0, 5); +static InstrType* instr_table_4 = instr_table_prep( + instr_table_4_unprep, XECOUNT(instr_table_4_unprep), 0, 5); // Opcode = 19, index = bits 10-1 (10) -static xe_ppc_instr_type_t xe_ppc_instr_table_19_unprep[] = { +static InstrType instr_table_19_unprep[] = { INSTRUCTION(mcrf, 0x4C000000, XL , General , 0), INSTRUCTION(bclrx, 0x4C000020, XL , BranchCond , 0), INSTRUCTION(crnor, 0x4C000042, XL , General , 0), @@ -64,11 +69,11 @@ static xe_ppc_instr_type_t xe_ppc_instr_table_19_unprep[] = { INSTRUCTION(cror, 0x4C000382, XL , General , 0), INSTRUCTION(bcctrx, 0x4C000420, XL , BranchCond , 0), }; -static xe_ppc_instr_type_t *xe_ppc_instr_table_19 = xe_ppc_instr_table_prep( - xe_ppc_instr_table_19_unprep, XECOUNT(xe_ppc_instr_table_19_unprep), 1, 10); +static InstrType* instr_table_19 = instr_table_prep( + instr_table_19_unprep, XECOUNT(instr_table_19_unprep), 1, 10); // Opcode = 30, index = bits 5-1 (5) -static xe_ppc_instr_type_t xe_ppc_instr_table_30_unprep[] = { +static InstrType instr_table_30_unprep[] = { INSTRUCTION(rldiclx, 0x78000000, MD , General , 0), INSTRUCTION(rldicrx, 0x78000004, MD , General , 0), INSTRUCTION(rldicx, 0x78000008, MD , General , 0), @@ -76,11 +81,11 @@ static xe_ppc_instr_type_t xe_ppc_instr_table_30_unprep[] = { INSTRUCTION(rldclx, 0x78000010, MDS, General , 0), INSTRUCTION(rldcrx, 0x78000012, MDS, General , 0), }; -static xe_ppc_instr_type_t *xe_ppc_instr_table_30 = xe_ppc_instr_table_prep( - xe_ppc_instr_table_30_unprep, XECOUNT(xe_ppc_instr_table_30_unprep), 1, 5); +static InstrType* instr_table_30 = instr_table_prep( + instr_table_30_unprep, XECOUNT(instr_table_30_unprep), 1, 5); // Opcode = 31, index = bits 10-1 (10) -static xe_ppc_instr_type_t xe_ppc_instr_table_31_unprep[] = { +static InstrType instr_table_31_unprep[] = { INSTRUCTION(cmp, 0x7C000000, X , General , 0), INSTRUCTION(tw, 0x7C000008, X , General , 0), INSTRUCTION(lvsl, 0x7C00000C, X , General , 0), @@ -199,20 +204,20 @@ static xe_ppc_instr_type_t xe_ppc_instr_table_31_unprep[] = { INSTRUCTION(extswx, 0x7C0007B4, X , General , 0), INSTRUCTION(dcbz, 0x7C0007EC, X , General , 0), // 0x7C2007EC = DCBZ128 }; -static xe_ppc_instr_type_t *xe_ppc_instr_table_31 = xe_ppc_instr_table_prep( - xe_ppc_instr_table_31_unprep, XECOUNT(xe_ppc_instr_table_31_unprep), 1, 10); +static InstrType* instr_table_31 = instr_table_prep( + instr_table_31_unprep, XECOUNT(instr_table_31_unprep), 1, 10); // Opcode = 58, index = bits 1-0 (2) -static xe_ppc_instr_type_t xe_ppc_instr_table_58_unprep[] = { +static InstrType instr_table_58_unprep[] = { INSTRUCTION(ld, 0xE8000000, DS , General , 0), INSTRUCTION(ldu, 0xE8000001, DS , General , 0), INSTRUCTION(lwa, 0xE8000002, DS , General , 0), }; -static xe_ppc_instr_type_t *xe_ppc_instr_table_58 = xe_ppc_instr_table_prep( - xe_ppc_instr_table_58_unprep, XECOUNT(xe_ppc_instr_table_58_unprep), 0, 1); +static InstrType* instr_table_58 = instr_table_prep( + instr_table_58_unprep, XECOUNT(instr_table_58_unprep), 0, 1); // Opcode = 59, index = bits 5-1 (5) -static xe_ppc_instr_type_t xe_ppc_instr_table_59_unprep[] = { +static InstrType instr_table_59_unprep[] = { INSTRUCTION(fdivsx, 0xEC000024, A , General , 0), INSTRUCTION(fsubsx, 0xEC000028, A , General , 0), INSTRUCTION(faddsx, 0xEC00002A, A , General , 0), @@ -224,19 +229,19 @@ static xe_ppc_instr_type_t xe_ppc_instr_table_59_unprep[] = { INSTRUCTION(fnmsubsx, 0xEC00003C, A , General , 0), INSTRUCTION(fnmaddsx, 0xEC00003E, A , General , 0), }; -static xe_ppc_instr_type_t *xe_ppc_instr_table_59 = xe_ppc_instr_table_prep( - xe_ppc_instr_table_59_unprep, XECOUNT(xe_ppc_instr_table_59_unprep), 1, 5); +static InstrType* instr_table_59 = instr_table_prep( + instr_table_59_unprep, XECOUNT(instr_table_59_unprep), 1, 5); // Opcode = 62, index = bits 1-0 (2) -static xe_ppc_instr_type_t xe_ppc_instr_table_62_unprep[] = { +static InstrType instr_table_62_unprep[] = { INSTRUCTION(std, 0xF8000000, DS , General , 0), INSTRUCTION(stdu, 0xF8000001, DS , General , 0), }; -static xe_ppc_instr_type_t *xe_ppc_instr_table_62 = xe_ppc_instr_table_prep( - xe_ppc_instr_table_62_unprep, XECOUNT(xe_ppc_instr_table_62_unprep), 0, 1); +static InstrType* instr_table_62 = instr_table_prep( + instr_table_62_unprep, XECOUNT(instr_table_62_unprep), 0, 1); // Opcode = 63, index = bits 10-1 (10) -static xe_ppc_instr_type_t xe_ppc_instr_table_63_unprep[] = { +static InstrType instr_table_63_unprep[] = { INSTRUCTION(fcmpu, 0xFC000000, X , General , 0), INSTRUCTION(frspx, 0xFC000018, X , General , 0), INSTRUCTION(fctiwx, 0xFC00001C, X , General , 0), @@ -267,11 +272,11 @@ static xe_ppc_instr_type_t xe_ppc_instr_table_63_unprep[] = { INSTRUCTION(fctidzx, 0xFC00065E, X , General , 0), INSTRUCTION(fcfidx, 0xFC00069C, X , General , 0), }; -static xe_ppc_instr_type_t *xe_ppc_instr_table_63 = xe_ppc_instr_table_prep( - xe_ppc_instr_table_63_unprep, XECOUNT(xe_ppc_instr_table_63_unprep), 1, 10); +static InstrType* instr_table_63 = instr_table_prep( + instr_table_63_unprep, XECOUNT(instr_table_63_unprep), 1, 10); // Main table, index = bits 31-26 (6) : (code >> 26) -static xe_ppc_instr_type_t xe_ppc_instr_table_unprep[64] = { +static InstrType instr_table_unprep[64] = { INSTRUCTION(tdi, 0x08000000, D , General , 0), INSTRUCTION(twi, 0x0C000000, D , General , 0), INSTRUCTION(mulli, 0x1C000000, D , General , 0), @@ -319,12 +324,19 @@ static xe_ppc_instr_type_t xe_ppc_instr_table_unprep[64] = { INSTRUCTION(stfd, 0xD8000000, D , General , 0), INSTRUCTION(stfdu, 0xDC000000, D , General , 0), }; -static xe_ppc_instr_type_t *xe_ppc_instr_table = xe_ppc_instr_table_prep( - xe_ppc_instr_table_unprep, XECOUNT(xe_ppc_instr_table_unprep), 26, 31); +static InstrType* instr_table = instr_table_prep( + instr_table_unprep, XECOUNT(instr_table_unprep), 26, 31); #undef FLAG #undef INSTRUCTION #undef EMPTY + +} // namespace tables +} // namespace ppc +} // namespace cpu +} // namespace xe + + #endif // XENIA_CPU_PPC_INSTR_TABLE_H_ diff --git a/src/cpu/processor.cc b/src/cpu/processor.cc new file mode 100644 index 000000000..e2bcb8e47 --- /dev/null +++ b/src/cpu/processor.cc @@ -0,0 +1,105 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2013 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#include + +#include +#include +#include +#include +#include +#include +#include + + +using namespace llvm; +using namespace xe; +using namespace xe::cpu; +using namespace xe::kernel; + + +Processor::Processor(xe_pal_ref pal, xe_memory_ref memory) { + pal_ = xe_pal_retain(pal); + memory_ = xe_memory_retain(memory); + + LLVMLinkInInterpreter(); + LLVMLinkInJIT(); + InitializeNativeTarget(); +} + +Processor::~Processor() { + // Cleanup all modules. + for (std::vector::iterator it = modules_.begin(); + it != modules_.end(); ++it) { + delete *it; + } + + engine_.reset(); + llvm_shutdown(); + + xe_memory_release(memory_); + xe_pal_release(pal_); +} + +xe_pal_ref Processor::pal() { + return xe_pal_retain(pal_); +} + +xe_memory_ref Processor::memory() { + return xe_memory_retain(memory_); +} + +int Processor::Setup() { + XEASSERTNULL(engine_); + + if (!llvm_start_multithreaded()) { + return 1; + } + + LLVMContext* dummy_context = new LLVMContext(); + Module* dummy_module = new Module("dummy", *dummy_context); + + std::string error_message; + engine_ = shared_ptr( + ExecutionEngine::create(dummy_module, false, &error_message, + CodeGenOpt::Aggressive)); + if (!engine_) { + return 1; + } + + return 0; +} + +int Processor::PrepareModule(UserModule* user_module, + shared_ptr export_resolver) { + ExecModule* exec_module = new ExecModule( + memory_, export_resolver, user_module, engine_); + + if (exec_module->Prepare()) { + delete exec_module; + return 1; + } + + modules_.push_back(exec_module); + + user_module->Dump(export_resolver.get()); + exec_module->Dump(); + + return 0; +} + +int Processor::Execute(uint32_t address) { + // TODO(benvanik): implement execute. + return 0; +} + +uint32_t Processor::CreateCallback(void (*callback)(void* data), void* data) { + // TODO(benvanik): implement callback creation. + return 0; +} diff --git a/src/cpu/sdb.cc b/src/cpu/sdb.cc index 5f8840cc5..601bdd419 100644 --- a/src/cpu/sdb.cc +++ b/src/cpu/sdb.cc @@ -13,151 +13,124 @@ #include -typedef std::map xe_sdb_symbol_map; -typedef std::list xe_sdb_function_queue; - -struct xe_sdb { - xe_ref_t ref; - - xe_memory_ref memory; - - size_t function_count; - size_t variable_count; - xe_sdb_symbol_map *symbols; - xe_sdb_function_queue *scan_queue; -}; +using namespace xe; +using namespace xe::cpu; +using namespace xe::cpu::sdb; +using namespace xe::kernel; -int xe_sdb_analyze_module(xe_sdb_ref sdb, xe_module_ref module); - - -xe_sdb_ref xe_sdb_create(xe_memory_ref memory, xe_module_ref module) { - xe_sdb_ref sdb = (xe_sdb_ref)xe_calloc(sizeof(xe_sdb)); - xe_ref_init((xe_ref)sdb); - - sdb->memory = xe_memory_retain(memory); - - sdb->symbols = new xe_sdb_symbol_map(); - sdb->scan_queue = new xe_sdb_function_queue(); - - XEEXPECTZERO(xe_sdb_analyze_module(sdb, module)); - - return sdb; - -XECLEANUP: - xe_sdb_release(sdb); - return NULL; +SymbolDatabase::SymbolDatabase(xe_memory_ref memory, UserModule* module) { + memory_ = xe_memory_retain(memory); + module_ = module; } -void xe_sdb_dealloc(xe_sdb_ref sdb) { - // TODO(benvanik): release strdup results - - for (xe_sdb_symbol_map::iterator it = sdb->symbols->begin(); it != - sdb->symbols->end(); ++it) { - switch (it->second.type) { - case 0: - delete it->second.function; - break; - case 1: - delete it->second.variable; - break; - } +SymbolDatabase::~SymbolDatabase() { + for (SymbolMap::iterator it = symbols_.begin(); it != symbols_.end(); ++it) { + delete it->second; } - delete sdb->scan_queue; - delete sdb->symbols; - - xe_memory_release(sdb->memory); + xe_memory_release(memory_); } -xe_sdb_ref xe_sdb_retain(xe_sdb_ref sdb) { - xe_ref_retain((xe_ref)sdb); - return sdb; +int SymbolDatabase::Analyze() { + // Iteratively run passes over the db. + // This uses a queue to do a breadth-first search of all accessible + // functions. Callbacks and such likely won't be hit. + + const xe_xex2_header_t *header = module_->xex_header(); + + // Find __savegprlr_* and __restgprlr_*. + FindGplr(); + + // Add each import thunk. + for (size_t n = 0; n < header->import_library_count; n++) { + AddImports(&header->import_libraries[n]); + } + + // Add each export root. + // TODO(benvanik): exports. + // - insert fn or variable + // - queue fn + + // Add method hints, if available. + // Not all XEXs have these. + AddMethodHints(); + + // Queue entry point of the application. + FunctionSymbol* fn = GetOrInsertFunction(header->exe_entry_point); + fn->name = strdup(""); + + // Keep pumping the queue until there's nothing left to do. + FlushQueue(); + + // Do a pass over the functions to fill holes. + FillHoles(); + FlushQueue(); + + return 0; } -void xe_sdb_release(xe_sdb_ref sdb) { - xe_ref_release((xe_ref)sdb, (xe_ref_dealloc_t)xe_sdb_dealloc); -} - -xe_sdb_function_t* xe_sdb_insert_function(xe_sdb_ref sdb, uint32_t address) { - xe_sdb_function_t *fn = xe_sdb_get_function(sdb, address); +FunctionSymbol* SymbolDatabase::GetOrInsertFunction(uint32_t address) { + FunctionSymbol* fn = GetFunction(address); if (fn) { return fn; } printf("add fn %.8X\n", address); - fn = (xe_sdb_function_t*)xe_calloc(sizeof(xe_sdb_function_t)); + fn = new FunctionSymbol(); fn->start_address = address; - xe_sdb_symbol_t symbol; - symbol.type = 0; - symbol.function = fn; - sdb->function_count++; - sdb->symbols->insert(xe_sdb_symbol_map::value_type(address, symbol)); - sdb->scan_queue->push_back(fn); + function_count_++; + symbols_.insert(SymbolMap::value_type(address, fn)); + scan_queue_.push_back(fn); return fn; } -xe_sdb_variable_t* xe_sdb_insert_variable(xe_sdb_ref sdb, uint32_t address) { - xe_sdb_variable_t *var = xe_sdb_get_variable(sdb, address); +VariableSymbol* SymbolDatabase::GetOrInsertVariable(uint32_t address) { + VariableSymbol* var = GetVariable(address); if (var) { return var; } printf("add var %.8X\n", address); - var = (xe_sdb_variable_t*)xe_calloc(sizeof(xe_sdb_variable_t)); + var = new VariableSymbol(); var->address = address; - xe_sdb_symbol_t symbol; - symbol.type = 1; - symbol.variable = var; - sdb->variable_count++; - sdb->symbols->insert(xe_sdb_symbol_map::value_type(address, symbol)); + variable_count_++; + symbols_.insert(SymbolMap::value_type(address, var)); return var; } -xe_sdb_function_t* xe_sdb_get_function(xe_sdb_ref sdb, uint32_t address) { - xe_sdb_symbol_map::iterator i = sdb->symbols->find(address); - if (i != sdb->symbols->end() && - i->second.type == 0) { - return i->second.function; +FunctionSymbol* SymbolDatabase::GetFunction(uint32_t address) { + SymbolMap::iterator i = symbols_.find(address); + if (i != symbols_.end() && i->second->symbol_type == Symbol::Function) { + return static_cast(i->second); } return NULL; } -xe_sdb_variable_t* xe_sdb_get_variable(xe_sdb_ref sdb, uint32_t address) { - xe_sdb_symbol_map::iterator i = sdb->symbols->find(address); - if (i != sdb->symbols->end() && - i->second.type == 1) { - return i->second.variable; +VariableSymbol* SymbolDatabase::GetVariable(uint32_t address) { + SymbolMap::iterator i = symbols_.find(address); + if (i != symbols_.end() && i->second->symbol_type == Symbol::Variable) { + return static_cast(i->second); } return NULL; } -int xe_sdb_get_functions(xe_sdb_ref sdb, xe_sdb_function_t ***out_functions, - size_t *out_function_count) { - xe_sdb_function_t **functions = (xe_sdb_function_t**)xe_malloc( - sizeof(xe_sdb_function_t*) * sdb->function_count); - int n = 0; - for (xe_sdb_symbol_map::iterator it = sdb->symbols->begin(); - it != sdb->symbols->end(); ++it) { - switch (it->second.type) { - case 0: - functions[n++] = it->second.function; - break; +int SymbolDatabase::GetAllFunctions(vector& functions) { + for (SymbolMap::iterator it = symbols_.begin(); it != symbols_.end(); ++it) { + if (it->second->symbol_type == Symbol::Function) { + functions.push_back(static_cast(it->second)); } } - *out_functions = functions; - *out_function_count = sdb->function_count; return 0; } -void xe_sdb_dump(xe_sdb_ref sdb) { +void SymbolDatabase::Dump() { uint32_t previous = 0; - for (xe_sdb_symbol_map::iterator it = sdb->symbols->begin(); - it != sdb->symbols->end(); ++it) { - switch (it->second.type) { - case 0: + for (SymbolMap::iterator it = symbols_.begin(); it != symbols_.end(); ++it) { + switch (it->second->symbol_type) { + case Symbol::Function: { - xe_sdb_function_t *fn = it->second.function; + FunctionSymbol* fn = static_cast(it->second); if (previous && (int)(fn->start_address - previous) > 0) { printf("%.8X-%.8X (%5d) h\n", previous, fn->start_address, fn->start_address - previous); @@ -169,9 +142,9 @@ void xe_sdb_dump(xe_sdb_ref sdb) { previous = fn->end_address + 4; } break; - case 1: + case Symbol::Variable: { - xe_sdb_variable_t *var = it->second.variable; + VariableSymbol* var = static_cast(it->second); printf("%.8X v %s\n", var->address, var->name ? var->name : ""); } @@ -180,7 +153,7 @@ void xe_sdb_dump(xe_sdb_ref sdb) { } } -int xe_sdb_find_gplr(xe_sdb_ref sdb, xe_module_ref module) { +int SymbolDatabase::FindGplr() { // Special stack save/restore functions. // __savegprlr_14 to __savegprlr_31 // __restgprlr_14 to __restgprlr_31 @@ -232,16 +205,16 @@ int xe_sdb_find_gplr(xe_sdb_ref sdb, xe_module_ref module) { }; uint32_t gplr_start = 0; - const xe_xex2_header_t *header = xe_module_get_xex_header(module); + const xe_xex2_header_t* header = module_->xex_header(); for (size_t n = 0, i = 0; n < header->section_count; n++) { - const xe_xex2_section_t *section = &header->sections[n]; - const size_t start_address = header->exe_address + - (i * xe_xex2_section_length); - const size_t end_address = start_address + (section->info.page_count * - xe_xex2_section_length); + const xe_xex2_section_t* section = &header->sections[n]; + const size_t start_address = + header->exe_address + (i * xe_xex2_section_length); + const size_t end_address = + start_address + (section->info.page_count * xe_xex2_section_length); if (section->info.type == XEX_SECTION_CODE) { gplr_start = xe_memory_search_aligned( - sdb->memory, start_address, end_address, + memory_, start_address, end_address, code_values, XECOUNT(code_values)); if (gplr_start) { break; @@ -255,81 +228,82 @@ int xe_sdb_find_gplr(xe_sdb_ref sdb, xe_module_ref module) { // Add function stubs. char name[32]; - uint32_t addr = gplr_start; + uint32_t address = gplr_start; for (int n = 14; n <= 31; n++) { xesnprintf(name, XECOUNT(name), "__savegprlr_%d", n); - xe_sdb_function_t *fn = xe_sdb_insert_function(sdb, addr); + FunctionSymbol* fn = GetOrInsertFunction(address); fn->end_address = fn->start_address + (31 - n) * 4 + 2 * 4; fn->name = xestrdup(name); - fn->type = kXESDBFunctionUser; - addr += 4; + fn->type = FunctionSymbol::User; + address += 4; } - addr = gplr_start + 20 * 4; + address = gplr_start + 20 * 4; for (int n = 14; n <= 31; n++) { xesnprintf(name, XECOUNT(name), "__restgprlr_%d", n); - xe_sdb_function_t *fn = xe_sdb_insert_function(sdb, addr); + FunctionSymbol* fn = GetOrInsertFunction(address); fn->end_address = fn->start_address + (31 - n) * 4 + 3 * 4; fn->name = xestrdup(name); - fn->type = kXESDBFunctionUser; - addr += 4; + fn->type = FunctionSymbol::User; + address += 4; } return 0; } -int xe_sdb_add_imports(xe_sdb_ref sdb, xe_module_ref module, - const xe_xex2_import_library_t *library) { - xe_xex2_ref xex = xe_module_get_xex(module); - xe_xex2_import_info_t *import_infos; +int SymbolDatabase::AddImports(const xe_xex2_import_library_t* library) { + xe_xex2_ref xex = module_->xex(); + xe_xex2_import_info_t* import_infos; size_t import_info_count; if (xe_xex2_get_import_infos(xex, library, &import_infos, &import_info_count)) { + xe_xex2_release(xex); return 1; } char name[64]; for (size_t n = 0; n < import_info_count; n++) { - const xe_xex2_import_info_t *info = &import_infos[n]; - xe_sdb_variable_t *var = xe_sdb_insert_variable(sdb, info->value_address); + const xe_xex2_import_info_t* info = &import_infos[n]; + VariableSymbol* var = GetOrInsertVariable(info->value_address); // TODO(benvanik): use kernel name xesnprintf(name, XECOUNT(name), "__var_%s_%.3X", library->name, info->ordinal); var->name = strdup(name); if (info->thunk_address) { - xe_sdb_function_t *fn = xe_sdb_insert_function(sdb, info->thunk_address); + FunctionSymbol* fn = GetOrInsertFunction(info->thunk_address); // TODO(benvanik): use kernel name xesnprintf(name, XECOUNT(name), "__thunk_%s_%.3X", library->name, info->ordinal); fn->end_address = fn->start_address + 16 - 4; fn->name = strdup(name); - fn->type = kXESDBFunctionKernel; + fn->type = FunctionSymbol::Kernel; } } + xe_xex2_release(xex); return 0; } -int xe_sdb_add_method_hints(xe_sdb_ref sdb, xe_module_ref module) { - xe_module_pe_method_info_t *method_infos; +int SymbolDatabase::AddMethodHints() { + PEMethodInfo* method_infos; size_t method_info_count; - if (xe_module_get_method_hints(module, &method_infos, &method_info_count)) { + if (module_->GetMethodHints(&method_infos, &method_info_count)) { return 1; } for (size_t n = 0; n < method_info_count; n++) { - xe_module_pe_method_info_t *method_info = &method_infos[n]; - xe_sdb_function_t *fn = xe_sdb_insert_function(sdb, method_info->address); + PEMethodInfo* method_info = &method_infos[n]; + FunctionSymbol* fn = GetOrInsertFunction(method_info->address); fn->end_address = method_info->address + method_info->total_length - 4; - fn->type = kXESDBFunctionUser; + fn->type = FunctionSymbol::User; // TODO(benvanik): something with prolog_length? } return 0; } -int xe_sdb_analyze_function(xe_sdb_ref sdb, xe_sdb_function_t *fn) { +int SymbolDatabase::AnalyzeFunction(FunctionSymbol* fn) { // Ignore functions already analyzed. - if (fn->type != kXESDBFunctionUnknown) { + if (fn->type != FunctionSymbol::Unknown) { return 0; } @@ -339,52 +313,21 @@ int xe_sdb_analyze_function(xe_sdb_ref sdb, xe_sdb_function_t *fn) { return 0; } -int xe_sdb_flush_queue(xe_sdb_ref sdb) { - while (sdb->scan_queue->size()) { - xe_sdb_function_t *fn = sdb->scan_queue->front(); - sdb->scan_queue->pop_front(); - if (!xe_sdb_analyze_function(sdb, fn)) { +int SymbolDatabase::FlushQueue() { + while (scan_queue_.size()) { + FunctionSymbol* fn = scan_queue_.front(); + scan_queue_.pop_front(); + if (!AnalyzeFunction(fn)) { return 1; } } return 0; } -int xe_sdb_analyze_module(xe_sdb_ref sdb, xe_module_ref module) { - // Iteratively run passes over the db. - // This uses a queue to do a breadth-first search of all accessible - // functions. Callbacks and such likely won't be hit. - - const xe_xex2_header_t *header = xe_module_get_xex_header(module); - - // Find __savegprlr_* and __restgprlr_*. - xe_sdb_find_gplr(sdb, module); - - // Add each import thunk. - for (size_t n = 0; n < header->import_library_count; n++) { - const xe_xex2_import_library_t *library = &header->import_libraries[n]; - xe_sdb_add_imports(sdb, module, library); - } - - // Add each export root. - // TODO(benvanik): exports. - // - insert fn or variable - // - queue fn - - // Add method hints, if available. - // Not all XEXs have these. - xe_sdb_add_method_hints(sdb, module); - - // Queue entry point of the application. - xe_sdb_function_t *fn = xe_sdb_insert_function(sdb, header->exe_entry_point); - fn->name = strdup(""); - - // Keep pumping the queue until there's nothing left to do. - xe_sdb_flush_queue(sdb); - - // Do a pass over the functions to fill holes. - // TODO(benvanik): hole filling. - xe_sdb_flush_queue(sdb); - +int SymbolDatabase::FillHoles() { + // TODO(benvanik): scan all holes + // If 4b, check if 0x00000000 and ignore (alignment padding) + // If 8b, check if first value is within .text and ignore (EH entry) + // Else, add to scan queue as function? return 0; } diff --git a/src/cpu/sources.gypi b/src/cpu/sources.gypi index 6b330125b..560f4adf8 100644 --- a/src/cpu/sources.gypi +++ b/src/cpu/sources.gypi @@ -2,7 +2,8 @@ { 'sources': [ 'codegen.cc', - 'cpu.cc', + 'exec_module.cc', + 'processor.cc', 'sdb.cc', ], diff --git a/src/kernel/export.cc b/src/kernel/export.cc index ebda11ec8..d194e378a 100644 --- a/src/kernel/export.cc +++ b/src/kernel/export.cc @@ -10,87 +10,62 @@ #include -bool xe_kernel_export_is_implemented(const xe_kernel_export_t *kernel_export) { - if (kernel_export->flags & kXEKernelExportFlagFunction) { - if (kernel_export->function_data.impl) { +using namespace xe; +using namespace xe::kernel; + + +bool KernelExport::IsImplemented() { + switch (type) { + case Function: + if (function_data.impl) { return true; } - } else if (kernel_export->flags & kXEKernelExportFlagVariable) { - if (kernel_export->variable_data) { + break; + case Variable: + if (variable_data) { return true; } + break; } return false; } -typedef struct { - char name[32]; - xe_kernel_export_t *exports; - size_t count; -} xe_kernel_export_table_t; -#define kXEKernelExportResolverTableMaxCount 8 - -struct xe_kernel_export_resolver { - xe_ref_t ref; - - xe_kernel_export_table_t tables[kXEKernelExportResolverTableMaxCount]; - size_t table_count; -}; - - -xe_kernel_export_resolver_ref xe_kernel_export_resolver_create() { - xe_kernel_export_resolver_ref resolver = (xe_kernel_export_resolver_ref) - xe_calloc(sizeof(xe_kernel_export_resolver)); - xe_ref_init((xe_ref)resolver); - - return resolver; +ExportResolver::ExportResolver() { } -void xe_kernel_export_resolver_dealloc(xe_kernel_export_resolver_ref resolver) { +ExportResolver::~ExportResolver() { } -xe_kernel_export_resolver_ref xe_kernel_export_resolver_retain( - xe_kernel_export_resolver_ref resolver) { - xe_ref_retain((xe_ref)resolver); - return resolver; +void ExportResolver::RegisterTable( + const char* library_name, KernelExport* exports, const size_t count) { + ExportTable table; + XEIGNORE(xestrcpya(table.name, XECOUNT(table.name), library_name)); + table.exports = exports; + table.count = count; + tables_.push_back(table); } -void xe_kernel_export_resolver_release(xe_kernel_export_resolver_ref resolver) { - xe_ref_release((xe_ref)resolver, - (xe_ref_dealloc_t)xe_kernel_export_resolver_dealloc); -} - -void xe_kernel_export_resolver_register_table( - xe_kernel_export_resolver_ref resolver, const char *library_name, - xe_kernel_export_t *exports, const size_t count) { - XEASSERT(resolver->table_count + 1 < kXEKernelExportResolverTableMaxCount); - xe_kernel_export_table_t *table = &resolver->tables[resolver->table_count++]; - XEIGNORE(xestrcpya(table->name, XECOUNT(table->name), library_name)); - table->exports = exports; - table->count = count; -} - -xe_kernel_export_t *xe_kernel_export_resolver_get_by_ordinal( - xe_kernel_export_resolver_ref resolver, const char *library_name, - const uint32_t ordinal) { - // TODO(benvanik): binary search everything. - for (size_t n = 0; n < resolver->table_count; n++) { - const xe_kernel_export_table_t *table = &resolver->tables[n]; - if (!xestrcmpa(library_name, table->name)) { - // TODO(benvanik): binary search table. - for (size_t m = 0; m < table->count; m++) { - if (table->exports[m].ordinal == ordinal) { - return &table->exports[m]; +KernelExport* ExportResolver::GetExportByOrdinal(const char* library_name, + const uint32_t ordinal) { + for (std::vector::iterator it = tables_.begin(); + it != tables_.end(); ++it) { + if (!xestrcmp(library_name, it->name)) { + // TODO(benvanik): binary search? + for (size_t n = 0; n < it->count; n++) { + if (it->exports[n].ordinal == ordinal) { + return &it->exports[n]; } } + return NULL; } } return NULL; } -xe_kernel_export_t *xe_kernel_export_resolver_get_by_name( - xe_kernel_export_resolver_ref resolver, const char *library_name, - const char *name) { +KernelExport* ExportResolver::GetExportByName(const char* library_name, + const char* name) { + // TODO(benvanik): lookup by name. + XEASSERTALWAYS(); return NULL; } diff --git a/src/kernel/kernel.cc b/src/kernel/kernel.cc deleted file mode 100644 index c7d94355a..000000000 --- a/src/kernel/kernel.cc +++ /dev/null @@ -1,164 +0,0 @@ -/** - ****************************************************************************** - * Xenia : Xbox 360 Emulator Research Project * - ****************************************************************************** - * Copyright 2013 Ben Vanik. All rights reserved. * - * Released under the BSD license - see LICENSE in the root for more details. * - ****************************************************************************** - */ - -#include - -#include "kernel/modules/modules.h" - - -typedef struct xe_kernel { - xe_ref_t ref; - - xe_kernel_options_t options; - - xe_pal_ref pal; - xe_memory_ref memory; - xe_cpu_ref cpu; - xe_kernel_export_resolver_ref export_resolver; - - struct { - xe_xam_ref xam; - xe_xbdm_ref xbdm; - xe_xboxkrnl_ref xboxkrnl; - } modules; -} xe_kernel_t; - - -xe_kernel_ref xe_kernel_create(xe_pal_ref pal, xe_cpu_ref cpu, - xe_kernel_options_t options) { - xe_kernel_ref kernel = (xe_kernel_ref)xe_calloc(sizeof(xe_kernel)); - xe_ref_init((xe_ref)kernel); - - xe_copy_struct(&kernel->options, &options, sizeof(xe_kernel_options_t)); - - kernel->pal = xe_pal_retain(pal); - kernel->memory = xe_cpu_get_memory(cpu); - kernel->cpu = xe_cpu_retain(cpu); - kernel->export_resolver = xe_kernel_export_resolver_create(); - - kernel->modules.xam = - xe_xam_create(kernel->pal, kernel->memory, kernel->export_resolver); - kernel->modules.xbdm = - xe_xbdm_create(kernel->pal, kernel->memory, kernel->export_resolver); - kernel->modules.xboxkrnl = - xe_xboxkrnl_create(kernel->pal, kernel->memory, kernel->export_resolver); - - return kernel; -} - -void xe_kernel_dealloc(xe_kernel_ref kernel) { - xe_xboxkrnl_release(kernel->modules.xboxkrnl); - xe_xbdm_release(kernel->modules.xbdm); - xe_xam_release(kernel->modules.xam); - - xe_kernel_export_resolver_release(kernel->export_resolver); - xe_cpu_release(kernel->cpu); - xe_memory_release(kernel->memory); - xe_pal_release(kernel->pal); -} - -xe_kernel_ref xe_kernel_retain(xe_kernel_ref kernel) { - xe_ref_retain((xe_ref)kernel); - return kernel; -} - -void xe_kernel_release(xe_kernel_ref kernel) { - xe_ref_release((xe_ref)kernel, (xe_ref_dealloc_t)xe_kernel_dealloc); -} - -xe_pal_ref xe_kernel_get_pal(xe_kernel_ref kernel) { - return xe_pal_retain(kernel->pal); -} - -xe_memory_ref xe_kernel_get_memory(xe_kernel_ref kernel) { - return xe_memory_retain(kernel->memory); -} - -xe_cpu_ref xe_kernel_get_cpu(xe_kernel_ref kernel) { - return xe_cpu_retain(kernel->cpu); -} - -const xechar_t *xe_kernel_get_command_line(xe_kernel_ref kernel) { - return kernel->options.command_line; -} - -xe_kernel_export_resolver_ref xe_kernel_get_export_resolver( - xe_kernel_ref kernel) { - return xe_kernel_export_resolver_retain(kernel->export_resolver); -} - -xe_module_ref xe_kernel_load_module(xe_kernel_ref kernel, - const xechar_t *path) { - xe_module_ref module = xe_kernel_get_module(kernel, path); - if (module) { - return module; - } - - // TODO(benvanik): map file from filesystem - xe_mmap_ref mmap = xe_mmap_open(kernel->pal, kXEFileModeRead, path, 0, 0); - if (!mmap) { - return NULL; - } - void *addr = xe_mmap_get_addr(mmap); - size_t length = xe_mmap_get_length(mmap); - - xe_module_options_t options; - xe_zero_struct(&options, sizeof(xe_module_options_t)); - XEIGNORE(xestrcpy(options.path, XECOUNT(options.path), path)); - module = xe_module_load(kernel->memory, kernel->export_resolver, - addr, length, options); - - // TODO(benvanik): retain memory somehow? is it needed? - xe_mmap_release(mmap); - - if (!module) { - return NULL; - } - - // Prepare the module. - XEEXPECTZERO(xe_cpu_prepare_module(kernel->cpu, module, - kernel->export_resolver)); - - // Stash in modules list (takes reference). - // TODO(benvanik): stash in list. - return xe_module_retain(module); - -XECLEANUP: - xe_module_release(module); - return NULL; -} - -void xe_kernel_launch_module(xe_kernel_ref kernel, xe_module_ref module) { - //const xe_xex2_header_t *xex_header = xe_module_get_xex_header(module); - - // TODO(benvanik): set as main module/etc - // xekXexExecutableModuleHandle = xe_module_get_handle(module); - - // XEEXPECTTRUE(XECPUPrepareModule(XEGetCPU(), module->xex, module->pe, module->address_space, module->address_space_size)); - - // Setup the heap (and TLS?). - // xex_header->exe_heap_size; - - // Launch thread. - // XHANDLE thread_handle; - // XDWORD thread_id; - // XBOOL result = xekExCreateThread(&thread_handle, xex_header->exe_stack_size, &thread_id, NULL, (void*)xex_header->exe_entry_point, NULL, 0); - - // Wait until thread completes. - // XLARGE_INTEGER timeout = XINFINITE; - // xekNtWaitForSingleObjectEx(thread_handle, TRUE, &timeout); -} - -xe_module_ref xe_kernel_get_module(xe_kernel_ref kernel, const xechar_t *path) { - return NULL; -} - -void xe_kernel_unload_module(xe_kernel_ref kernel, xe_module_ref module) { - // -} diff --git a/src/kernel/modules/modules.h b/src/kernel/modules/modules.h index 9429da492..b8a40da66 100644 --- a/src/kernel/modules/modules.h +++ b/src/kernel/modules/modules.h @@ -10,8 +10,8 @@ #ifndef XENIA_KERNEL_MODULES_H_ #define XENIA_KERNEL_MODULES_H_ -#include "kernel/modules/xam/xam.h" -#include "kernel/modules/xbdm/xbdm.h" -#include "kernel/modules/xboxkrnl/xboxkrnl.h" +#include "kernel/modules/xam/xam_module.h" +#include "kernel/modules/xbdm/xbdm_module.h" +#include "kernel/modules/xboxkrnl/xboxkrnl_module.h" #endif // XENIA_KERNEL_MODULES_H_ diff --git a/src/kernel/modules/xam/sources.gypi b/src/kernel/modules/xam/sources.gypi index 5e1ec7e67..5e9fb53e5 100644 --- a/src/kernel/modules/xam/sources.gypi +++ b/src/kernel/modules/xam/sources.gypi @@ -1,6 +1,6 @@ # Copyright 2013 Ben Vanik. All Rights Reserved. { 'sources': [ - 'xam.cc', + 'xam_module.cc', ], } diff --git a/src/kernel/modules/xam/xam.cc b/src/kernel/modules/xam/xam.cc deleted file mode 100644 index dcce72062..000000000 --- a/src/kernel/modules/xam/xam.cc +++ /dev/null @@ -1,42 +0,0 @@ -/** - ****************************************************************************** - * Xenia : Xbox 360 Emulator Research Project * - ****************************************************************************** - * Copyright 2013 Ben Vanik. All rights reserved. * - * Released under the BSD license - see LICENSE in the root for more details. * - ****************************************************************************** - */ - -#include "kernel/modules/xam/xam.h" - -#include "kernel/modules/xam/xam_table.h" - - -struct xe_xam { - xe_ref_t ref; -}; - - -xe_xam_ref xe_xam_create( - xe_pal_ref pal, xe_memory_ref memory, - xe_kernel_export_resolver_ref export_resolver) { - xe_xam_ref module = (xe_xam_ref)xe_calloc(sizeof(xe_xam)); - xe_ref_init((xe_ref)module); - - xe_kernel_export_resolver_register_table(export_resolver, "xam.xex", - xe_xam_export_table, XECOUNT(xe_xam_export_table)); - - return module; -} - -void xe_xam_dealloc(xe_xam_ref module) { -} - -xe_xam_ref xe_xam_retain(xe_xam_ref module) { - xe_ref_retain((xe_ref)module); - return module; -} - -void xe_xam_release(xe_xam_ref module) { - xe_ref_release((xe_ref)module, (xe_ref_dealloc_t)xe_xam_dealloc); -} diff --git a/src/kernel/modules/xam/xam_module.cc b/src/kernel/modules/xam/xam_module.cc new file mode 100644 index 000000000..721c76992 --- /dev/null +++ b/src/kernel/modules/xam/xam_module.cc @@ -0,0 +1,28 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2013 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#include "kernel/modules/xam/xam_module.h" + +#include "kernel/modules/xam/xam_table.h" + + +using namespace xe; +using namespace xe::kernel; +using namespace xe::kernel::xam; + + +XamModule::XamModule(xe_pal_ref pal, xe_memory_ref memory, + shared_ptr resolver) : + KernelModule(pal, memory, resolver) { + resolver->RegisterTable( + "xam.xex", xam_export_table, XECOUNT(xam_export_table)); +} + +XamModule::~XamModule() { +} diff --git a/src/kernel/modules/xam/xam.h b/src/kernel/modules/xam/xam_module.h similarity index 67% rename from src/kernel/modules/xam/xam.h rename to src/kernel/modules/xam/xam_module.h index 789d9b004..8900315d5 100644 --- a/src/kernel/modules/xam/xam.h +++ b/src/kernel/modules/xam/xam_module.h @@ -14,18 +14,25 @@ #include #include +#include -struct xe_xam; -typedef struct xe_xam* xe_xam_ref; +namespace xe { +namespace kernel { +namespace xam { -xe_xam_ref xe_xam_create( - xe_pal_ref pal, xe_memory_ref memory, - xe_kernel_export_resolver_ref export_resolver); +class XamModule : public KernelModule { +public: + XamModule(xe_pal_ref pal, xe_memory_ref memory, + shared_ptr resolver); + virtual ~XamModule(); +}; -xe_xam_ref xe_xam_retain(xe_xam_ref module); -void xe_xam_release(xe_xam_ref module); + +} // namespace xam +} // namespace kernel +} // namespace xe #endif // XENIA_KERNEL_MODULES_XAM_H_ diff --git a/src/kernel/modules/xam/xam_table.h b/src/kernel/modules/xam/xam_table.h index 8c153de3a..6aaa9920b 100644 --- a/src/kernel/modules/xam/xam_table.h +++ b/src/kernel/modules/xam/xam_table.h @@ -13,1407 +13,1417 @@ #include +namespace xe { +namespace kernel { +namespace xam { + + #define FLAG(t) kXEKernelExportFlag##t -static xe_kernel_export_t xe_xam_export_table[] = { -XE_DECLARE_EXPORT(xam, 0x00000001, NetDll_WSAStartup, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000002, NetDll_WSACleanup, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000003, NetDll_socket, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000004, NetDll_closesocket, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000005, NetDll_shutdown, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000006, NetDll_ioctlsocket, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000007, NetDll_setsockopt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000008, NetDll_getsockopt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000009, NetDll_getsockname, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000000A, NetDll_getpeername, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000000B, NetDll_bind, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000000C, NetDll_connect, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000000D, NetDll_listen, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000000E, NetDll_accept, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000000F, NetDll_select, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000010, NetDll_WSAGetOverlappedResult, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000011, NetDll_WSACancelOverlappedIO, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000012, NetDll_recv, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000013, NetDll_WSARecv, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000014, NetDll_recvfrom, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000015, NetDll_WSARecvFrom, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000016, NetDll_send, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000017, NetDll_WSASend, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000018, NetDll_sendto, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000019, NetDll_WSASendTo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000001A, NetDll_inet_addr, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000001B, NetDll_WSAGetLastError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000001C, NetDll_WSASetLastError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000001D, NetDll_WSACreateEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000001E, NetDll_WSACloseEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000001F, NetDll_WSASetEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000020, NetDll_WSAResetEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000021, NetDll_WSAWaitForMultipleEvents, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000022, NetDll___WSAFDIsSet, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000023, NetDll_WSAEventSelect, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000024, NetDll_WSAStartupEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000033, NetDll_XNetStartup, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000034, NetDll_XNetCleanup, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000035, NetDll_XNetRandom, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000036, NetDll_XNetCreateKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000037, NetDll_XNetRegisterKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000038, NetDll_XNetUnregisterKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000039, NetDll_XNetXnAddrToInAddr, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000003A, NetDll_XNetServerToInAddr, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000003B, NetDll_XNetTsAddrToInAddr, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000003C, NetDll_XNetInAddrToXnAddr, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000003D, NetDll_XNetInAddrToServer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000003E, NetDll_XNetInAddrToString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000003F, NetDll_XNetUnregisterInAddr, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000040, NetDll_XNetXnAddrToMachineId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000041, NetDll_XNetConnect, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000042, NetDll_XNetGetConnectStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000043, NetDll_XNetDnsLookup, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000044, NetDll_XNetDnsRelease, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000045, NetDll_XNetQosListen, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000046, NetDll_XNetQosLookup, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000047, NetDll_XNetQosServiceLookup, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000048, NetDll_XNetQosRelease, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000049, NetDll_XNetGetTitleXnAddr, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000004A, NetDll_XNetGetDebugXnAddr, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000004B, NetDll_XNetGetEthernetLinkStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000004C, NetDll_XNetGetBroadcastVersionStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000004D, NetDll_XNetQosGetListenStats, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000004E, NetDll_XNetGetOpt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000004F, NetDll_XNetSetOpt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000050, NetDll_XNetStartupEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000051, NetDll_XNetReplaceKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000052, NetDll_XNetGetXnAddrPlatform, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000053, NetDll_XNetGetSystemLinkPort, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000054, NetDll_XNetSetSystemLinkPort, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000065, NetDll_XnpLoadConfigParams, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000066, NetDll_XnpSaveConfigParams, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000067, NetDll_XnpConfigUPnP, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000068, NetDll_XnpConfig, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000069, NetDll_XnpGetConfigStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000006A, NetDll_XnpLoadMachineAccount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000006B, NetDll_XnpSaveMachineAccount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000006C, NetDll_XnpCapture, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000006D, NetDll_XnpEthernetInterceptSetCallbacks, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000006E, NetDll_XnpEthernetInterceptXmit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000006F, NetDll_XnpEthernetInterceptRecv, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000070, NetDll_XnpLogonGetStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000071, NetDll_XnpLogonGetQFlags, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000072, NetDll_XnpLogonSetQFlags, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000073, NetDll_XnpLogonSetQEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000074, NetDll_XnpLogonClearQEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000075, NetDll_XnpLogonGetQVals, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000076, NetDll_XnpLogonSetQVals, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000077, NetDll_XnpLogonSetPState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000078, NetDll_XnpGetVlanXboxName, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000079, NetDll_XnpSetVlanXboxName, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000007A, NetDll_XnpGetActiveSocketList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000007B, NetDll_XnpNoteSystemTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000007C, NetDll_XnpRegisterKeyForCallerType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000007D, NetDll_XnpUnregisterKeyForCallerType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000007E, NetDll_XnpLogonGetChallenge, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000007F, NetDll_XnpLogonClearChallenge, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000080, NetDll_XnpLogonSetChallengeResponse, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000081, NetDll_XnpGetSecAssocList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000082, NetDll_XnpGetKeyList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000083, NetDll_XnpGetQosLookupList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000084, NetDll_XnpPersistTitleState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000085, NetDll_XnpReplaceKeyForCallerType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000086, NetDll_XnpEthernetInterceptSetExtendedReceiveCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000087, NetDll_XnpQosHistoryLoad, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000088, NetDll_XnpQosHistorySaveMeasurements, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000089, NetDll_XnpQosHistoryGetEntries, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000008A, NetDll_XnpQosHistoryGetAggregateMeasurement, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000008B, NetDll_XnpToolSetCallbacks, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000008C, NetDll_XnpToolIpProxyInject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000008D, NetDll_XnpUpdateConfigParams, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000008E, NetDll_XnpEthernetInterceptXmitAsIp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000097, NetDll_XmlDownloadStart, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000098, NetDll_XmlDownloadContinue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000099, NetDll_XmlDownloadStop, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000009A, NetDll_XmlDownloadGetParseTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000009B, NetDll_XmlDownloadGetReceivedDataSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000C6, XnpGetXwppMemoryLogSnapshot, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000C7, XnpGetXwppRuntimeFilter, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000C9, NetDll_XHttpStartup, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000CA, NetDll_XHttpShutdown, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000CB, NetDll_XHttpOpen, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000CC, NetDll_XHttpCloseHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000CD, NetDll_XHttpConnect, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000CE, NetDll_XHttpSetStatusCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000CF, NetDll_XHttpOpenRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000D0, NetDll_XHttpOpenRequestUsingMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000D1, NetDll_XHttpSendRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000D2, NetDll_XHttpReceiveResponse, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000D3, NetDll_XHttpQueryHeaders, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000D4, NetDll_XHttpReadData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000D5, NetDll_XHttpWriteData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000D6, NetDll_XHttpQueryOption, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000D7, NetDll_XHttpSetOption, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000D8, NetDll_XHttpDoWork, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000D9, NetDll_XHttpSetCredentials, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000DA, NetDll_XHttpQueryAuthSchemes, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000DB, NetDll_XHttpCrackUrl, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000FB, NetDll_UpnpStartup, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000FC, NetDll_UpnpCleanup, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000FD, NetDll_UpnpSearchCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000FE, NetDll_UpnpSearchGetDevices, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000000FF, NetDll_UpnpDescribeCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000100, NetDll_UpnpDescribeGetResults, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000101, NetDll_UpnpActionCalculateWorkBufferSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000102, NetDll_UpnpActionCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000103, NetDll_UpnpActionGetResults, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000104, NetDll_UpnpEventCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000105, NetDll_UpnpEventGetCurrentState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000106, NetDll_UpnpEventUnsubscribe, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000107, NetDll_UpnpDoWork, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000108, NetDll_UpnpCloseHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000012D, XNetLogonGetLoggedOnUsers, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000012E, XNetLogonGetNatType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000012F, XNetLogonTaskStart, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000130, XNetLogonTaskClose, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000131, XNetLogonTaskContinue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000132, XNetLogonGetServiceInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000133, XNetLogonGetUserPrivileges, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000134, XNetLogonSetConsoleCertificate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000135, XNetLogonGetMachineID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000136, XNetLogonGetTitleID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000137, XNetLogonGetTitleVersion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000138, XNetLogonGetServiceNetworkID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000139, XNetLogonGetDnsString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000013A, XNetLogonSetTitleID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000013B, XNetLogonGetExtendedStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000013C, XNetLogonClearTicketCaches, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000013D, XNetLogonInitOverrideInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000013E, XNetLogonGetLastUPnPStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000013F, XNetLogonGetFlowToken, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000140, XNetLogonGetTicketOpt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000141, XNetLogonSetTicketOpt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000190, XamInputGetCapabilities, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000191, XamInputGetState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000192, XamInputSetState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000193, XamInputGetKeystroke, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000194, XamInputEnableAutobind, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000195, XamInputRawState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000196, XamEnableSystemAppInput, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000197, XamInputGetDeviceStats, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000198, XamInputGetKeystrokeEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000199, XamInputGetKeystrokeHud, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000019A, XamInputSetLayoutKeyboard, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000019B, XamInputToggleKeyLocks, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000019C, XamInputResetLayoutKeyboard, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000019D, XamInputGetKeystrokeHudEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000019E, XamInputSetKeyboardTranslationHud, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000019F, XamSetInactivityTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001A0, XamEnableInactivityProcessing, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001A1, XamResetInactivity, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001A2, XamSetInactivityTimeFromConfig, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001A3, XamLoaderGetMediaInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001A4, XamLoaderLaunchTitle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001A5, XamLoaderLaunchTitleEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001A6, XamLoaderSetLaunchData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001A7, XamLoaderGetLaunchDataSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001A8, XamLoaderGetLaunchData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001A9, XamLoaderTerminateTitle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001AA, XamLoaderGetDvdTrayState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001AB, XamLoaderGetGameInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001AC, XamLoaderLaunchTitleOnDvd, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001AD, XamLoaderSetSpindleSpeed, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001AE, XamTaskCreateQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001AF, XamTaskSchedule, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001B0, XamTaskReschedule, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001B1, XamTaskCloseHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001B2, XamTaskCancel, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001B3, XamTaskShouldExit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001B4, XamTaskWaitOnCompletion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001B5, XamTaskModify, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001B6, XamTaskGetCurrentTask, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001B7, XamTaskGetAttributes, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001B8, XamExecutingOnBehalfOfTitle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001B9, XamInputSendStayAliveRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001BA, XamInputGetUserVibrationLevel, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001BB, XamIsSystemTitleId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001BC, XamLoaderIsTitleTerminatePending, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001BD, XamInputSetTextMessengerIndicator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001BE, XamLoaderGetPriorTitleId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001BF, XamIsXbox1TitleId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001C0, XamInputSetKeyLocks, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001C1, XamInputGetKeyLocks, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001C2, XamTaskGetStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001C3, XamGetRootObj, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001C4, XamDevAuthSetFault, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001C5, XamGetDefaultSystemImage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001C6, XamGetWCNConfigFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001C7, XamSetPowerMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001C8, XamExecuteChallenge, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001C9, XamGetDefaultImage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001CA, XamMuteSound, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001CB, XamGetOnlineSchema, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001CC, XamSetDashContext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001CD, XamGetDashContext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001CE, XamIsCurrentTitleDash, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001CF, XamGetCurrentTitleId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001D0, XamSetCurrentTitleDash, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001D1, XamAllocHeapFreeSpace, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001D2, XamSetDashContextEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001D3, XamGetDashContextEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001D4, XamSetHudContext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001D5, XamGetHudContext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001D6, XCustomGetBannerImage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001D7, Refresh, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001D8, XCustomSetAction, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001D9, XCustomGetLastActionPress, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001DA, XCustomSetDynamicActions, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001DB, XCustomBroadcastActionEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001DC, XCustomGetLastActionPressEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001DD, XCustomRegisterDynamicActions, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001DE, XCustomUnregisterDynamicActions, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001DF, XCustomGetCurrentGamercard, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001E0, XamDbgPrint, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001E1, XamDbgSetOutputLevel, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001E2, XamDbgSetBreakLevel, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001E3, XamLoaderGetMediaInfoEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001E4, XamLoaderSetGameInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001E5, XamFormatMessage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001E6, XamUniSortCmpString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001E7, XamFormatTimeString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001E8, XamFormatDateString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001E9, XamGetLocaleDateFormat, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001EA, XamAlloc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001EB, XamAllocEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001EC, XamFree, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001ED, XamAllocSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001EE, XamAllocMountIPTVHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001EF, XamAllocUnmountIPTVHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001F0, XamAllocFreeIPTVHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001F1, XamDeviceRemap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001F2, XamLoaderGetClearCache, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001F3, XamLoaderSetClearCache, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001F4, XMsgInProcessCall, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001F5, XMsgCompleteIORequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001F6, XMsgSystemProcessCall, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001F7, XMsgStartIORequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001F8, XMsgCancelIORequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001F9, XMsgAcquireAsyncMessageFromOverlapped, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001FA, XMsgReleaseAsyncMessageToOverlapped, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001FB, XamGetOverlappedResult, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001FC, XMsgStartIORequestEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001FD, XamAppAllocateInterappWorkspace, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001FE, XamAppGetInterappWorkspace, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000001FF, XamAppFreeInterappWorkspace, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000200, XamFeatureEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000201, XamFeatureEnforceImageBudget, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000202, XamFeatureSetMask, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000203, XamFeatureEnableDisable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000204, XuiControlSetItemAssociation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000205, XamGetTitleGlobalStorageValue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000206, XamSetTitleGlobalStorageValue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000207, XamUserValidateAvatarManifest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000208, XamUserGetDeviceContext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000209, XamUserLookupDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000020A, XamUserGetXUID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000020B, XamUserLogon, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000020C, XamUserGetGamerTag, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000020D, XamUserGetUserIndexMask, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000020E, XamUserGetName, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000020F, XamLookupCommonStringByIndex, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000210, XamUserGetSigninState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000211, XamUserGetIndexFromXUID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000212, XamUserCheckPrivilege, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000213, XamUserAreUsersFriends, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000214, XamSetUserPresetPresenceState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000215, XamGetUserPresetPresenceState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000216, XamUserGetUserFlagsFromXUID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000217, XamUserGetMembershipTierFromXUID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000218, XamUserGetOnlineCountryFromXUID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000219, XamUserReadProfileSettings, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000021A, XamUserWriteProfileSettings, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000021B, XamUserGetMembershipTier, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000021C, XamUserGetUserFlags, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000021D, XamUserGetRequestedUserIndexMask, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000021E, XamUserIsGuest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000021F, XamUserProfileSync, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000220, XamUserFlushLogonQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000221, XamUserIsOnlineEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000222, XamUserGetCachedUserFlags, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000223, XamAreMixedAccountsSignedIn, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000224, XamUserLogonEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000225, XamSetUserShowMessengerFriends, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000226, XamGetUserShowMessengerFriends, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000227, XamUserGetSigninInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000228, XamUserIsPartial, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000229, XamUserGetOnlineLanguageFromXUID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000022A, XamUserReadProfileSettingsEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000022B, XamSystemUpdaterLogon, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000022C, XamUserGetUsersMissingAvatars, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000022D, XamIsChildAccountSignedIn, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000022E, XamUserPrefetchProfileSettings, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000022F, XamUserInvalidateProfileSetting, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000230, XamProfileCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000231, XamProfileCreateEnumerator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000232, XamProfileEnumerate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000233, XamProfileDelete, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000234, XamProfileGetCreationStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000235, XamProfileFindAccount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000236, XamProfileRenameAccount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000237, XamProfileOpen, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000238, XamProfileClose, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000239, XamProfileSaveAccountInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000023A, XamProfileLoadAccountInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000023B, XamProfileRecoverTitle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000023C, XamProfileSaveWindowsLiveCredentials, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000023D, XamProfileLoadWindowsLiveCredentials, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000023E, XamProfileIsSaveWindowsLiveCredsEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000023F, XamProfileSetSaveWindowsLiveCredsEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000240, XamSetProfileReadTestHook, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000241, XamProfileGetLastSync, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000242, XamAccountRecoveryRecoverTitle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000243, XamProfileControlPec, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000244, XamAppLoad, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000245, XamAppUnloadSelf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000246, XamAppUnloadStack, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000247, XamSendMessageToLoadedApps, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000248, XamAppRequestLoad, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000249, XamAppUnrequestLoad, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000024A, XamNavigate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000024B, XamRegisterSysApp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000024C, XamUnregisterSysApp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000024D, XamAppReinitialize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000024E, XamCreateEnumeratorHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000024F, XamGetPrivateEnumStructureFromHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000250, XamEnumerate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000251, XamLoadSysApp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000252, XamUnloadSysApp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000253, XamReloadSysApp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000254, XamAppLoadPass2SysApps, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000255, XamProfileGetLiveLegalLocale, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000256, XamUserIsParentalControlled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000257, XamContentLaunchImageFromFileInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000258, XamContentCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000259, XamContentCreateEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000025A, XamContentClose, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000025B, XamContentDelete, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000025C, XamContentCreateEnumerator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000025D, XamContentCreateDeviceEnumerator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000025E, XamContentGetDeviceData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000025F, XamContentGetDeviceName, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000260, XamContentSetThumbnail, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000261, XamContentGetThumbnail, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000262, XamContentGetCreator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000263, XamContentLaunchImage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000264, XamContentGetAttributes, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000265, XamContentGetDeviceState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000266, XamContentGetLicenseMask, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000267, XamContentFlush, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000268, XamContentResolve, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000269, XamContentOpenFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000026A, XamContentInstall, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000026B, XamContentLockUnlockPackageHeaders, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000026C, XamContentCopyInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000026D, XamContentMoveInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000026E, XamContentGetMetaDataInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000026F, XamContentCreateEnumeratorInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000270, XamContentDeleteInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000271, XamContentCreateInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000272, XamContentSetThumbnailInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000273, XamContentLaunchImageInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000274, XamContentWritePackageHeader, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000275, XamContentDismountAndClosePackage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000276, XamContentResolveInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000277, XamContentGetAttributesInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000278, XamContentOpenFileInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000279, XamContentAggregateCreateEnumerator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000027A, XamContentCreateAndMountPackage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000027B, XamContentOpenPackageFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000027C, XamContentMountPackage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000027D, XamContentFlushPackage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000027E, XamContentClosePackageFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000027F, XamContentDuplicateFileHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000280, XamGetExecutionId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000281, XamGetGameRatings, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000282, XamGetSystemVersion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000283, XamContentGetLocalizedString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000284, XamContentGetDefaultDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000285, XamContentInstallInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000286, XamContentSetMediaMetaDataInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000287, XamContentGetDeviceSerialNumber, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000288, XamContentGetMountedPackageByRootName, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000289, XamContentRegisterChangeCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000028A, XamNotifyCreateListener, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000028B, XNotifyGetNext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000028C, XNotifyPositionUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000028D, XNotifyDelayUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000028E, XNotifyBroadcast, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000028F, XNotifyRegisterArea, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000290, XNotifyQueueUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000291, XamNotifyCreateListenerInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000292, XNotifyUISetOptions, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000293, XNotifyUIGetOptions, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000294, XamContentLaunchImageInternalEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000295, XamShutdown, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000296, XamAllocDevkitHeapAvailable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000297, XamNotifyCreateListenerRangeInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000298, XNotifyQueueUIEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000299, XamAppRequestLoadEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000029A, XuiPNGTextureLoader, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000029B, XuiRenderGetXuiDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000029C, XuiDefault_False, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000029D, XamUserGetReportingInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000029E, XamUpdateStart, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000029F, XamUpdateGetProgress, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002A0, XamUpdateGetExtenderInstance, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002A1, XamUpdateFinish, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002A2, XamUpdateAttachExtenderInstance, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002A3, XamUpdateAllocateExtenderBuffer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002A4, XamRestartTitleLoadAfterUpdate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002A5, XamUIThreadDisableFontPatching, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002A6, XamUpdateGetBaseSystemVersion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002A7, XamUpdateGetCurrentSystemVersion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002A8, XamUIThreadEnableFontPatching, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002A9, XamTerminateTitleForUpdate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002AA, XamSystemUpdateInstallLocal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002AB, XamUpdateChainPass3FromPass2, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002AD, XamInputGetCapabilitiesEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002AE, XamUserIsUnsafeProgrammingAllowed, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002AF, XamDevAuthSetFaultEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002B0, XamUpdateGetData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002B1, XamCacheIntegrityCheck, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002B2, XamCacheStoreFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002B3, XamCacheFetchFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002B4, XamCacheOpenFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002B5, XamCacheCloseFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002B6, XamGetCachedTitleName, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002B7, XamCacheReset, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002B8, XamGetCachedGamerTag, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002B9, XamGetCachedGamerTagW, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002BA, XamCacheDeleteFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002BB, XamCacheRenameFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002BC, XamShowSigninUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002BD, XamShowSigninUIEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002BE, XamShowSigninUIp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002BF, XamShowFriendsUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002C0, XamShowMessagesUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002C1, XamShowKeyboardUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002C2, XamShowQuickChatUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002C3, XamShowVoiceMailUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002C4, XamShowGamerCardUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002C5, XamShowAchievementsUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002C6, XamShowPlayerReviewUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002C7, XamShowMarketplaceUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002C8, XamShowPlayersUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002C9, XamShowUpdaterUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002CA, XamShowMessageBoxUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002CB, XamShowDeviceSelectorUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002CC, XamShowMessageComposeUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002CD, XamShowGameInviteUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002CE, XamShowFriendRequestUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002CF, XamShowCreateProfileUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002D0, XamShowGamesUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002D1, XamShowLiveSignupUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002D2, XamShowFriendsUIp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002D3, XamShowComplaintUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002D4, XamShowReputationUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002D5, XamShowGamerCardUIForXUID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002D6, XamShowForcedNameChangeUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002D7, XamShowLiveUpsellUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002D8, XamShowPasscodeVerifyUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002D9, XamShowDirtyDiscErrorUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002DA, XamShowSignupCreditCardUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002DB, XamShowPrivateChatInviteUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002DC, XamShowMessageBoxUIEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002DD, XamShowRecentMessageUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002DE, XamShowRecentMessageUIEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002DF, XamShowMessagesUIEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002E0, XamShowAchievementDetailsUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002E1, XamShowPersonalizationUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002E2, XamShowChangeGamerTileUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002E3, XamShowVoiceSettingsUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002E4, XamShowVideoChatInviteUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002E5, XamShowCustomMessageComposeUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002E6, XamShowCustomPlayerListUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002E7, XamShowMarketplaceDownloadItemsUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002E8, XamShowMarketplaceUIEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002E9, XamShowMessageBox, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002EA, XamIsSysUiInvokedByXenonButton, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002EB, XamIsSysUiInvokedByTitle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002EC, XamIsUIActive, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002ED, XamSysUiDisableAutoClose, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002EE, XamUserCreateAchievementEnumerator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002EF, XamReadTile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002F0, XamWriteGamerTile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002F1, XamWriteTile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002F2, XamReadImage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002F3, XamUserCreateTitlesPlayedEnumerator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002F4, XamDecompressPNGToTexture, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002F5, XamReadTileToTexture, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002F6, XamReadString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002F7, XamUserCreateStatsEnumerator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002F8, XamPrepareGamerTiles, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002F9, XamClearTitle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002FA, XamReadStrings, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002FB, XamWriteGamerTileEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002FC, XamReadTileEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002FD, XamReadTileToTextureEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002FE, XamShowMessengerUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000002FF, XamShowKeyboardUIMessenger, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000300, XamShowLiveUpsellUIEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000301, XamShowJoinSessionInProgressUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000302, XamShowGraduateUserUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000303, XamShowGamerCardUIForXUIDp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000304, XamShowGuideUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000305, XamShowPartyUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000306, XamShowPartyInviteUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000307, XamUserAddRecentPlayer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000308, XamUserUpdateRecentPlayer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000309, XamUserCreatePlayerEnumerator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000030A, XamParseGamerTileKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000030B, XamShowCommunitySessionsUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000030C, XamVoiceCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000030D, XamVoiceHeadsetPresent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000030E, XamVoiceSubmitPacket, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000030F, XamVoiceClose, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000310, XamVoiceGetBatteryStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000311, Refresh, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000312, Refresh, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000313, XamShowJoinSessionByIdInProgressUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000314, XamShowPartyJoinInProgressUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000315, XamBuildSharedSystemResourceLocator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000316, XamSessionCreateHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000317, XamSessionRefObjByHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000318, XamVoiceGetMicArrayStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000319, XamVoiceSetAudioCaptureRoutine, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000031A, XamVoiceGetDirectionalData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000031B, XamBuildResourceLocator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000031C, XamBuildSharedSystemResourceLocator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000031D, XamBuildGamercardResourceLocator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000031E, XamBuildDynamicResourceLocator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000031F, XamBuildXamResourceLocator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000320, XuiAnimRun, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000321, XuiApplyLocale, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000322, XuiBubbleMessage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000323, XuiControlIsBackButton, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000324, XuiControlIsNavButton, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000325, XuiCreateObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000326, XuiDestroyObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000327, XuiDynamicCast, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000328, XuiElementAddChild, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000329, XuiElementFindNamedFrame, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000032A, XuiElementGetChildById, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000032B, XuiElementGetFirstChild, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000032C, XuiElementGetFocus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000032D, XuiElementGetFocusUser, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000032E, XuiElementGetId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000032F, XuiElementGetLastChild, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000330, XuiElementGetNext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000331, XuiElementGetParent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000332, XuiElementGetUserFocus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000333, XuiElementInitFocus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000334, XuiElementInitUserFocus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000335, XuiElementPlayTimeline, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000336, XuiElementSetBounds, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000337, XuiElementSetFocus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000338, XuiElementSetUserFocus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000339, XuiElementTreeGetFocus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000033A, XuiFindClass, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000033B, XuiFreeStringTable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000033C, XuiGetBaseObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000033D, XuiGetClass, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000033E, XuiGetObjectClass, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000033F, XuiGetOuter, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000340, XuiInit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000341, XuiLoadFromBinary, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000342, XuiLoadStringTableFromFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000343, XuiVisualGetBasePath, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000344, XuiLookupStringTable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000345, XuiNavButtonGetPressPath, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000346, XuiObjectFromHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000347, XuiObjectGetProperty, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000348, XuiObjectGetPropertyId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000349, XuiProcessInput, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000034A, XuiRegisterClass, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000034B, XuiRenderBegin, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000034C, XuiRenderCreateDC, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000034D, XuiRenderDCDeviceChanged, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000034E, XuiRenderDestroyDC, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000034F, XuiRenderEnd, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000350, XuiRenderGetBackBufferSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000351, XuiRenderInit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000352, XuiRenderInitShared, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000353, XuiRenderPresent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000354, XuiRenderSetViewTransform, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000355, XuiRenderUninit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000356, XamShowNuiGuideUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000357, XuiSceneCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000358, XuiSceneNavigateBack, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000359, XuiSceneNavigateFirst, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000035A, XuiSceneNavigateForward, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000035B, XuiScenePlayBackFromTransition, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000035C, XuiScenePlayBackToTransition, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000035D, XuiScenePlayFromTransition, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000035E, XuiScenePlayToTransition, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000035F, XuiSendMessage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000360, XuiSetLocale, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000361, XuiUninit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000362, XuiUnregisterClass, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000363, XuiTextElementSetText, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000364, XuiSetTimer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000365, XuiTimersRun, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000366, XuiTextElementGetText, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000367, XuiVisualSetBasePath, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000368, XuiHandleIsValid, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000369, XuiAlloc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000036A, XuiFree, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000036B, XuiDefault_True, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000036C, XuiDefault_EmptyString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000036D, XuiDefault_IntegerZero, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000036E, XuiCopyString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000036F, XuiRealloc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000370, XuiControlPlayOptionalVisual, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000371, XuiKillTimer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000372, XuiElementEnableInput, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000373, XuiElementInputEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000374, XuiIsInstanceOf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000375, XuiResourceComposeLocator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000376, XuiResourceLocatorIsAbsolute, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000377, XuiBroadcastMessage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000378, XuiElementDisallowRecursiveTimelineControl, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000379, XUIElementPropVal_Construct, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000037A, XUIElementPropVal_Destruct, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000037B, XUIElementPropVal_SetString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000037C, XuiObjectSetProperty, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000037D, XuiElementGetOpacity, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000037E, XuiElementSetOpacity, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000037F, XuiEditSetTextLimit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000380, XuiEditGetTextLimit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000381, XuiSliderSetValue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000382, XuiSliderGetValue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000383, XuiSliderSetRange, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000384, XuiElementUnlink, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000385, XuiElementInsertChild, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000386, XuiSceneNavigateBackToFirst, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000387, XuiProgressBarSetRange, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000388, XuiProgressBarSetValue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000389, XuiProgressBarGetValue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000038A, XuiControlAttachVisual, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000038B, XuiCreateTextureBrush, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000038C, XuiDestroyBrush, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000038D, XUIElementPropVal_SetColorFromUint, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000038E, XuiFigureSetFill, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000038F, XuiSliderGetRange, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000390, XuiFigureSetTexture, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000391, XuiControlGetItemAssociation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000392, XuiResourceLoadAll, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000393, XuiImageElementSetImagePath, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000394, XuiImageElementGetImagePath, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000395, XuiControlGetVisual, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000396, XuiControlGetNavigation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000397, XuiLookupStringTableByIndex, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000398, XUIElementPropVal_SetBool, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000399, XuiElementHasFocus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000039A, XUIElementPropVal_SetUint, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000039B, XUIElementPropVal_Clear, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000039C, XuiEditSetTextFormatInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000039D, XuiCreateSolidBrush, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000039E, XuiSceneInterruptTransitions, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000039F, XuiResourceOpen, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003A0, XuiResourceRead, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003A1, XuiResourceClose, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003A2, XuiVisualCreateInstance, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003A3, XuiElementGetTimeline, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003A4, GetCodecVersion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003A5, XuiElementIsDescendant, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003A6, XuiSetMessageFilter, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003A7, XuiAttachTextureBrush, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003A8, XuiElementBeginRender, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003A9, XuiElementEndRender, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003AA, XuiDrawShape, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003AB, XuiSelectBrushEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003AC, XuiFigureGetShape, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003AD, XuiFillRect, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003AE, XuiVec2TransformCoord, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003AF, XuiMatrixMultiply, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003B0, XuiElementGetXForm, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003B1, XuiElementSetPosition, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003B2, XuiSelectBrush, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003B3, XuiElementRenderChildren, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003B4, XuiFreeUnusedTextures, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003B5, XuiListEnableItemOverride, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003B6, XuiListGetDefaultItemSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003B7, XuiResourceSeek, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003B8, XuiElementDiscardResources, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003B9, XuiTabSceneGoto, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003BA, XuiTabSceneGetCurrentTab, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003BB, XamShowWhatsOnUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003BC, XamShowEditProfileUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003BD, XamShowStorePickerUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003BE, XamShowTermsOfUseUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003BF, XamShowJoinPartyUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003C0, XamShowWordRegisterUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003C1, XamOverrideHudOpenType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003C2, XamShowAchievementsUIEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003C3, XamUserGetUserTenure, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003C4, XamUserGetSubscriptionType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003C5, XamShowGameVoiceChannelUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003C6, XamShowAvatarAwardsUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003C7, XamShowAvatarAwardGamesUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003C8, XamShowVideoRichPresenceUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003C9, XamHudGetUserIndex, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003CA, XGetAudioFlags, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003CB, XGetAVPack, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003CC, XGetGameRegion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003CD, XGetLanguage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003CE, XapipGetLocale, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003CF, XGetVideoFlags, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003D0, XGetVideoStandard, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003D1, XGetVideoMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003D2, XamGetLanguage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003D3, XUITimeline_Run, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003D4, XamSetAutomation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003D5, XAutomationpBindController, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003D6, XAutomationpUnbindController, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003D7, XAutomationpInputXenonButton, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003D8, XAutomationpInputPress, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003D9, XAutomationpInputSetState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003DA, XamEnableOverdraw, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003DB, g_XuiAutomation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003DC, XamVoiceGetMicArrayAudio, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003DD, XampSystemInput, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003DE, XamInputControl, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003DF, XuiElementGetPosition, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003E0, XamIsMessageBoxActive, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003E1, XamIsBackgroundSceneInTransition, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003E2, XuiElementTreeHasFocus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003E3, XuiFigureClose, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003E4, GamerCardStartup, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003E5, GamerCardCleanup, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003E6, GamerCardRegisterControls, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003E7, GamerCardUnregisterControls, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003E8, RtlFindFirstFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003E9, RtlFindNextFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003EA, RtlGetModuleFileName, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003EB, RtlOutputDebugString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003EC, RtlRemoveDirectory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003ED, RtlSleep, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003EE, RtlGetLastError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003EF, RtlSetLastError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003F0, RtlSetLastNTError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003F1, RtlDebugPrint, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003F2, RtlDebugError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003F3, XDebugWarning, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003F4, RtlDebugTrace, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003F5, RtlDebugEntry, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003F6, RtlDebugExit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003F7, RtlGetAttributesOnHeapAlloc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003F8, RtlSetAttributesOnHeapAlloc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003F9, XuiFigureSetShape, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003FA, RtlCreateHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003FB, RtlDestroyHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003FC, RtlAllocateHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003FD, RtlAllocateHeapSlowly, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003FE, RtlReAllocateHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000003FF, RtlFreeHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000400, RtlFreeHeapSlowly, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000401, RtlSizeHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000402, RtlZeroHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000403, RtlDebugWalkHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000404, RtlWalkHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000405, RtlLockHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000406, RtlUnlockHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000407, RtlValidateHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000408, RtlDebugCompactHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000409, RtlCompactHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000040A, XamAppSetTestOption, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000040B, XamAppReportError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000040C, XamIsNuiUIActive, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000040D, XamVerifyPasscode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000040E, OutputDebugStringA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000040F, DebugBreak, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000410, GetCurrentThreadId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000411, XDebugError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000412, XDebugWarning, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000413, RtlDebugSetLevel, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000414, CloseHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000415, GetTickCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000416, GetLastError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000417, SetFilePointer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000418, SetFilePointerEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000419, SetLastError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000041A, MultiByteToWideChar, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000041B, WideCharToMultiByte, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000041C, ReadFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000041D, FlushFileBuffers, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000041E, WriteFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000041F, OutputDebugStringW, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000420, SetEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000421, XapiFormatTimeOut, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000422, CreateMutexA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000423, OpenMutexA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000424, ReleaseMutex, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000425, WaitForSingleObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000426, WaitForSingleObjectEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000427, GetFileSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000428, GetFileSizeEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000429, XapiDirectoryInformationToFindData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000042A, XapiFormatObjectAttributes, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000042B, ResetEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000042C, wsprintfA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000042D, wsprintfW, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000042E, GetOverlappedResult, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000042F, QueryPerformanceCounter, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000430, QueryPerformanceFrequency, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000431, LocalAlloc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000432, LocalFree, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000433, RaiseException, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000434, RtlUniform, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000435, RtlRandom, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000436, Sleep, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000437, SleepEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000438, XMemSet, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000439, XRegisterThreadNotifyRoutine, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000043A, XGetOverlappedExtendedError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000043B, XGetOverlappedResult, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000043C, CreateThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000043D, ResumeThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000043E, ExitThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000043F, GetTimeZoneInformation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000440, GetSystemTimeAsFileTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000441, SystemTimeToFileTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000442, FileTimeToSystemTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000443, GetSystemTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000444, GetLocalTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000445, CreateDirectoryA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000446, CreateEventA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000447, CreateFileA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000448, DeleteFileA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000449, FindFirstFileA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000044A, FindNextFileA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000044B, GetFileAttributesA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000044C, XamLoaderGetCurrentTitleD3DVersion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000044D, GetFileAttributesExA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000044E, GetModuleHandleA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000044F, GetDiskFreeSpaceExA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000450, CopyFileA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000451, SetEndOfFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000452, XamFamilyAddParentalExemptionToList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000453, XamFamilyIsParentalValidationRequired, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000454, PIXBeginCapture, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000455, PIXEndCapture, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000456, PIXAddCounter, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000457, PIXGetGPUSlot, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000458, SetWaitableTimer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000459, CancelWaitableTimer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000045A, CreateWaitableTimerA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000045B, DuplicateHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000045C, XapipCreateThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000045D, lstrcpyA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000045E, lstrcpyW, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000045F, lstrcpynA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000460, lstrcpynW, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000461, lstrcatA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000462, lstrcatW, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000463, lstrlenA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000464, lstrlenW, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000465, IsBadReadPtr, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000466, IsBadWritePtr, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000467, FileTimeToLocalFileTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000468, XMemCpy, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000469, XMemCpyStreaming, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000046A, XamHudSetUserIndex, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000046B, XamShowNuiTroubleshooterUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000046C, XamTestShowNuiTroubleshooterUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000046D, XamShowPasscodeVerifyUIEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000046E, XamShowNuiAchievementsUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000046F, XamShowNuiCommunitySessionsUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000470, XamShowNuiDeviceSelectorUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000471, XamShowNuiDirtyDiscErrorUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000472, XamShowNuiFriendsUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000473, XamShowNuiGameInviteUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000474, XamShowNuiGamerCardUIForXUID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000475, XamShowNuiMarketplaceDownloadItemsUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000476, XamShowNuiMarketplaceUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000477, XamShowNuiMessageBoxUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000478, XamShowNuiPartyUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000479, XamShowNuiFriendRequestUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000047A, XamShowNuiSigninUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000047B, XamShowNuiControllerRequiredUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000047C, XamShowNuiGamesUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000047D, XamShowNuiHardwareRequiredUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000047E, XamCacheStoreFileByString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000047F, XamCacheFetchFileByString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000480, XamCacheDeleteFileByString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000481, XamGetCachedTitleNameEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000482, XamXlfsInitializeUploadQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000483, XamXlfsUninitializeUploadQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000484, XamXlfsMountUploadQueueInstance, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000485, XamXlfsUnmountUploadQueueInstance, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000486, XamVoiceRecordUserPrivileges, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000487, XamXlfsInitializeUploadQueueWithTestHooks, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000488, XamXlfsNotifyContentDeletion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000489, XMemAlloc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000048A, XMemFree, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000048B, XMemSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000048C, XamVoiceSetMicArrayIdleUsers, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000048D, XamVoiceMuteMicArray, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000048E, XamVoiceGetMicArrayUnderrunStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000048F, XuiSceneEnableTransitionDependency, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000490, XamVoiceGetMicArrayAudioEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000491, XamVoiceDisableMicArray, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000497, XamVoiceIsActiveProcess, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000004B0, XMPRegisterCodec, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000514, XamIsCurrentTitleIptv, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000515, XamIsIptvEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000516, XamIsDvrRecording, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000517, XamIptvUninstall, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000518, XamGetDvrStorage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000519, XamSetDvrStorage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000051A, XamIptvGetServiceName, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000051B, XamNuiHudGetEngagedEnrollmentIndex, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000578, XamReminderGetItems, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000579, XamReminderClearItems, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000057A, XamReminderItemAdd, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000057B, XamReminderItemRemove, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000057C, XamReminderGetNextItem, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000057D, XamReminderGetModifiedTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000057E, XamReminderClearCache, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005DC, XamAvatarInitialize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005DD, XamAvatarShutdown, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005DE, XamAvatarGetManifestLocalUser, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005DF, XamAvatarGetManifestsByXuid, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005E0, XamAvatarGetAssetsResultSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005E1, XamAvatarGetAssets, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005E2, XamAvatarGenerateMipMaps, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005E3, XamAvatarSetCustomAsset, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005E4, XamAvatarSetManifest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005E5, EnumerateMediaObjects, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005E6, EnumerateMediaObjects, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005E7, XamAvatarLoadAnimation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005E8, XamAvatarBeginEnumAssets, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005E9, XamAvatarEndEnumAssets, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005EA, XamAvatarEnumAssets, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005EB, XamAvatarGetMetadataRandom, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005EC, EnumerateMediaObjects, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005ED, EnumerateMediaObjects, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005EE, XamAvatarGetMetadataSignedOutProfileCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005EF, XamAvatarGetMetadataSignedOutProfile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005F0, EnumerateMediaObjects, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005F1, XamAvatarManifestGetBodyType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005F2, XamAvatarGetInstrumentation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005F3, XamAvatarGetAssetIcon, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005F4, XamAvatarWearNow, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005F5, XamAvatarGetAssetBinary, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005F6, XamAvatarReinstallAwardedAsset, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005F7, XamAvatarGetInstalledAssetPackageDescription, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000005F8, XamAvatarSetMocks, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000060E, XamContentMountInstalledGame, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000060F, XamContentIsGameInstalledToHDD, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000610, XamContentQueryLicenseInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000611, XamContentGetDeviceVolumePath, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000612, XamContentDeviceCheckUpdates, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000613, XamContentGetHeaderInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000640, XamPackageManagerFindPackageContainingIndexedXEX, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000641, XamPackageManagerReinitialize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000642, XamPackageManagerGetAuthoritativeManifestVersion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000643, XamGetCurrentSystemOnlineManifestRevision, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000644, XamPackageManagerDeleteExtendedPartition, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000645, XamPackageManagerHasExtendedPartition, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000646, XamPackageManagerGetExperienceMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000647, XamPackageManagerGetFeatureRequiresUpdateStrings, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000648, XamPackageManagerGetFileSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000649, XampDemandUpdateGetAttributes, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000064A, XampDemandUpdateGetExtendedAttributes, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000064B, XampDemandUpdateGetInstance, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000064C, XampDemandUpdateSetRefreshTestFlags, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000064D, XampDemandUpdateIsRefreshTestFlagSet, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000064E, XampDemandUpdateGetManifestLocalPath, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000064F, XampDemandUpdateRefreshManifest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000650, XdfInitialize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000651, XdfShutdown, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000652, XdfGetExpectedDownloadSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000653, XdfGetItem, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000654, XdfCacheItem, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000655, XdfLoadXexFromCache, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000656, XdfLoadXex, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000657, XdfCancelRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000658, XdfResumeDelayedItem, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000659, XdfLaunchNewImageFromCache, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000065A, XampDemandUpdateRefreshManifestDuringLogon, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000065B, XampDemandUpdateCheckOnlineManifestChanged, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000065C, XampDemandUpdateRunCacheCleaner, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000686, XamXStudioRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000006A4, XamShowAvatarMiniCreatorUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000006A5, XamShowGoldUpgradeUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000006A6, XamResumeUpdaterUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000006A7, XamShowDirectAcquireUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000006A8, XamShowPaymentOptionsUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000708, XamGetLiveHiveValueA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000709, XamGetLiveHiveValueW, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000070A, XamGetLiveHiveValueDuringLogonAttemptA, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000076C, XamDownloadMarketplaceStoresList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000076D, XamGetStoreFront, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000076E, XamSetStagingMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000076F, XamGetStagingMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000770, XamAppGetSessionId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007D0, XamDoesOmniNeedConfiguration, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007D1, XamFirstRunExperienceShouldRun, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007D2, GetProcessHeap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007D3, UnhandledExceptionFilter, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007D4, SetUnhandledExceptionFilter, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007D5, XamIsOptionalMediaUpdateInstalled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007D6, XamShowOptionalMediaUpdateRequiredUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007D7, XamShowOptionalMediaUpdateRequiredUIEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007D8, XamShowFirstRunWelcomeUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007D9, XamTaskCreateQueueEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007DA, XamSetDashBackstackData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007DB, XamLaunchAvatarEditor, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007DC, XamGetDashBackstackData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007DD, XamGetDashBackstackNodesCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007DE, XamSetLastActiveUserData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007DF, XamGetLastActiveUserData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007E0, XamSetActiveDashAppInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000007E1, XamGetActiveDashAppInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000802, XamUserCreateAvatarAssetEnumerator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000803, XamInitializeGameTileCache, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000804, XamDestroyGameTileCache, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000805, XamReadGameTileImage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000806, XamShouldThrottleAccountInfoCall, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000807, XuiClassDerivesFrom, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000808, XuiFreeVisuals, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000809, XuiGetBaseClass, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000080A, XuiLoadVisualFromBinary, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000080B, XuiResourceGetBuffer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000080C, XuiResourceGetTotalSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000080D, XuiElementGetUserData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000080E, XuiElementSetUserData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000080F, XuiTabSceneGetCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000810, XuiSliderGetStep, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000811, XuiSliderSetStep, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000812, XuiProgressBarGetRange, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000813, XuiElementSetHittable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000814, XuiElementPlayNamedFrames, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000815, XuiElementGetPivot, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000816, XuiElementGetPrev, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000817, XuiElementGetScale, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000818, XuiElementSetPivot, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000819, XuiElementSetRotation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000081A, XuiElementSetScale, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000081B, XuiControlWantsUnfocusedInput, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000081C, XuiResourceOpenNoLoc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000081D, XuiResourceReleasePackage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000081E, XuiResourceGetPackageEntryInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000081F, XuiResourceGetPackageEntryCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000820, XuiResourceOpenPackage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000821, XamCodeCoverageFileOpen, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000822, XamCodeCoverageFileClose, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000823, XamCodeCoverageFileLseek, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000824, XamCodeCoverageFileRead, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000825, XamCodeCoverageFileWrite, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000826, Refresh, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000827, XampHeapGetInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000828, XampHeapGetCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000829, XamShowPamUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000082A, XuiElementLayoutTree, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000082B, XamRegisterScreenSaverCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000082C, XUIElementPropVal_SetInt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000082D, XUIElementPropVal_SetFloat, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000082E, XuiObjectGetPropertyDef, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000082F, XuiRenderGetDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000830, XuiRenderRestoreState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000831, XuiElementGetFullXForm, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000832, XuiRenderGetViewTransform, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000833, XuiRenderGetColorSpace, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000834, XamPngEncode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000835, XamPngDecode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000836, XamPngEncodeEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000837, XuiTextElementMeasureText, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000838, XamLoaderShouldConfirmReboot, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000839, XamLoaderRebootToDash, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000083A, XamNuiHudGetEngagedTrackingID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000083B, XamLoaderLaunchTitleForReason, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000083C, XamNuiHudSetEngagedTrackingID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000083E, XamSetupTexture, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000841, XamSetupCameraPreviewStuff, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000842, XamReleaseCameraPreviewStuff, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000843, XamRenderCameraPreviewStuff, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000848, XamAccountRecoveryGetSetTitleSyncTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000849, XamReadBiometricData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000084A, XamWriteBiometricData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000084B, XamD3DResourceDescriptorCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000084C, XamD3DResourceDescriptorAddRef, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000084D, XamD3DResourceDescriptorRelease, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000084E, XamD3DResourceAddRef, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000084F, XamD3DResourceSet, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000850, XamD3DResourceIsBusy, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000851, XamD3DResourceRelease, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000085E, XamNuiEnableChatMic, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000085F, XamNuiIsChatMicEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000860, XamNuiGetDepthCalibration, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000861, XamNuiStoreDepthCalibration, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000862, XamUserNuiIsBiometricEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000863, XamUserNuiEnableBiometric, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000864, XamNuiCameraSetFlags, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000865, XamNuiCameraRememberFloor, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000866, XamUserNuiGetUserIndexForBind, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000867, XamUserNuiGetUserIndexForSignin, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000868, XamUserNuiBind, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000869, XamUserNuiGetUserIndex, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000086A, XamUserNuiGetEnrollmentIndex, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000086B, XamUserNuiUnbind, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000086C, XamNuiIdentityGetQualityFlagsMessage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000086D, XamNuiCameraTiltSetCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000086E, XamNuiHudIsEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000086F, XamNuiCameraGetTiltControllerType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000870, XamNuiCameraTiltGetStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000871, XamNuiIdentityGetQualityFlags, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000872, XamNuiIdentityEnrollForSignIn, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000873, XamNuiIdentityGetSessionId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000874, XamNuiIdentityIdentifyWithBiometric, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000875, ControlPackGetHandleManager, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000876, XamEnableNuiAutomation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000877, XamNuiGetSystemGestureControl, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000878, XamGetPasscodeKeyFromVirtualKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000879, XamEnableNatalPlayback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000087A, XamIsNuiAutomationEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000087B, XamIsNatalPlaybackEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000087C, XamNuiHudInterpretFrame, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000087D, XamNuiHudEnableInputFilter, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000087E, ControlpackNuiCursorSetTrackingId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000087F, XamNuiHudGetInitializeFlags, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000880, XamNuiCameraElevationSetAngle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000881, XamNuiCameraElevationGetAngle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000882, XamNuiCameraElevationAutoTilt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000883, XamNuiCameraElevationStopMovement, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000884, XamNuiCameraElevationSetCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000885, XamNuiGetDeviceStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000886, XamNuiNatalCameraUpdateStarting, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000887, XamNuiNatalCameraUpdateComplete, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000888, XamNuiHudGetVersions, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000889, XamGetHUDElementByPath, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000088A, XamGetHUDElementByAutoId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000088B, XuiElementGetScreenPositionCenter, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000088C, XamNuiCameraElevationReverseAutoTilt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000088D, ControlPackSimpleCursorGetRayFromScreenPosition, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000088E, ControlPackSideNavControlGetNuiHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000088F, XamFindHUDElementByXuiId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000890, XamNuiIsDeviceReady, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000891, XamNuiSetForceDeviceOff, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000892, XamNuiPlayerEngagementUpdate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000893, XamNuiSkeletonGetBestSkeletonIndex, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000894, XamNuiSkeletonScoreUpdate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000895, XamNuiCameraTiltReportStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000896, XamNuiCameraAdjustTilt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000898, D3DDevice_CreateVertexShader, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000899, D3DDevice_CreatePixelShader, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000089A, D3DDevice_CreateTexture, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000089B, D3DDevice_CreateVertexBuffer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000089C, D3DDevice_CreateIndexBuffer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000089D, D3DDevice_CreateVertexDeclaration, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000089E, D3DVertexBuffer_Unlock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x0000089F, D3DVertexBuffer_Lock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008A0, D3DIndexBuffer_Unlock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008A1, D3DIndexBuffer_Lock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008A2, D3DTexture_UnlockRect, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008A3, D3DTexture_LockRect, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008A4, D3DDevice_Clear, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008A5, D3DDevice_SetViewport, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008A6, D3DDevice_GetViewport, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008A7, D3DVertexShader_Release, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008A8, D3DPixelShader_Release, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008A9, D3DVertexDeclaration_Release, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008AA, D3DResource_Release, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008AB, D3DDevice_Release, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008AC, D3DDevice_SetVertexShader, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008AD, D3DDevice_SetPixelShader, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008AE, D3DDevice_SetTexture, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008AF, D3DDevice_SetVertexDeclaration, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008B0, D3DDevice_SetIndices, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008B1, D3DDevice_SetStreamSource, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008B2, D3DDevice_DrawVertices, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008B3, D3DDevice_DrawVerticesUP, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008B4, D3DDevice_DrawIndexedVertices, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008B5, D3DDevice_DrawIndexedVerticesUP, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008B6, D3DDevice_SetVertexShaderConstantF_ParameterCheck, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008B7, D3DDevice_SetPixelShaderConstantF_ParameterCheck, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008B8, D3DDevice_SetSamplerState_ParameterCheck, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008B9, D3DDevice_SetRenderState_ParameterCheck, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008BA, D3DDevice_GetRenderState_ParameterCheck, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008BB, D3DDevice_SetVertexShaderConstantFN, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008BC, D3DDevice_SetPixelShaderConstantFN, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008BD, D3DDevice_GetRenderState_ZEnable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008BE, D3DDevice_GetRenderState_CullMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008BF, D3DDevice_GetRenderState_AlphaBlendEnable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008C0, D3DDevice_GetRenderState_SrcBlendAlpha, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008C1, D3DDevice_GetRenderState_DestBlendAlpha, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008C2, D3DDevice_GetRenderState_BlendOp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008C3, D3DDevice_GetRenderState_ViewportEnable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008C4, D3DDevice_SetRenderState_ZEnable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008C5, D3DDevice_SetRenderState_CullMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008C6, D3DDevice_SetRenderState_AlphaBlendEnable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008C7, D3DDevice_SetRenderState_SrcBlendAlpha, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008C8, D3DDevice_SetRenderState_DestBlendAlpha, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008C9, D3DDevice_SetRenderState_BlendOp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008CA, D3DDevice_SetRenderState_ViewportEnable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008CB, D3DDevice_SetSamplerState_MagFilter, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008CC, D3DDevice_SetSamplerState_MinFilter, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008CD, D3DDevice_SetSamplerState_AddressU, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008CE, D3DDevice_SetSamplerState_AddressV, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008CF, XGSetTextureHeader, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008D0, XGGetTextureDesc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008D1, XGOffsetResourceAddress, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008D2, D3DResource_AddRef, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008D3, D3DVertexShader_AddRef, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008D4, D3DPixelShader_AddRef, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008D5, D3DVertexDeclaration_AddRef, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008D6, XGSetTextureHeaderEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008D7, D3DDevice_GetRenderTarget, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008D8, D3DDevice_SetRenderTarget, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008D9, D3DDevice_GetDepthStencilSurface, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008DA, D3DDevice_SetDepthStencilSurface, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008DB, D3DDevice_Resolve, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008DC, D3DDevice_SetPixelShaderConstantB, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008DD, XamNuiGetDeviceSerialNumber, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008FC, XamXtwManagerGetVariableCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008FD, XamXtwManagerGetId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008FE, XamXtwManagerGetValue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000008FF, XamXtwManagerSetValue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000900, XamXtwManagerIncrement, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000901, XamXtwManagerDecrement, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000902, XamXtwManagerResetValue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000903, XamXtwManagerResetAll, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000904, XamXtwManagerGetDataFilePath, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000905, XamXtwManagerDeleteDataFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000906, XamXtwManagerSave, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000907, XamXtwManagerLoad, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000908, XamGetXTweakManager, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009C4, XamBackgroundDownloadSetMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009C5, XamBackgroundDownloadIsEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009C6, XamBackgroundDownloadGetActiveItem, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009C7, XamBackgroundDownloadGetItems, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009C8, XamBackgroundDownloadClearItems, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009C9, XamBackgroundDownloadItemAdd, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009CA, XamBackgroundDownloadItemRemove, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009CB, XamBackgroundDownloadItemMakeFirst, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009CC, XamBackgroundDownloadSetForegroundPriority, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009CD, XamBackgroundDownloadGetForegroundPriority, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009CE, XamBackgroundDownloadItemToContentData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009CF, XamBackgroundDownloadItemGetStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009D0, XamBackgroundDownloadHistoryGetItem, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009D1, XamBackgroundDownloadItemGetHistoryStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009D2, XamBackgroundDownloadItemSetHistoryStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009D3, XamBackgroundDownloadItemGetStatusAsync, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009D4, XamBackgroundDownloadItemGetStatusEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009D5, XamBackgroundDownloadItemGetHistoryStatusEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009D6, XamBackgroundDownloadBindItems, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009D7, XamBackgroundDownloadSetPollingActive, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009D8, XamBackgroundDownloadGetPollingActive, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009D9, XamBackgroundDownloadGetMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009DA, XamBackgroundDownloadGetUnexpectedChangeCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009DB, XamBackgroundDownloadIsItemForThisConsole, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009DC, XamBackgroundDownloadSelectDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009DD, XamBackgroundDownloadItemModify, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009DE, XamBackgroundDownloadCacheLegacyMappingInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009DF, XamBackgroundDownloadGetLegacyMappingInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009E0, XamBackgroundDownloadGetLegacyId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x000009E1, XamBackgroundDownloadDoFail, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A28, XamSwapDisc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A29, XamSwapDiscPatchAddress, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A2A, XamSwapCancel, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A32, XamRamDriveCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A33, XamRamDriveDestroy, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A5A, XamPlayTimerGetData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A5B, XamPlayTimerSetData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A5C, XamPlayTimerResume, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A5D, XamPlayTimerSuspend, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A5E, XamPlayTimerIsRunning, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A5F, XamPlayTimerIsEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A60, XamPlayTimerGetNextResetDate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A61, XamPlayTimerFormatDurationString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A62, XamPlayTimerGetTimeRemaining, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A63, XamPlayTimerUpdateTimeRemaining, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A64, XamPlayTimerForceNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A65, XamPlayTimerRefreshResetDate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A6E, UpnpAVServerSearchInitialize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A6F, UpnpAVServerSearchDestroy, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A70, UpnpAVServerSearchStart, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A71, Destroy, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A72, UpnpAVServerSearchDoWork, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A73, UpnpAVServerSearchGetNextServer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A8C, XCustomBroadcastGamercardEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000A8D, XamCustomGetCurrentActions, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AA0, XamInstrumentationLogEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AA1, XamRegisterSMCNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AAA, XamInstrumentationLogEventEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AAB, XamInstrumentationGetSourceConfig, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AAC, XamInstrumentationDebugConfig, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000ADC, CurlCreateCacheEntry, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000ADD, CurlOpenCacheEntry, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000ADE, CurlSetCacheEntryExpireTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000ADF, CurlReadCacheEntryHeaders, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AE0, CurlReadCacheEntryContent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AE1, CurlWriteCacheEntryContent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AE2, CurlCloseCacheEntry, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AE3, CurlEnumerateCacheEntry, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AE5, CurlWipeBackingFiles, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AE7, CurlOpenTitleBackingFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AF0, XamSetSecurityViolationDetected, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AF1, XamIsSecurityViolationDetected, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AF2, XamIsAnySecurityViolationDetected, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AF3, XamGetSecurityViolationsDetected, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AF4, XamActivateCounterMeasure, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AF5, XamDeactivateCounterMeasure, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AF6, XamIsCounterMeasureActivated, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AF7, XamGetActiveCounterMeasures, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AFC, XamPartyCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AFD, XamPartyLeave, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AFE, XamPartySendInviteDeprecated, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000AFF, XamPartyGetUserList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B00, XamPartySendGameInvites, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B01, XamPartyJoin, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B02, XamPartyKickUser, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B03, XamPartyAddLocalUsers, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B04, XamConvertEmoticons, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B05, XamGetLocaleTimeFormat, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B06, XamPartyRemoveLocalUsers, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B07, XamPartyGetUserListInternal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B08, XamPartySetJoinable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B09, XamPartyGetJoinable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B0A, XamPartyGetInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B0B, XamPartySetCustomData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B0C, XamPartySetConnectivityGraph, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B0D, XamPartyGetRoutingTable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B0E, XamPartyAutomationInprocCall, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B0F, XamPartyGetState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B10, XamPartyGetBandwidth, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B11, XamPartyGetNetworkCounters, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B12, XamShowQuickLaunchUI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B13, XamPartyIsCoordinator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B14, XamPartyGetFormation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B15, XamPartySendInvite, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B16, XamPartySetTestDelay, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B17, XamPartyOverrideNatType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B18, XamPartyGetAccessLevel, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B19, XamPartySetTestFlags, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B1A, XamIsSystemExperienceTitleId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B22, XamTaskSetCancelSubTasks, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B23, XamTaskGetCompletionStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B24, XamTaskCancelWaitAndCloseWaitTask, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B2C, XamWebInstrumentationCreateReport, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B2D, XamWebInstrumentationSetUserVar, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B2E, XamWebInstrumentationSetUserVarNoEscape, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B2F, XamWebInstrumentationGetURL, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B30, XamWebInstrumentationSendReport, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B31, XamWebInstrumentationDestroyReport, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B32, XamWebInstrumentationCreateSampledReport, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B33, XampSetSamplingRandomValue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B34, XampWebInstrumentationSetProfileCounts, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B35, XamWebInstrumentationGetURLEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B36, XampSetOmnitureCallbackFunction, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B37, XamShowQuickChatUIp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xam, 0x00000B4A, XamVerifyXSignerSignature, ? , FLAG(Function)), +static KernelExport xam_export_table[] = { +XE_DECLARE_EXPORT(xam, 0x00000001, NetDll_WSAStartup, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000002, NetDll_WSACleanup, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000003, NetDll_socket, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000004, NetDll_closesocket, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000005, NetDll_shutdown, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000006, NetDll_ioctlsocket, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000007, NetDll_setsockopt, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000008, NetDll_getsockopt, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000009, NetDll_getsockname, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000000A, NetDll_getpeername, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000000B, NetDll_bind, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000000C, NetDll_connect, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000000D, NetDll_listen, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000000E, NetDll_accept, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000000F, NetDll_select, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000010, NetDll_WSAGetOverlappedResult, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000011, NetDll_WSACancelOverlappedIO, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000012, NetDll_recv, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000013, NetDll_WSARecv, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000014, NetDll_recvfrom, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000015, NetDll_WSARecvFrom, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000016, NetDll_send, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000017, NetDll_WSASend, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000018, NetDll_sendto, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000019, NetDll_WSASendTo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000001A, NetDll_inet_addr, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000001B, NetDll_WSAGetLastError, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000001C, NetDll_WSASetLastError, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000001D, NetDll_WSACreateEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000001E, NetDll_WSACloseEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000001F, NetDll_WSASetEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000020, NetDll_WSAResetEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000021, NetDll_WSAWaitForMultipleEvents, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000022, NetDll___WSAFDIsSet, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000023, NetDll_WSAEventSelect, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000024, NetDll_WSAStartupEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000033, NetDll_XNetStartup, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000034, NetDll_XNetCleanup, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000035, NetDll_XNetRandom, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000036, NetDll_XNetCreateKey, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000037, NetDll_XNetRegisterKey, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000038, NetDll_XNetUnregisterKey, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000039, NetDll_XNetXnAddrToInAddr, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000003A, NetDll_XNetServerToInAddr, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000003B, NetDll_XNetTsAddrToInAddr, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000003C, NetDll_XNetInAddrToXnAddr, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000003D, NetDll_XNetInAddrToServer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000003E, NetDll_XNetInAddrToString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000003F, NetDll_XNetUnregisterInAddr, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000040, NetDll_XNetXnAddrToMachineId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000041, NetDll_XNetConnect, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000042, NetDll_XNetGetConnectStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000043, NetDll_XNetDnsLookup, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000044, NetDll_XNetDnsRelease, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000045, NetDll_XNetQosListen, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000046, NetDll_XNetQosLookup, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000047, NetDll_XNetQosServiceLookup, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000048, NetDll_XNetQosRelease, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000049, NetDll_XNetGetTitleXnAddr, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000004A, NetDll_XNetGetDebugXnAddr, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000004B, NetDll_XNetGetEthernetLinkStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000004C, NetDll_XNetGetBroadcastVersionStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000004D, NetDll_XNetQosGetListenStats, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000004E, NetDll_XNetGetOpt, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000004F, NetDll_XNetSetOpt, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000050, NetDll_XNetStartupEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000051, NetDll_XNetReplaceKey, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000052, NetDll_XNetGetXnAddrPlatform, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000053, NetDll_XNetGetSystemLinkPort, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000054, NetDll_XNetSetSystemLinkPort, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000065, NetDll_XnpLoadConfigParams, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000066, NetDll_XnpSaveConfigParams, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000067, NetDll_XnpConfigUPnP, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000068, NetDll_XnpConfig, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000069, NetDll_XnpGetConfigStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000006A, NetDll_XnpLoadMachineAccount, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000006B, NetDll_XnpSaveMachineAccount, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000006C, NetDll_XnpCapture, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000006D, NetDll_XnpEthernetInterceptSetCallbacks, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000006E, NetDll_XnpEthernetInterceptXmit, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000006F, NetDll_XnpEthernetInterceptRecv, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000070, NetDll_XnpLogonGetStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000071, NetDll_XnpLogonGetQFlags, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000072, NetDll_XnpLogonSetQFlags, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000073, NetDll_XnpLogonSetQEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000074, NetDll_XnpLogonClearQEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000075, NetDll_XnpLogonGetQVals, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000076, NetDll_XnpLogonSetQVals, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000077, NetDll_XnpLogonSetPState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000078, NetDll_XnpGetVlanXboxName, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000079, NetDll_XnpSetVlanXboxName, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000007A, NetDll_XnpGetActiveSocketList, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000007B, NetDll_XnpNoteSystemTime, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000007C, NetDll_XnpRegisterKeyForCallerType, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000007D, NetDll_XnpUnregisterKeyForCallerType, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000007E, NetDll_XnpLogonGetChallenge, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000007F, NetDll_XnpLogonClearChallenge, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000080, NetDll_XnpLogonSetChallengeResponse, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000081, NetDll_XnpGetSecAssocList, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000082, NetDll_XnpGetKeyList, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000083, NetDll_XnpGetQosLookupList, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000084, NetDll_XnpPersistTitleState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000085, NetDll_XnpReplaceKeyForCallerType, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000086, NetDll_XnpEthernetInterceptSetExtendedReceiveCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000087, NetDll_XnpQosHistoryLoad, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000088, NetDll_XnpQosHistorySaveMeasurements, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000089, NetDll_XnpQosHistoryGetEntries, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000008A, NetDll_XnpQosHistoryGetAggregateMeasurement, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000008B, NetDll_XnpToolSetCallbacks, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000008C, NetDll_XnpToolIpProxyInject, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000008D, NetDll_XnpUpdateConfigParams, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000008E, NetDll_XnpEthernetInterceptXmitAsIp, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000097, NetDll_XmlDownloadStart, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000098, NetDll_XmlDownloadContinue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000099, NetDll_XmlDownloadStop, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000009A, NetDll_XmlDownloadGetParseTime, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000009B, NetDll_XmlDownloadGetReceivedDataSize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000C6, XnpGetXwppMemoryLogSnapshot, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000C7, XnpGetXwppRuntimeFilter, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000C9, NetDll_XHttpStartup, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000CA, NetDll_XHttpShutdown, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000CB, NetDll_XHttpOpen, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000CC, NetDll_XHttpCloseHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000CD, NetDll_XHttpConnect, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000CE, NetDll_XHttpSetStatusCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000CF, NetDll_XHttpOpenRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000D0, NetDll_XHttpOpenRequestUsingMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000D1, NetDll_XHttpSendRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000D2, NetDll_XHttpReceiveResponse, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000D3, NetDll_XHttpQueryHeaders, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000D4, NetDll_XHttpReadData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000D5, NetDll_XHttpWriteData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000D6, NetDll_XHttpQueryOption, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000D7, NetDll_XHttpSetOption, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000D8, NetDll_XHttpDoWork, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000D9, NetDll_XHttpSetCredentials, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000DA, NetDll_XHttpQueryAuthSchemes, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000DB, NetDll_XHttpCrackUrl, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000FB, NetDll_UpnpStartup, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000FC, NetDll_UpnpCleanup, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000FD, NetDll_UpnpSearchCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000FE, NetDll_UpnpSearchGetDevices, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000000FF, NetDll_UpnpDescribeCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000100, NetDll_UpnpDescribeGetResults, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000101, NetDll_UpnpActionCalculateWorkBufferSize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000102, NetDll_UpnpActionCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000103, NetDll_UpnpActionGetResults, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000104, NetDll_UpnpEventCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000105, NetDll_UpnpEventGetCurrentState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000106, NetDll_UpnpEventUnsubscribe, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000107, NetDll_UpnpDoWork, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000108, NetDll_UpnpCloseHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000012D, XNetLogonGetLoggedOnUsers, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000012E, XNetLogonGetNatType, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000012F, XNetLogonTaskStart, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000130, XNetLogonTaskClose, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000131, XNetLogonTaskContinue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000132, XNetLogonGetServiceInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000133, XNetLogonGetUserPrivileges, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000134, XNetLogonSetConsoleCertificate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000135, XNetLogonGetMachineID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000136, XNetLogonGetTitleID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000137, XNetLogonGetTitleVersion, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000138, XNetLogonGetServiceNetworkID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000139, XNetLogonGetDnsString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000013A, XNetLogonSetTitleID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000013B, XNetLogonGetExtendedStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000013C, XNetLogonClearTicketCaches, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000013D, XNetLogonInitOverrideInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000013E, XNetLogonGetLastUPnPStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000013F, XNetLogonGetFlowToken, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000140, XNetLogonGetTicketOpt, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000141, XNetLogonSetTicketOpt, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000190, XamInputGetCapabilities, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000191, XamInputGetState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000192, XamInputSetState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000193, XamInputGetKeystroke, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000194, XamInputEnableAutobind, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000195, XamInputRawState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000196, XamEnableSystemAppInput, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000197, XamInputGetDeviceStats, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000198, XamInputGetKeystrokeEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000199, XamInputGetKeystrokeHud, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000019A, XamInputSetLayoutKeyboard, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000019B, XamInputToggleKeyLocks, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000019C, XamInputResetLayoutKeyboard, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000019D, XamInputGetKeystrokeHudEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000019E, XamInputSetKeyboardTranslationHud, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000019F, XamSetInactivityTime, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001A0, XamEnableInactivityProcessing, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001A1, XamResetInactivity, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001A2, XamSetInactivityTimeFromConfig, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001A3, XamLoaderGetMediaInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001A4, XamLoaderLaunchTitle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001A5, XamLoaderLaunchTitleEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001A6, XamLoaderSetLaunchData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001A7, XamLoaderGetLaunchDataSize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001A8, XamLoaderGetLaunchData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001A9, XamLoaderTerminateTitle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001AA, XamLoaderGetDvdTrayState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001AB, XamLoaderGetGameInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001AC, XamLoaderLaunchTitleOnDvd, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001AD, XamLoaderSetSpindleSpeed, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001AE, XamTaskCreateQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001AF, XamTaskSchedule, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001B0, XamTaskReschedule, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001B1, XamTaskCloseHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001B2, XamTaskCancel, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001B3, XamTaskShouldExit, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001B4, XamTaskWaitOnCompletion, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001B5, XamTaskModify, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001B6, XamTaskGetCurrentTask, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001B7, XamTaskGetAttributes, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001B8, XamExecutingOnBehalfOfTitle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001B9, XamInputSendStayAliveRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001BA, XamInputGetUserVibrationLevel, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001BB, XamIsSystemTitleId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001BC, XamLoaderIsTitleTerminatePending, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001BD, XamInputSetTextMessengerIndicator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001BE, XamLoaderGetPriorTitleId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001BF, XamIsXbox1TitleId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001C0, XamInputSetKeyLocks, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001C1, XamInputGetKeyLocks, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001C2, XamTaskGetStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001C3, XamGetRootObj, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001C4, XamDevAuthSetFault, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001C5, XamGetDefaultSystemImage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001C6, XamGetWCNConfigFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001C7, XamSetPowerMode, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001C8, XamExecuteChallenge, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001C9, XamGetDefaultImage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001CA, XamMuteSound, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001CB, XamGetOnlineSchema, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001CC, XamSetDashContext, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001CD, XamGetDashContext, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001CE, XamIsCurrentTitleDash, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001CF, XamGetCurrentTitleId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001D0, XamSetCurrentTitleDash, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001D1, XamAllocHeapFreeSpace, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001D2, XamSetDashContextEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001D3, XamGetDashContextEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001D4, XamSetHudContext, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001D5, XamGetHudContext, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001D6, XCustomGetBannerImage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001D7, Refresh, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001D8, XCustomSetAction, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001D9, XCustomGetLastActionPress, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001DA, XCustomSetDynamicActions, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001DB, XCustomBroadcastActionEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001DC, XCustomGetLastActionPressEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001DD, XCustomRegisterDynamicActions, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001DE, XCustomUnregisterDynamicActions, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001DF, XCustomGetCurrentGamercard, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001E0, XamDbgPrint, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001E1, XamDbgSetOutputLevel, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001E2, XamDbgSetBreakLevel, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001E3, XamLoaderGetMediaInfoEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001E4, XamLoaderSetGameInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001E5, XamFormatMessage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001E6, XamUniSortCmpString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001E7, XamFormatTimeString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001E8, XamFormatDateString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001E9, XamGetLocaleDateFormat, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001EA, XamAlloc, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001EB, XamAllocEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001EC, XamFree, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001ED, XamAllocSize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001EE, XamAllocMountIPTVHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001EF, XamAllocUnmountIPTVHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001F0, XamAllocFreeIPTVHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001F1, XamDeviceRemap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001F2, XamLoaderGetClearCache, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001F3, XamLoaderSetClearCache, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001F4, XMsgInProcessCall, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001F5, XMsgCompleteIORequest, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001F6, XMsgSystemProcessCall, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001F7, XMsgStartIORequest, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001F8, XMsgCancelIORequest, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001F9, XMsgAcquireAsyncMessageFromOverlapped, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001FA, XMsgReleaseAsyncMessageToOverlapped, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001FB, XamGetOverlappedResult, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001FC, XMsgStartIORequestEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001FD, XamAppAllocateInterappWorkspace, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001FE, XamAppGetInterappWorkspace, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000001FF, XamAppFreeInterappWorkspace, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000200, XamFeatureEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000201, XamFeatureEnforceImageBudget, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000202, XamFeatureSetMask, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000203, XamFeatureEnableDisable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000204, XuiControlSetItemAssociation, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000205, XamGetTitleGlobalStorageValue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000206, XamSetTitleGlobalStorageValue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000207, XamUserValidateAvatarManifest, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000208, XamUserGetDeviceContext, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000209, XamUserLookupDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000020A, XamUserGetXUID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000020B, XamUserLogon, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000020C, XamUserGetGamerTag, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000020D, XamUserGetUserIndexMask, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000020E, XamUserGetName, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000020F, XamLookupCommonStringByIndex, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000210, XamUserGetSigninState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000211, XamUserGetIndexFromXUID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000212, XamUserCheckPrivilege, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000213, XamUserAreUsersFriends, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000214, XamSetUserPresetPresenceState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000215, XamGetUserPresetPresenceState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000216, XamUserGetUserFlagsFromXUID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000217, XamUserGetMembershipTierFromXUID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000218, XamUserGetOnlineCountryFromXUID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000219, XamUserReadProfileSettings, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000021A, XamUserWriteProfileSettings, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000021B, XamUserGetMembershipTier, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000021C, XamUserGetUserFlags, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000021D, XamUserGetRequestedUserIndexMask, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000021E, XamUserIsGuest, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000021F, XamUserProfileSync, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000220, XamUserFlushLogonQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000221, XamUserIsOnlineEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000222, XamUserGetCachedUserFlags, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000223, XamAreMixedAccountsSignedIn, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000224, XamUserLogonEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000225, XamSetUserShowMessengerFriends, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000226, XamGetUserShowMessengerFriends, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000227, XamUserGetSigninInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000228, XamUserIsPartial, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000229, XamUserGetOnlineLanguageFromXUID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000022A, XamUserReadProfileSettingsEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000022B, XamSystemUpdaterLogon, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000022C, XamUserGetUsersMissingAvatars, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000022D, XamIsChildAccountSignedIn, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000022E, XamUserPrefetchProfileSettings, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000022F, XamUserInvalidateProfileSetting, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000230, XamProfileCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000231, XamProfileCreateEnumerator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000232, XamProfileEnumerate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000233, XamProfileDelete, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000234, XamProfileGetCreationStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000235, XamProfileFindAccount, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000236, XamProfileRenameAccount, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000237, XamProfileOpen, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000238, XamProfileClose, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000239, XamProfileSaveAccountInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000023A, XamProfileLoadAccountInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000023B, XamProfileRecoverTitle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000023C, XamProfileSaveWindowsLiveCredentials, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000023D, XamProfileLoadWindowsLiveCredentials, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000023E, XamProfileIsSaveWindowsLiveCredsEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000023F, XamProfileSetSaveWindowsLiveCredsEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000240, XamSetProfileReadTestHook, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000241, XamProfileGetLastSync, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000242, XamAccountRecoveryRecoverTitle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000243, XamProfileControlPec, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000244, XamAppLoad, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000245, XamAppUnloadSelf, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000246, XamAppUnloadStack, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000247, XamSendMessageToLoadedApps, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000248, XamAppRequestLoad, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000249, XamAppUnrequestLoad, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000024A, XamNavigate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000024B, XamRegisterSysApp, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000024C, XamUnregisterSysApp, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000024D, XamAppReinitialize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000024E, XamCreateEnumeratorHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000024F, XamGetPrivateEnumStructureFromHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000250, XamEnumerate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000251, XamLoadSysApp, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000252, XamUnloadSysApp, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000253, XamReloadSysApp, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000254, XamAppLoadPass2SysApps, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000255, XamProfileGetLiveLegalLocale, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000256, XamUserIsParentalControlled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000257, XamContentLaunchImageFromFileInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000258, XamContentCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000259, XamContentCreateEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000025A, XamContentClose, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000025B, XamContentDelete, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000025C, XamContentCreateEnumerator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000025D, XamContentCreateDeviceEnumerator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000025E, XamContentGetDeviceData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000025F, XamContentGetDeviceName, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000260, XamContentSetThumbnail, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000261, XamContentGetThumbnail, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000262, XamContentGetCreator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000263, XamContentLaunchImage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000264, XamContentGetAttributes, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000265, XamContentGetDeviceState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000266, XamContentGetLicenseMask, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000267, XamContentFlush, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000268, XamContentResolve, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000269, XamContentOpenFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000026A, XamContentInstall, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000026B, XamContentLockUnlockPackageHeaders, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000026C, XamContentCopyInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000026D, XamContentMoveInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000026E, XamContentGetMetaDataInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000026F, XamContentCreateEnumeratorInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000270, XamContentDeleteInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000271, XamContentCreateInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000272, XamContentSetThumbnailInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000273, XamContentLaunchImageInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000274, XamContentWritePackageHeader, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000275, XamContentDismountAndClosePackage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000276, XamContentResolveInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000277, XamContentGetAttributesInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000278, XamContentOpenFileInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000279, XamContentAggregateCreateEnumerator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000027A, XamContentCreateAndMountPackage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000027B, XamContentOpenPackageFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000027C, XamContentMountPackage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000027D, XamContentFlushPackage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000027E, XamContentClosePackageFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000027F, XamContentDuplicateFileHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000280, XamGetExecutionId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000281, XamGetGameRatings, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000282, XamGetSystemVersion, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000283, XamContentGetLocalizedString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000284, XamContentGetDefaultDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000285, XamContentInstallInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000286, XamContentSetMediaMetaDataInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000287, XamContentGetDeviceSerialNumber, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000288, XamContentGetMountedPackageByRootName, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000289, XamContentRegisterChangeCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000028A, XamNotifyCreateListener, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000028B, XNotifyGetNext, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000028C, XNotifyPositionUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000028D, XNotifyDelayUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000028E, XNotifyBroadcast, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000028F, XNotifyRegisterArea, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000290, XNotifyQueueUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000291, XamNotifyCreateListenerInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000292, XNotifyUISetOptions, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000293, XNotifyUIGetOptions, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000294, XamContentLaunchImageInternalEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000295, XamShutdown, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000296, XamAllocDevkitHeapAvailable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000297, XamNotifyCreateListenerRangeInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000298, XNotifyQueueUIEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000299, XamAppRequestLoadEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000029A, XuiPNGTextureLoader, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000029B, XuiRenderGetXuiDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000029C, XuiDefault_False, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000029D, XamUserGetReportingInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000029E, XamUpdateStart, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000029F, XamUpdateGetProgress, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002A0, XamUpdateGetExtenderInstance, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002A1, XamUpdateFinish, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002A2, XamUpdateAttachExtenderInstance, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002A3, XamUpdateAllocateExtenderBuffer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002A4, XamRestartTitleLoadAfterUpdate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002A5, XamUIThreadDisableFontPatching, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002A6, XamUpdateGetBaseSystemVersion, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002A7, XamUpdateGetCurrentSystemVersion, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002A8, XamUIThreadEnableFontPatching, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002A9, XamTerminateTitleForUpdate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002AA, XamSystemUpdateInstallLocal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002AB, XamUpdateChainPass3FromPass2, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002AD, XamInputGetCapabilitiesEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002AE, XamUserIsUnsafeProgrammingAllowed, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002AF, XamDevAuthSetFaultEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002B0, XamUpdateGetData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002B1, XamCacheIntegrityCheck, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002B2, XamCacheStoreFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002B3, XamCacheFetchFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002B4, XamCacheOpenFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002B5, XamCacheCloseFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002B6, XamGetCachedTitleName, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002B7, XamCacheReset, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002B8, XamGetCachedGamerTag, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002B9, XamGetCachedGamerTagW, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002BA, XamCacheDeleteFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002BB, XamCacheRenameFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002BC, XamShowSigninUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002BD, XamShowSigninUIEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002BE, XamShowSigninUIp, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002BF, XamShowFriendsUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002C0, XamShowMessagesUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002C1, XamShowKeyboardUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002C2, XamShowQuickChatUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002C3, XamShowVoiceMailUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002C4, XamShowGamerCardUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002C5, XamShowAchievementsUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002C6, XamShowPlayerReviewUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002C7, XamShowMarketplaceUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002C8, XamShowPlayersUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002C9, XamShowUpdaterUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002CA, XamShowMessageBoxUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002CB, XamShowDeviceSelectorUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002CC, XamShowMessageComposeUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002CD, XamShowGameInviteUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002CE, XamShowFriendRequestUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002CF, XamShowCreateProfileUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002D0, XamShowGamesUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002D1, XamShowLiveSignupUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002D2, XamShowFriendsUIp, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002D3, XamShowComplaintUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002D4, XamShowReputationUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002D5, XamShowGamerCardUIForXUID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002D6, XamShowForcedNameChangeUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002D7, XamShowLiveUpsellUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002D8, XamShowPasscodeVerifyUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002D9, XamShowDirtyDiscErrorUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002DA, XamShowSignupCreditCardUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002DB, XamShowPrivateChatInviteUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002DC, XamShowMessageBoxUIEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002DD, XamShowRecentMessageUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002DE, XamShowRecentMessageUIEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002DF, XamShowMessagesUIEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002E0, XamShowAchievementDetailsUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002E1, XamShowPersonalizationUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002E2, XamShowChangeGamerTileUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002E3, XamShowVoiceSettingsUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002E4, XamShowVideoChatInviteUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002E5, XamShowCustomMessageComposeUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002E6, XamShowCustomPlayerListUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002E7, XamShowMarketplaceDownloadItemsUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002E8, XamShowMarketplaceUIEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002E9, XamShowMessageBox, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002EA, XamIsSysUiInvokedByXenonButton, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002EB, XamIsSysUiInvokedByTitle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002EC, XamIsUIActive, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002ED, XamSysUiDisableAutoClose, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002EE, XamUserCreateAchievementEnumerator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002EF, XamReadTile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002F0, XamWriteGamerTile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002F1, XamWriteTile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002F2, XamReadImage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002F3, XamUserCreateTitlesPlayedEnumerator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002F4, XamDecompressPNGToTexture, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002F5, XamReadTileToTexture, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002F6, XamReadString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002F7, XamUserCreateStatsEnumerator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002F8, XamPrepareGamerTiles, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002F9, XamClearTitle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002FA, XamReadStrings, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002FB, XamWriteGamerTileEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002FC, XamReadTileEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002FD, XamReadTileToTextureEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002FE, XamShowMessengerUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000002FF, XamShowKeyboardUIMessenger, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000300, XamShowLiveUpsellUIEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000301, XamShowJoinSessionInProgressUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000302, XamShowGraduateUserUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000303, XamShowGamerCardUIForXUIDp, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000304, XamShowGuideUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000305, XamShowPartyUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000306, XamShowPartyInviteUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000307, XamUserAddRecentPlayer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000308, XamUserUpdateRecentPlayer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000309, XamUserCreatePlayerEnumerator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000030A, XamParseGamerTileKey, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000030B, XamShowCommunitySessionsUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000030C, XamVoiceCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000030D, XamVoiceHeadsetPresent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000030E, XamVoiceSubmitPacket, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000030F, XamVoiceClose, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000310, XamVoiceGetBatteryStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000311, Refresh, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000312, Refresh, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000313, XamShowJoinSessionByIdInProgressUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000314, XamShowPartyJoinInProgressUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000315, XamBuildSharedSystemResourceLocator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000316, XamSessionCreateHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000317, XamSessionRefObjByHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000318, XamVoiceGetMicArrayStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000319, XamVoiceSetAudioCaptureRoutine, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000031A, XamVoiceGetDirectionalData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000031B, XamBuildResourceLocator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000031C, XamBuildSharedSystemResourceLocator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000031D, XamBuildGamercardResourceLocator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000031E, XamBuildDynamicResourceLocator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000031F, XamBuildXamResourceLocator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000320, XuiAnimRun, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000321, XuiApplyLocale, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000322, XuiBubbleMessage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000323, XuiControlIsBackButton, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000324, XuiControlIsNavButton, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000325, XuiCreateObject, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000326, XuiDestroyObject, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000327, XuiDynamicCast, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000328, XuiElementAddChild, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000329, XuiElementFindNamedFrame, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000032A, XuiElementGetChildById, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000032B, XuiElementGetFirstChild, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000032C, XuiElementGetFocus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000032D, XuiElementGetFocusUser, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000032E, XuiElementGetId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000032F, XuiElementGetLastChild, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000330, XuiElementGetNext, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000331, XuiElementGetParent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000332, XuiElementGetUserFocus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000333, XuiElementInitFocus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000334, XuiElementInitUserFocus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000335, XuiElementPlayTimeline, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000336, XuiElementSetBounds, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000337, XuiElementSetFocus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000338, XuiElementSetUserFocus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000339, XuiElementTreeGetFocus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000033A, XuiFindClass, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000033B, XuiFreeStringTable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000033C, XuiGetBaseObject, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000033D, XuiGetClass, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000033E, XuiGetObjectClass, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000033F, XuiGetOuter, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000340, XuiInit, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000341, XuiLoadFromBinary, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000342, XuiLoadStringTableFromFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000343, XuiVisualGetBasePath, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000344, XuiLookupStringTable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000345, XuiNavButtonGetPressPath, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000346, XuiObjectFromHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000347, XuiObjectGetProperty, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000348, XuiObjectGetPropertyId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000349, XuiProcessInput, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000034A, XuiRegisterClass, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000034B, XuiRenderBegin, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000034C, XuiRenderCreateDC, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000034D, XuiRenderDCDeviceChanged, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000034E, XuiRenderDestroyDC, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000034F, XuiRenderEnd, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000350, XuiRenderGetBackBufferSize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000351, XuiRenderInit, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000352, XuiRenderInitShared, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000353, XuiRenderPresent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000354, XuiRenderSetViewTransform, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000355, XuiRenderUninit, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000356, XamShowNuiGuideUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000357, XuiSceneCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000358, XuiSceneNavigateBack, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000359, XuiSceneNavigateFirst, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000035A, XuiSceneNavigateForward, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000035B, XuiScenePlayBackFromTransition, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000035C, XuiScenePlayBackToTransition, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000035D, XuiScenePlayFromTransition, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000035E, XuiScenePlayToTransition, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000035F, XuiSendMessage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000360, XuiSetLocale, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000361, XuiUninit, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000362, XuiUnregisterClass, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000363, XuiTextElementSetText, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000364, XuiSetTimer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000365, XuiTimersRun, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000366, XuiTextElementGetText, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000367, XuiVisualSetBasePath, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000368, XuiHandleIsValid, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000369, XuiAlloc, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000036A, XuiFree, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000036B, XuiDefault_True, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000036C, XuiDefault_EmptyString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000036D, XuiDefault_IntegerZero, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000036E, XuiCopyString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000036F, XuiRealloc, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000370, XuiControlPlayOptionalVisual, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000371, XuiKillTimer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000372, XuiElementEnableInput, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000373, XuiElementInputEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000374, XuiIsInstanceOf, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000375, XuiResourceComposeLocator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000376, XuiResourceLocatorIsAbsolute, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000377, XuiBroadcastMessage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000378, XuiElementDisallowRecursiveTimelineControl, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000379, XUIElementPropVal_Construct, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000037A, XUIElementPropVal_Destruct, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000037B, XUIElementPropVal_SetString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000037C, XuiObjectSetProperty, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000037D, XuiElementGetOpacity, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000037E, XuiElementSetOpacity, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000037F, XuiEditSetTextLimit, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000380, XuiEditGetTextLimit, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000381, XuiSliderSetValue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000382, XuiSliderGetValue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000383, XuiSliderSetRange, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000384, XuiElementUnlink, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000385, XuiElementInsertChild, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000386, XuiSceneNavigateBackToFirst, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000387, XuiProgressBarSetRange, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000388, XuiProgressBarSetValue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000389, XuiProgressBarGetValue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000038A, XuiControlAttachVisual, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000038B, XuiCreateTextureBrush, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000038C, XuiDestroyBrush, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000038D, XUIElementPropVal_SetColorFromUint, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000038E, XuiFigureSetFill, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000038F, XuiSliderGetRange, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000390, XuiFigureSetTexture, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000391, XuiControlGetItemAssociation, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000392, XuiResourceLoadAll, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000393, XuiImageElementSetImagePath, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000394, XuiImageElementGetImagePath, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000395, XuiControlGetVisual, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000396, XuiControlGetNavigation, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000397, XuiLookupStringTableByIndex, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000398, XUIElementPropVal_SetBool, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000399, XuiElementHasFocus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000039A, XUIElementPropVal_SetUint, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000039B, XUIElementPropVal_Clear, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000039C, XuiEditSetTextFormatInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000039D, XuiCreateSolidBrush, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000039E, XuiSceneInterruptTransitions, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000039F, XuiResourceOpen, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003A0, XuiResourceRead, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003A1, XuiResourceClose, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003A2, XuiVisualCreateInstance, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003A3, XuiElementGetTimeline, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003A4, GetCodecVersion, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003A5, XuiElementIsDescendant, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003A6, XuiSetMessageFilter, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003A7, XuiAttachTextureBrush, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003A8, XuiElementBeginRender, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003A9, XuiElementEndRender, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003AA, XuiDrawShape, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003AB, XuiSelectBrushEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003AC, XuiFigureGetShape, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003AD, XuiFillRect, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003AE, XuiVec2TransformCoord, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003AF, XuiMatrixMultiply, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003B0, XuiElementGetXForm, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003B1, XuiElementSetPosition, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003B2, XuiSelectBrush, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003B3, XuiElementRenderChildren, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003B4, XuiFreeUnusedTextures, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003B5, XuiListEnableItemOverride, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003B6, XuiListGetDefaultItemSize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003B7, XuiResourceSeek, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003B8, XuiElementDiscardResources, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003B9, XuiTabSceneGoto, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003BA, XuiTabSceneGetCurrentTab, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003BB, XamShowWhatsOnUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003BC, XamShowEditProfileUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003BD, XamShowStorePickerUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003BE, XamShowTermsOfUseUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003BF, XamShowJoinPartyUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003C0, XamShowWordRegisterUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003C1, XamOverrideHudOpenType, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003C2, XamShowAchievementsUIEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003C3, XamUserGetUserTenure, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003C4, XamUserGetSubscriptionType, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003C5, XamShowGameVoiceChannelUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003C6, XamShowAvatarAwardsUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003C7, XamShowAvatarAwardGamesUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003C8, XamShowVideoRichPresenceUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003C9, XamHudGetUserIndex, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003CA, XGetAudioFlags, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003CB, XGetAVPack, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003CC, XGetGameRegion, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003CD, XGetLanguage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003CE, XapipGetLocale, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003CF, XGetVideoFlags, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003D0, XGetVideoStandard, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003D1, XGetVideoMode, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003D2, XamGetLanguage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003D3, XUITimeline_Run, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003D4, XamSetAutomation, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003D5, XAutomationpBindController, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003D6, XAutomationpUnbindController, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003D7, XAutomationpInputXenonButton, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003D8, XAutomationpInputPress, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003D9, XAutomationpInputSetState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003DA, XamEnableOverdraw, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003DB, g_XuiAutomation, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003DC, XamVoiceGetMicArrayAudio, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003DD, XampSystemInput, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003DE, XamInputControl, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003DF, XuiElementGetPosition, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003E0, XamIsMessageBoxActive, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003E1, XamIsBackgroundSceneInTransition, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003E2, XuiElementTreeHasFocus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003E3, XuiFigureClose, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003E4, GamerCardStartup, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003E5, GamerCardCleanup, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003E6, GamerCardRegisterControls, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003E7, GamerCardUnregisterControls, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003E8, RtlFindFirstFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003E9, RtlFindNextFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003EA, RtlGetModuleFileName, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003EB, RtlOutputDebugString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003EC, RtlRemoveDirectory, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003ED, RtlSleep, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003EE, RtlGetLastError, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003EF, RtlSetLastError, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003F0, RtlSetLastNTError, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003F1, RtlDebugPrint, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003F2, RtlDebugError, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003F3, XDebugWarning, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003F4, RtlDebugTrace, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003F5, RtlDebugEntry, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003F6, RtlDebugExit, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003F7, RtlGetAttributesOnHeapAlloc, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003F8, RtlSetAttributesOnHeapAlloc, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003F9, XuiFigureSetShape, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003FA, RtlCreateHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003FB, RtlDestroyHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003FC, RtlAllocateHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003FD, RtlAllocateHeapSlowly, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003FE, RtlReAllocateHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000003FF, RtlFreeHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000400, RtlFreeHeapSlowly, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000401, RtlSizeHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000402, RtlZeroHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000403, RtlDebugWalkHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000404, RtlWalkHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000405, RtlLockHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000406, RtlUnlockHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000407, RtlValidateHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000408, RtlDebugCompactHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000409, RtlCompactHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000040A, XamAppSetTestOption, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000040B, XamAppReportError, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000040C, XamIsNuiUIActive, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000040D, XamVerifyPasscode, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000040E, OutputDebugStringA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000040F, DebugBreak, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000410, GetCurrentThreadId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000411, XDebugError, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000412, XDebugWarning, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000413, RtlDebugSetLevel, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000414, CloseHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000415, GetTickCount, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000416, GetLastError, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000417, SetFilePointer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000418, SetFilePointerEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000419, SetLastError, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000041A, MultiByteToWideChar, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000041B, WideCharToMultiByte, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000041C, ReadFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000041D, FlushFileBuffers, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000041E, WriteFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000041F, OutputDebugStringW, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000420, SetEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000421, XapiFormatTimeOut, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000422, CreateMutexA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000423, OpenMutexA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000424, ReleaseMutex, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000425, WaitForSingleObject, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000426, WaitForSingleObjectEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000427, GetFileSize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000428, GetFileSizeEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000429, XapiDirectoryInformationToFindData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000042A, XapiFormatObjectAttributes, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000042B, ResetEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000042C, wsprintfA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000042D, wsprintfW, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000042E, GetOverlappedResult, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000042F, QueryPerformanceCounter, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000430, QueryPerformanceFrequency, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000431, LocalAlloc, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000432, LocalFree, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000433, RaiseException, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000434, RtlUniform, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000435, RtlRandom, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000436, Sleep, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000437, SleepEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000438, XMemSet, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000439, XRegisterThreadNotifyRoutine, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000043A, XGetOverlappedExtendedError, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000043B, XGetOverlappedResult, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000043C, CreateThread, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000043D, ResumeThread, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000043E, ExitThread, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000043F, GetTimeZoneInformation, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000440, GetSystemTimeAsFileTime, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000441, SystemTimeToFileTime, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000442, FileTimeToSystemTime, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000443, GetSystemTime, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000444, GetLocalTime, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000445, CreateDirectoryA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000446, CreateEventA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000447, CreateFileA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000448, DeleteFileA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000449, FindFirstFileA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000044A, FindNextFileA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000044B, GetFileAttributesA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000044C, XamLoaderGetCurrentTitleD3DVersion, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000044D, GetFileAttributesExA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000044E, GetModuleHandleA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000044F, GetDiskFreeSpaceExA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000450, CopyFileA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000451, SetEndOfFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000452, XamFamilyAddParentalExemptionToList, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000453, XamFamilyIsParentalValidationRequired, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000454, PIXBeginCapture, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000455, PIXEndCapture, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000456, PIXAddCounter, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000457, PIXGetGPUSlot, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000458, SetWaitableTimer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000459, CancelWaitableTimer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000045A, CreateWaitableTimerA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000045B, DuplicateHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000045C, XapipCreateThread, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000045D, lstrcpyA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000045E, lstrcpyW, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000045F, lstrcpynA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000460, lstrcpynW, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000461, lstrcatA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000462, lstrcatW, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000463, lstrlenA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000464, lstrlenW, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000465, IsBadReadPtr, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000466, IsBadWritePtr, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000467, FileTimeToLocalFileTime, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000468, XMemCpy, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000469, XMemCpyStreaming, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000046A, XamHudSetUserIndex, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000046B, XamShowNuiTroubleshooterUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000046C, XamTestShowNuiTroubleshooterUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000046D, XamShowPasscodeVerifyUIEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000046E, XamShowNuiAchievementsUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000046F, XamShowNuiCommunitySessionsUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000470, XamShowNuiDeviceSelectorUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000471, XamShowNuiDirtyDiscErrorUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000472, XamShowNuiFriendsUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000473, XamShowNuiGameInviteUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000474, XamShowNuiGamerCardUIForXUID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000475, XamShowNuiMarketplaceDownloadItemsUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000476, XamShowNuiMarketplaceUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000477, XamShowNuiMessageBoxUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000478, XamShowNuiPartyUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000479, XamShowNuiFriendRequestUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000047A, XamShowNuiSigninUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000047B, XamShowNuiControllerRequiredUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000047C, XamShowNuiGamesUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000047D, XamShowNuiHardwareRequiredUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000047E, XamCacheStoreFileByString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000047F, XamCacheFetchFileByString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000480, XamCacheDeleteFileByString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000481, XamGetCachedTitleNameEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000482, XamXlfsInitializeUploadQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000483, XamXlfsUninitializeUploadQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000484, XamXlfsMountUploadQueueInstance, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000485, XamXlfsUnmountUploadQueueInstance, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000486, XamVoiceRecordUserPrivileges, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000487, XamXlfsInitializeUploadQueueWithTestHooks, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000488, XamXlfsNotifyContentDeletion, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000489, XMemAlloc, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000048A, XMemFree, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000048B, XMemSize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000048C, XamVoiceSetMicArrayIdleUsers, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000048D, XamVoiceMuteMicArray, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000048E, XamVoiceGetMicArrayUnderrunStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000048F, XuiSceneEnableTransitionDependency, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000490, XamVoiceGetMicArrayAudioEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000491, XamVoiceDisableMicArray, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000497, XamVoiceIsActiveProcess, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000004B0, XMPRegisterCodec, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000514, XamIsCurrentTitleIptv, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000515, XamIsIptvEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000516, XamIsDvrRecording, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000517, XamIptvUninstall, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000518, XamGetDvrStorage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000519, XamSetDvrStorage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000051A, XamIptvGetServiceName, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000051B, XamNuiHudGetEngagedEnrollmentIndex, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000578, XamReminderGetItems, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000579, XamReminderClearItems, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000057A, XamReminderItemAdd, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000057B, XamReminderItemRemove, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000057C, XamReminderGetNextItem, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000057D, XamReminderGetModifiedTime, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000057E, XamReminderClearCache, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005DC, XamAvatarInitialize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005DD, XamAvatarShutdown, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005DE, XamAvatarGetManifestLocalUser, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005DF, XamAvatarGetManifestsByXuid, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005E0, XamAvatarGetAssetsResultSize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005E1, XamAvatarGetAssets, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005E2, XamAvatarGenerateMipMaps, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005E3, XamAvatarSetCustomAsset, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005E4, XamAvatarSetManifest, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005E5, EnumerateMediaObjects, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005E6, EnumerateMediaObjects, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005E7, XamAvatarLoadAnimation, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005E8, XamAvatarBeginEnumAssets, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005E9, XamAvatarEndEnumAssets, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005EA, XamAvatarEnumAssets, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005EB, XamAvatarGetMetadataRandom, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005EC, EnumerateMediaObjects, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005ED, EnumerateMediaObjects, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005EE, XamAvatarGetMetadataSignedOutProfileCount, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005EF, XamAvatarGetMetadataSignedOutProfile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005F0, EnumerateMediaObjects, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005F1, XamAvatarManifestGetBodyType, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005F2, XamAvatarGetInstrumentation, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005F3, XamAvatarGetAssetIcon, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005F4, XamAvatarWearNow, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005F5, XamAvatarGetAssetBinary, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005F6, XamAvatarReinstallAwardedAsset, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005F7, XamAvatarGetInstalledAssetPackageDescription, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000005F8, XamAvatarSetMocks, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000060E, XamContentMountInstalledGame, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000060F, XamContentIsGameInstalledToHDD, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000610, XamContentQueryLicenseInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000611, XamContentGetDeviceVolumePath, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000612, XamContentDeviceCheckUpdates, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000613, XamContentGetHeaderInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000640, XamPackageManagerFindPackageContainingIndexedXEX, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000641, XamPackageManagerReinitialize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000642, XamPackageManagerGetAuthoritativeManifestVersion, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000643, XamGetCurrentSystemOnlineManifestRevision, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000644, XamPackageManagerDeleteExtendedPartition, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000645, XamPackageManagerHasExtendedPartition, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000646, XamPackageManagerGetExperienceMode, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000647, XamPackageManagerGetFeatureRequiresUpdateStrings, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000648, XamPackageManagerGetFileSize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000649, XampDemandUpdateGetAttributes, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000064A, XampDemandUpdateGetExtendedAttributes, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000064B, XampDemandUpdateGetInstance, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000064C, XampDemandUpdateSetRefreshTestFlags, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000064D, XampDemandUpdateIsRefreshTestFlagSet, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000064E, XampDemandUpdateGetManifestLocalPath, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000064F, XampDemandUpdateRefreshManifest, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000650, XdfInitialize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000651, XdfShutdown, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000652, XdfGetExpectedDownloadSize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000653, XdfGetItem, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000654, XdfCacheItem, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000655, XdfLoadXexFromCache, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000656, XdfLoadXex, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000657, XdfCancelRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000658, XdfResumeDelayedItem, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000659, XdfLaunchNewImageFromCache, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000065A, XampDemandUpdateRefreshManifestDuringLogon, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000065B, XampDemandUpdateCheckOnlineManifestChanged, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000065C, XampDemandUpdateRunCacheCleaner, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000686, XamXStudioRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000006A4, XamShowAvatarMiniCreatorUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000006A5, XamShowGoldUpgradeUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000006A6, XamResumeUpdaterUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000006A7, XamShowDirectAcquireUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000006A8, XamShowPaymentOptionsUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000708, XamGetLiveHiveValueA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000709, XamGetLiveHiveValueW, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000070A, XamGetLiveHiveValueDuringLogonAttemptA, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000076C, XamDownloadMarketplaceStoresList, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000076D, XamGetStoreFront, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000076E, XamSetStagingMode, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000076F, XamGetStagingMode, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000770, XamAppGetSessionId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007D0, XamDoesOmniNeedConfiguration, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007D1, XamFirstRunExperienceShouldRun, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007D2, GetProcessHeap, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007D3, UnhandledExceptionFilter, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007D4, SetUnhandledExceptionFilter, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007D5, XamIsOptionalMediaUpdateInstalled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007D6, XamShowOptionalMediaUpdateRequiredUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007D7, XamShowOptionalMediaUpdateRequiredUIEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007D8, XamShowFirstRunWelcomeUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007D9, XamTaskCreateQueueEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007DA, XamSetDashBackstackData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007DB, XamLaunchAvatarEditor, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007DC, XamGetDashBackstackData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007DD, XamGetDashBackstackNodesCount, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007DE, XamSetLastActiveUserData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007DF, XamGetLastActiveUserData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007E0, XamSetActiveDashAppInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000007E1, XamGetActiveDashAppInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000802, XamUserCreateAvatarAssetEnumerator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000803, XamInitializeGameTileCache, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000804, XamDestroyGameTileCache, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000805, XamReadGameTileImage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000806, XamShouldThrottleAccountInfoCall, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000807, XuiClassDerivesFrom, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000808, XuiFreeVisuals, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000809, XuiGetBaseClass, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000080A, XuiLoadVisualFromBinary, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000080B, XuiResourceGetBuffer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000080C, XuiResourceGetTotalSize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000080D, XuiElementGetUserData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000080E, XuiElementSetUserData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000080F, XuiTabSceneGetCount, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000810, XuiSliderGetStep, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000811, XuiSliderSetStep, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000812, XuiProgressBarGetRange, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000813, XuiElementSetHittable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000814, XuiElementPlayNamedFrames, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000815, XuiElementGetPivot, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000816, XuiElementGetPrev, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000817, XuiElementGetScale, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000818, XuiElementSetPivot, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000819, XuiElementSetRotation, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000081A, XuiElementSetScale, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000081B, XuiControlWantsUnfocusedInput, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000081C, XuiResourceOpenNoLoc, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000081D, XuiResourceReleasePackage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000081E, XuiResourceGetPackageEntryInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000081F, XuiResourceGetPackageEntryCount, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000820, XuiResourceOpenPackage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000821, XamCodeCoverageFileOpen, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000822, XamCodeCoverageFileClose, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000823, XamCodeCoverageFileLseek, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000824, XamCodeCoverageFileRead, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000825, XamCodeCoverageFileWrite, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000826, Refresh, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000827, XampHeapGetInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000828, XampHeapGetCount, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000829, XamShowPamUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000082A, XuiElementLayoutTree, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000082B, XamRegisterScreenSaverCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000082C, XUIElementPropVal_SetInt, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000082D, XUIElementPropVal_SetFloat, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000082E, XuiObjectGetPropertyDef, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000082F, XuiRenderGetDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000830, XuiRenderRestoreState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000831, XuiElementGetFullXForm, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000832, XuiRenderGetViewTransform, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000833, XuiRenderGetColorSpace, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000834, XamPngEncode, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000835, XamPngDecode, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000836, XamPngEncodeEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000837, XuiTextElementMeasureText, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000838, XamLoaderShouldConfirmReboot, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000839, XamLoaderRebootToDash, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000083A, XamNuiHudGetEngagedTrackingID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000083B, XamLoaderLaunchTitleForReason, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000083C, XamNuiHudSetEngagedTrackingID, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000083E, XamSetupTexture, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000841, XamSetupCameraPreviewStuff, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000842, XamReleaseCameraPreviewStuff, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000843, XamRenderCameraPreviewStuff, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000848, XamAccountRecoveryGetSetTitleSyncTime, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000849, XamReadBiometricData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000084A, XamWriteBiometricData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000084B, XamD3DResourceDescriptorCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000084C, XamD3DResourceDescriptorAddRef, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000084D, XamD3DResourceDescriptorRelease, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000084E, XamD3DResourceAddRef, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000084F, XamD3DResourceSet, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000850, XamD3DResourceIsBusy, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000851, XamD3DResourceRelease, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000085E, XamNuiEnableChatMic, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000085F, XamNuiIsChatMicEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000860, XamNuiGetDepthCalibration, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000861, XamNuiStoreDepthCalibration, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000862, XamUserNuiIsBiometricEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000863, XamUserNuiEnableBiometric, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000864, XamNuiCameraSetFlags, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000865, XamNuiCameraRememberFloor, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000866, XamUserNuiGetUserIndexForBind, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000867, XamUserNuiGetUserIndexForSignin, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000868, XamUserNuiBind, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000869, XamUserNuiGetUserIndex, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000086A, XamUserNuiGetEnrollmentIndex, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000086B, XamUserNuiUnbind, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000086C, XamNuiIdentityGetQualityFlagsMessage, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000086D, XamNuiCameraTiltSetCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000086E, XamNuiHudIsEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000086F, XamNuiCameraGetTiltControllerType, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000870, XamNuiCameraTiltGetStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000871, XamNuiIdentityGetQualityFlags, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000872, XamNuiIdentityEnrollForSignIn, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000873, XamNuiIdentityGetSessionId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000874, XamNuiIdentityIdentifyWithBiometric, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000875, ControlPackGetHandleManager, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000876, XamEnableNuiAutomation, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000877, XamNuiGetSystemGestureControl, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000878, XamGetPasscodeKeyFromVirtualKey, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000879, XamEnableNatalPlayback, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000087A, XamIsNuiAutomationEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000087B, XamIsNatalPlaybackEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000087C, XamNuiHudInterpretFrame, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000087D, XamNuiHudEnableInputFilter, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000087E, ControlpackNuiCursorSetTrackingId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000087F, XamNuiHudGetInitializeFlags, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000880, XamNuiCameraElevationSetAngle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000881, XamNuiCameraElevationGetAngle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000882, XamNuiCameraElevationAutoTilt, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000883, XamNuiCameraElevationStopMovement, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000884, XamNuiCameraElevationSetCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000885, XamNuiGetDeviceStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000886, XamNuiNatalCameraUpdateStarting, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000887, XamNuiNatalCameraUpdateComplete, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000888, XamNuiHudGetVersions, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000889, XamGetHUDElementByPath, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000088A, XamGetHUDElementByAutoId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000088B, XuiElementGetScreenPositionCenter, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000088C, XamNuiCameraElevationReverseAutoTilt, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000088D, ControlPackSimpleCursorGetRayFromScreenPosition, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000088E, ControlPackSideNavControlGetNuiHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000088F, XamFindHUDElementByXuiId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000890, XamNuiIsDeviceReady, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000891, XamNuiSetForceDeviceOff, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000892, XamNuiPlayerEngagementUpdate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000893, XamNuiSkeletonGetBestSkeletonIndex, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000894, XamNuiSkeletonScoreUpdate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000895, XamNuiCameraTiltReportStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000896, XamNuiCameraAdjustTilt, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000898, D3DDevice_CreateVertexShader, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000899, D3DDevice_CreatePixelShader, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000089A, D3DDevice_CreateTexture, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000089B, D3DDevice_CreateVertexBuffer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000089C, D3DDevice_CreateIndexBuffer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000089D, D3DDevice_CreateVertexDeclaration, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000089E, D3DVertexBuffer_Unlock, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x0000089F, D3DVertexBuffer_Lock, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008A0, D3DIndexBuffer_Unlock, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008A1, D3DIndexBuffer_Lock, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008A2, D3DTexture_UnlockRect, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008A3, D3DTexture_LockRect, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008A4, D3DDevice_Clear, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008A5, D3DDevice_SetViewport, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008A6, D3DDevice_GetViewport, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008A7, D3DVertexShader_Release, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008A8, D3DPixelShader_Release, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008A9, D3DVertexDeclaration_Release, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008AA, D3DResource_Release, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008AB, D3DDevice_Release, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008AC, D3DDevice_SetVertexShader, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008AD, D3DDevice_SetPixelShader, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008AE, D3DDevice_SetTexture, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008AF, D3DDevice_SetVertexDeclaration, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008B0, D3DDevice_SetIndices, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008B1, D3DDevice_SetStreamSource, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008B2, D3DDevice_DrawVertices, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008B3, D3DDevice_DrawVerticesUP, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008B4, D3DDevice_DrawIndexedVertices, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008B5, D3DDevice_DrawIndexedVerticesUP, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008B6, D3DDevice_SetVertexShaderConstantF_ParameterCheck, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008B7, D3DDevice_SetPixelShaderConstantF_ParameterCheck, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008B8, D3DDevice_SetSamplerState_ParameterCheck, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008B9, D3DDevice_SetRenderState_ParameterCheck, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008BA, D3DDevice_GetRenderState_ParameterCheck, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008BB, D3DDevice_SetVertexShaderConstantFN, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008BC, D3DDevice_SetPixelShaderConstantFN, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008BD, D3DDevice_GetRenderState_ZEnable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008BE, D3DDevice_GetRenderState_CullMode, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008BF, D3DDevice_GetRenderState_AlphaBlendEnable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008C0, D3DDevice_GetRenderState_SrcBlendAlpha, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008C1, D3DDevice_GetRenderState_DestBlendAlpha, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008C2, D3DDevice_GetRenderState_BlendOp, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008C3, D3DDevice_GetRenderState_ViewportEnable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008C4, D3DDevice_SetRenderState_ZEnable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008C5, D3DDevice_SetRenderState_CullMode, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008C6, D3DDevice_SetRenderState_AlphaBlendEnable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008C7, D3DDevice_SetRenderState_SrcBlendAlpha, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008C8, D3DDevice_SetRenderState_DestBlendAlpha, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008C9, D3DDevice_SetRenderState_BlendOp, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008CA, D3DDevice_SetRenderState_ViewportEnable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008CB, D3DDevice_SetSamplerState_MagFilter, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008CC, D3DDevice_SetSamplerState_MinFilter, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008CD, D3DDevice_SetSamplerState_AddressU, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008CE, D3DDevice_SetSamplerState_AddressV, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008CF, XGSetTextureHeader, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008D0, XGGetTextureDesc, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008D1, XGOffsetResourceAddress, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008D2, D3DResource_AddRef, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008D3, D3DVertexShader_AddRef, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008D4, D3DPixelShader_AddRef, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008D5, D3DVertexDeclaration_AddRef, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008D6, XGSetTextureHeaderEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008D7, D3DDevice_GetRenderTarget, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008D8, D3DDevice_SetRenderTarget, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008D9, D3DDevice_GetDepthStencilSurface, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008DA, D3DDevice_SetDepthStencilSurface, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008DB, D3DDevice_Resolve, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008DC, D3DDevice_SetPixelShaderConstantB, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008DD, XamNuiGetDeviceSerialNumber, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008FC, XamXtwManagerGetVariableCount, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008FD, XamXtwManagerGetId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008FE, XamXtwManagerGetValue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000008FF, XamXtwManagerSetValue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000900, XamXtwManagerIncrement, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000901, XamXtwManagerDecrement, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000902, XamXtwManagerResetValue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000903, XamXtwManagerResetAll, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000904, XamXtwManagerGetDataFilePath, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000905, XamXtwManagerDeleteDataFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000906, XamXtwManagerSave, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000907, XamXtwManagerLoad, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000908, XamGetXTweakManager, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009C4, XamBackgroundDownloadSetMode, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009C5, XamBackgroundDownloadIsEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009C6, XamBackgroundDownloadGetActiveItem, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009C7, XamBackgroundDownloadGetItems, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009C8, XamBackgroundDownloadClearItems, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009C9, XamBackgroundDownloadItemAdd, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009CA, XamBackgroundDownloadItemRemove, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009CB, XamBackgroundDownloadItemMakeFirst, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009CC, XamBackgroundDownloadSetForegroundPriority, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009CD, XamBackgroundDownloadGetForegroundPriority, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009CE, XamBackgroundDownloadItemToContentData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009CF, XamBackgroundDownloadItemGetStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009D0, XamBackgroundDownloadHistoryGetItem, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009D1, XamBackgroundDownloadItemGetHistoryStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009D2, XamBackgroundDownloadItemSetHistoryStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009D3, XamBackgroundDownloadItemGetStatusAsync, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009D4, XamBackgroundDownloadItemGetStatusEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009D5, XamBackgroundDownloadItemGetHistoryStatusEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009D6, XamBackgroundDownloadBindItems, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009D7, XamBackgroundDownloadSetPollingActive, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009D8, XamBackgroundDownloadGetPollingActive, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009D9, XamBackgroundDownloadGetMode, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009DA, XamBackgroundDownloadGetUnexpectedChangeCount, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009DB, XamBackgroundDownloadIsItemForThisConsole, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009DC, XamBackgroundDownloadSelectDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009DD, XamBackgroundDownloadItemModify, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009DE, XamBackgroundDownloadCacheLegacyMappingInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009DF, XamBackgroundDownloadGetLegacyMappingInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009E0, XamBackgroundDownloadGetLegacyId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x000009E1, XamBackgroundDownloadDoFail, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A28, XamSwapDisc, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A29, XamSwapDiscPatchAddress, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A2A, XamSwapCancel, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A32, XamRamDriveCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A33, XamRamDriveDestroy, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A5A, XamPlayTimerGetData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A5B, XamPlayTimerSetData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A5C, XamPlayTimerResume, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A5D, XamPlayTimerSuspend, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A5E, XamPlayTimerIsRunning, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A5F, XamPlayTimerIsEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A60, XamPlayTimerGetNextResetDate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A61, XamPlayTimerFormatDurationString, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A62, XamPlayTimerGetTimeRemaining, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A63, XamPlayTimerUpdateTimeRemaining, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A64, XamPlayTimerForceNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A65, XamPlayTimerRefreshResetDate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A6E, UpnpAVServerSearchInitialize, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A6F, UpnpAVServerSearchDestroy, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A70, UpnpAVServerSearchStart, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A71, Destroy, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A72, UpnpAVServerSearchDoWork, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A73, UpnpAVServerSearchGetNextServer, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A8C, XCustomBroadcastGamercardEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000A8D, XamCustomGetCurrentActions, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AA0, XamInstrumentationLogEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AA1, XamRegisterSMCNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AAA, XamInstrumentationLogEventEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AAB, XamInstrumentationGetSourceConfig, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AAC, XamInstrumentationDebugConfig, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000ADC, CurlCreateCacheEntry, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000ADD, CurlOpenCacheEntry, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000ADE, CurlSetCacheEntryExpireTime, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000ADF, CurlReadCacheEntryHeaders, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AE0, CurlReadCacheEntryContent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AE1, CurlWriteCacheEntryContent, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AE2, CurlCloseCacheEntry, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AE3, CurlEnumerateCacheEntry, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AE5, CurlWipeBackingFiles, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AE7, CurlOpenTitleBackingFile, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AF0, XamSetSecurityViolationDetected, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AF1, XamIsSecurityViolationDetected, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AF2, XamIsAnySecurityViolationDetected, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AF3, XamGetSecurityViolationsDetected, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AF4, XamActivateCounterMeasure, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AF5, XamDeactivateCounterMeasure, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AF6, XamIsCounterMeasureActivated, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AF7, XamGetActiveCounterMeasures, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AFC, XamPartyCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AFD, XamPartyLeave, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AFE, XamPartySendInviteDeprecated, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000AFF, XamPartyGetUserList, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B00, XamPartySendGameInvites, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B01, XamPartyJoin, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B02, XamPartyKickUser, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B03, XamPartyAddLocalUsers, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B04, XamConvertEmoticons, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B05, XamGetLocaleTimeFormat, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B06, XamPartyRemoveLocalUsers, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B07, XamPartyGetUserListInternal, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B08, XamPartySetJoinable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B09, XamPartyGetJoinable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B0A, XamPartyGetInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B0B, XamPartySetCustomData, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B0C, XamPartySetConnectivityGraph, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B0D, XamPartyGetRoutingTable, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B0E, XamPartyAutomationInprocCall, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B0F, XamPartyGetState, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B10, XamPartyGetBandwidth, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B11, XamPartyGetNetworkCounters, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B12, XamShowQuickLaunchUI, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B13, XamPartyIsCoordinator, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B14, XamPartyGetFormation, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B15, XamPartySendInvite, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B16, XamPartySetTestDelay, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B17, XamPartyOverrideNatType, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B18, XamPartyGetAccessLevel, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B19, XamPartySetTestFlags, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B1A, XamIsSystemExperienceTitleId, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B22, XamTaskSetCancelSubTasks, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B23, XamTaskGetCompletionStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B24, XamTaskCancelWaitAndCloseWaitTask, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B2C, XamWebInstrumentationCreateReport, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B2D, XamWebInstrumentationSetUserVar, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B2E, XamWebInstrumentationSetUserVarNoEscape, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B2F, XamWebInstrumentationGetURL, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B30, XamWebInstrumentationSendReport, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B31, XamWebInstrumentationDestroyReport, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B32, XamWebInstrumentationCreateSampledReport, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B33, XampSetSamplingRandomValue, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B34, XampWebInstrumentationSetProfileCounts, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B35, XamWebInstrumentationGetURLEx, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B36, XampSetOmnitureCallbackFunction, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B37, XamShowQuickChatUIp, ? , Function, 0), +XE_DECLARE_EXPORT(xam, 0x00000B4A, XamVerifyXSignerSignature, ? , Function, 0), }; #undef FLAG +} // namespace xam +} // namespace kernel +} // namespace xe + + #endif // XENIA_KERNEL_MODULES_XAM_TABLE_H_ diff --git a/src/kernel/modules/xbdm/sources.gypi b/src/kernel/modules/xbdm/sources.gypi index 84dee72da..66f53e060 100644 --- a/src/kernel/modules/xbdm/sources.gypi +++ b/src/kernel/modules/xbdm/sources.gypi @@ -1,6 +1,6 @@ # Copyright 2013 Ben Vanik. All Rights Reserved. { 'sources': [ - 'xbdm.cc', + 'xbdm_module.cc', ], } diff --git a/src/kernel/modules/xbdm/xbdm.cc b/src/kernel/modules/xbdm/xbdm.cc deleted file mode 100644 index e340a89cf..000000000 --- a/src/kernel/modules/xbdm/xbdm.cc +++ /dev/null @@ -1,42 +0,0 @@ -/** - ****************************************************************************** - * Xenia : Xbox 360 Emulator Research Project * - ****************************************************************************** - * Copyright 2013 Ben Vanik. All rights reserved. * - * Released under the BSD license - see LICENSE in the root for more details. * - ****************************************************************************** - */ - -#include "kernel/modules/xbdm/xbdm.h" - -#include "kernel/modules/xbdm/xbdm_table.h" - - -struct xe_xbdm { - xe_ref_t ref; -}; - - -xe_xbdm_ref xe_xbdm_create( - xe_pal_ref pal, xe_memory_ref memory, - xe_kernel_export_resolver_ref export_resolver) { - xe_xbdm_ref module = (xe_xbdm_ref)xe_calloc(sizeof(xe_xbdm)); - xe_ref_init((xe_ref)module); - - xe_kernel_export_resolver_register_table(export_resolver, "xbdm.exe", - xe_xbdm_export_table, XECOUNT(xe_xbdm_export_table)); - - return module; -} - -void xe_xbdm_dealloc(xe_xbdm_ref module) { -} - -xe_xbdm_ref xe_xbdm_retain(xe_xbdm_ref module) { - xe_ref_retain((xe_ref)module); - return module; -} - -void xe_xbdm_release(xe_xbdm_ref module) { - xe_ref_release((xe_ref)module, (xe_ref_dealloc_t)xe_xbdm_dealloc); -} diff --git a/src/kernel/modules/xbdm/xbdm_module.cc b/src/kernel/modules/xbdm/xbdm_module.cc new file mode 100644 index 000000000..14534c137 --- /dev/null +++ b/src/kernel/modules/xbdm/xbdm_module.cc @@ -0,0 +1,28 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2013 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#include "kernel/modules/xbdm/xbdm_module.h" + +#include "kernel/modules/xbdm/xbdm_table.h" + + +using namespace xe; +using namespace xe::kernel; +using namespace xe::kernel::xbdm; + + +XbdmModule::XbdmModule(xe_pal_ref pal, xe_memory_ref memory, + shared_ptr resolver) : + KernelModule(pal, memory, resolver) { + resolver->RegisterTable( + "xbdm.exe", xbdm_export_table, XECOUNT(xbdm_export_table)); +} + +XbdmModule::~XbdmModule() { +} diff --git a/src/kernel/modules/xbdm/xbdm.h b/src/kernel/modules/xbdm/xbdm_module.h similarity index 55% rename from src/kernel/modules/xbdm/xbdm.h rename to src/kernel/modules/xbdm/xbdm_module.h index b6c1f3252..a17ed2a5a 100644 --- a/src/kernel/modules/xbdm/xbdm.h +++ b/src/kernel/modules/xbdm/xbdm_module.h @@ -7,25 +7,32 @@ ****************************************************************************** */ -#ifndef XENIA_KERNEL_MODULES_XBDM_H_ -#define XENIA_KERNEL_MODULES_XBDM_H_ +#ifndef XENIA_KERNEL_MODULES_XBDM_MODULE_H_ +#define XENIA_KERNEL_MODULES_XBDM_MODULE_H_ #include #include #include +#include -struct xe_xbdm; -typedef struct xe_xbdm* xe_xbdm_ref; +namespace xe { +namespace kernel { +namespace xbdm { -xe_xbdm_ref xe_xbdm_create( - xe_pal_ref pal, xe_memory_ref memory, - xe_kernel_export_resolver_ref export_resolver); - -xe_xbdm_ref xe_xbdm_retain(xe_xbdm_ref module); -void xe_xbdm_release(xe_xbdm_ref module); +class XbdmModule : public KernelModule { +public: + XbdmModule(xe_pal_ref pal, xe_memory_ref memory, + shared_ptr resolver); + virtual ~XbdmModule(); +}; -#endif // XENIA_KERNEL_MODULES_XBDM_H_ +} // namespace xbdm +} // namespace kernel +} // namespace xe + + +#endif // XENIA_KERNEL_MODULES_XBDM_MODULE_H_ diff --git a/src/kernel/modules/xbdm/xbdm_table.h b/src/kernel/modules/xbdm/xbdm_table.h index fca0eff05..62078ec43 100644 --- a/src/kernel/modules/xbdm/xbdm_table.h +++ b/src/kernel/modules/xbdm/xbdm_table.h @@ -13,14 +13,24 @@ #include +namespace xe { +namespace kernel { +namespace xbdm { + + #define FLAG(t) kXEKernelExportFlag##t -static xe_kernel_export_t xe_xbdm_export_table[] = { +static KernelExport xbdm_export_table[] = { }; #undef FLAG +} // namespace xbdm +} // namespace kernel +} // namespace xe + + #endif // XENIA_KERNEL_MODULES_XBDM_TABLE_H_ diff --git a/src/kernel/modules/xboxkrnl/sources.gypi b/src/kernel/modules/xboxkrnl/sources.gypi index 85092433f..57a78021d 100644 --- a/src/kernel/modules/xboxkrnl/sources.gypi +++ b/src/kernel/modules/xboxkrnl/sources.gypi @@ -1,6 +1,6 @@ # Copyright 2013 Ben Vanik. All Rights Reserved. { 'sources': [ - 'xboxkrnl.cc', + 'xboxkrnl_module.cc', ], } diff --git a/src/kernel/modules/xboxkrnl/xboxkrnl.cc b/src/kernel/modules/xboxkrnl/xboxkrnl.cc deleted file mode 100644 index fc039f20b..000000000 --- a/src/kernel/modules/xboxkrnl/xboxkrnl.cc +++ /dev/null @@ -1,42 +0,0 @@ -/** - ****************************************************************************** - * Xenia : Xbox 360 Emulator Research Project * - ****************************************************************************** - * Copyright 2013 Ben Vanik. All rights reserved. * - * Released under the BSD license - see LICENSE in the root for more details. * - ****************************************************************************** - */ - -#include "kernel/modules/xboxkrnl/xboxkrnl.h" - -#include "kernel/modules/xboxkrnl/xboxkrnl_table.h" - - -struct xe_xboxkrnl { - xe_ref_t ref; -}; - - -xe_xboxkrnl_ref xe_xboxkrnl_create( - xe_pal_ref pal, xe_memory_ref memory, - xe_kernel_export_resolver_ref export_resolver) { - xe_xboxkrnl_ref module = (xe_xboxkrnl_ref)xe_calloc(sizeof(xe_xboxkrnl)); - xe_ref_init((xe_ref)module); - - xe_kernel_export_resolver_register_table(export_resolver, "xboxkrnl.exe", - xe_xboxkrnl_export_table, XECOUNT(xe_xboxkrnl_export_table)); - - return module; -} - -void xe_xboxkrnl_dealloc(xe_xboxkrnl_ref module) { -} - -xe_xboxkrnl_ref xe_xboxkrnl_retain(xe_xboxkrnl_ref module) { - xe_ref_retain((xe_ref)module); - return module; -} - -void xe_xboxkrnl_release(xe_xboxkrnl_ref module) { - xe_ref_release((xe_ref)module, (xe_ref_dealloc_t)xe_xboxkrnl_dealloc); -} diff --git a/src/kernel/modules/xboxkrnl/xboxkrnl_module.cc b/src/kernel/modules/xboxkrnl/xboxkrnl_module.cc new file mode 100644 index 000000000..1309bb561 --- /dev/null +++ b/src/kernel/modules/xboxkrnl/xboxkrnl_module.cc @@ -0,0 +1,28 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2013 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#include "kernel/modules/xboxkrnl/xboxkrnl_module.h" + +#include "kernel/modules/xboxkrnl/xboxkrnl_table.h" + + +using namespace xe; +using namespace xe::kernel; +using namespace xe::kernel::xboxkrnl; + + +XboxkrnlModule::XboxkrnlModule(xe_pal_ref pal, xe_memory_ref memory, + shared_ptr resolver) : + KernelModule(pal, memory, resolver) { + resolver->RegisterTable( + "xboxkrnl.exe", xboxkrnl_export_table, XECOUNT(xboxkrnl_export_table)); +} + +XboxkrnlModule::~XboxkrnlModule() { +} diff --git a/src/kernel/modules/xboxkrnl/xboxkrnl.h b/src/kernel/modules/xboxkrnl/xboxkrnl_module.h similarity index 53% rename from src/kernel/modules/xboxkrnl/xboxkrnl.h rename to src/kernel/modules/xboxkrnl/xboxkrnl_module.h index ed5d25f1d..3bd16c504 100644 --- a/src/kernel/modules/xboxkrnl/xboxkrnl.h +++ b/src/kernel/modules/xboxkrnl/xboxkrnl_module.h @@ -7,25 +7,32 @@ ****************************************************************************** */ -#ifndef XENIA_KERNEL_MODULES_XBOXKRNL_H_ -#define XENIA_KERNEL_MODULES_XBOXKRNL_H_ +#ifndef XENIA_KERNEL_MODULES_XBOXKRNL_MODULE_H_ +#define XENIA_KERNEL_MODULES_XBOXKRNL_MODULE_H_ #include #include #include +#include -struct xe_xboxkrnl; -typedef struct xe_xboxkrnl* xe_xboxkrnl_ref; +namespace xe { +namespace kernel { +namespace xboxkrnl { -xe_xboxkrnl_ref xe_xboxkrnl_create( - xe_pal_ref pal, xe_memory_ref memory, - xe_kernel_export_resolver_ref export_resolver); - -xe_xboxkrnl_ref xe_xboxkrnl_retain(xe_xboxkrnl_ref module); -void xe_xboxkrnl_release(xe_xboxkrnl_ref module); +class XboxkrnlModule : public KernelModule { +public: + XboxkrnlModule(xe_pal_ref pal, xe_memory_ref memory, + shared_ptr resolver); + virtual ~XboxkrnlModule(); +}; -#endif // XENIA_KERNEL_MODULES_XBOXKRNL_H_ +} // namespace xboxkrnl +} // namespace kernel +} // namespace xe + + +#endif // XENIA_KERNEL_MODULES_XBOXKRNL_MODULE_H_ diff --git a/src/kernel/modules/xboxkrnl/xboxkrnl_table.h b/src/kernel/modules/xboxkrnl/xboxkrnl_table.h index 9032e4179..78b62030b 100644 --- a/src/kernel/modules/xboxkrnl/xboxkrnl_table.h +++ b/src/kernel/modules/xboxkrnl/xboxkrnl_table.h @@ -13,873 +13,883 @@ #include +namespace xe { +namespace kernel { +namespace xboxkrnl { + + #define FLAG(t) kXEKernelExportFlag##t -static xe_kernel_export_t xe_xboxkrnl_export_table[] = { -XE_DECLARE_EXPORT(xboxkrnl, 0x00000001, DbgBreakPoint, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000002, DbgBreakPointWithStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000003, DbgPrint, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000004, DbgPrompt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000005, DumpGetRawDumpInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000006, DumpWriteDump, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000007, ExAcquireReadWriteLockExclusive, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000008, ExAcquireReadWriteLockShared, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000009, ExAllocatePool, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000000A, ExAllocatePoolWithTag, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000000B, ExAllocatePoolTypeWithTag, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000000C, ExConsoleGameRegion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000000D, ExCreateThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000000E, ExEventObjectType, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000000F, ExFreePool, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000010, ExGetXConfigSetting, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000011, ExInitializeReadWriteLock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000012, ExMutantObjectType, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000013, ExQueryPoolBlockSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000014, ExRegisterThreadNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000015, ExRegisterTitleTerminateNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000016, ExReleaseReadWriteLock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000017, ExSemaphoreObjectType, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000018, ExSetXConfigSetting, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000019, ExTerminateThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000001A, ExTerminateTitleProcess, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000001B, ExThreadObjectType, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000001C, ExTimerObjectType, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000001D, MmDoubleMapMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000001E, MmUnmapMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000001F, XeKeysGetConsoleCertificate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000020, FscGetCacheElementCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000021, FscSetCacheElementCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000022, HalGetCurrentAVPack, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000023, HalGpioControl, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000024, HalOpenCloseODDTray, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000025, HalReadWritePCISpace, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000026, HalRegisterPowerDownNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000027, HalRegisterSMCNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000028, HalReturnToFirmware, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000029, HalSendSMCMessage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000002A, HalSetAudioEnable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000002B, InterlockedFlushSList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000002C, InterlockedPopEntrySList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000002D, InterlockedPushEntrySList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000002E, IoAcquireDeviceObjectLock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000002F, IoAllocateIrp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000030, IoBuildAsynchronousFsdRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000031, IoBuildDeviceIoControlRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000032, IoBuildSynchronousFsdRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000033, IoCallDriver, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000034, IoCheckShareAccess, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000035, IoCompleteRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000036, IoCompletionObjectType, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000037, IoCreateDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000038, IoCreateFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000039, IoDeleteDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000003A, IoDeviceObjectType, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000003B, IoDismountVolume, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000003C, IoDismountVolumeByFileHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000003D, IoDismountVolumeByName, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000003E, IoFileObjectType, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000003F, IoFreeIrp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000040, IoInitializeIrp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000041, IoInvalidDeviceRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000042, ExSetBetaFeaturesEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000043, IoQueueThreadIrp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000044, IoReleaseDeviceObjectLock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000045, IoRemoveShareAccess, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000046, IoSetIoCompletion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000047, IoSetShareAccess, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000048, IoStartNextPacket, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000049, IoStartNextPacketByKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000004A, IoStartPacket, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000004B, IoSynchronousDeviceIoControlRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000004C, IoSynchronousFsdRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000004D, KeAcquireSpinLockAtRaisedIrql, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000004E, KeAlertResumeThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000004F, KeAlertThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000050, KeBlowFuses, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000051, KeBoostPriorityThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000052, KeBugCheck, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000053, KeBugCheckEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000054, KeCancelTimer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000055, KeConnectInterrupt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000056, KeContextFromKframes, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000057, KeContextToKframes, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000058, KeCreateUserMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000059, KeDebugMonitorData, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000005A, KeDelayExecutionThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000005B, KeDeleteUserMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000005C, KeDisconnectInterrupt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000005D, KeEnableFpuExceptions, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000005E, KeEnablePPUPerformanceMonitor, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000005F, KeEnterCriticalRegion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000060, KeEnterUserMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000061, KeFlushCacheRange, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000062, KeFlushCurrentEntireTb, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000063, KeFlushEntireTb, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000064, KeFlushUserModeCurrentTb, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000065, KeFlushUserModeTb, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000066, KeGetCurrentProcessType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000067, KeGetPMWRegister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000068, KeGetPRVRegister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000069, KeGetSocRegister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000006A, KeGetSpecialPurposeRegister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000006B, KeLockL2, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000006C, KeUnlockL2, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000006D, KeInitializeApc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000006E, KeInitializeDeviceQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000006F, KeInitializeDpc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000070, KeInitializeEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000071, KeInitializeInterrupt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000072, KeInitializeMutant, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000073, KeInitializeQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000074, KeInitializeSemaphore, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000075, KeInitializeTimerEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000076, KeInsertByKeyDeviceQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000077, KeInsertDeviceQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000078, KeInsertHeadQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000079, KeInsertQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000007A, KeInsertQueueApc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000007B, KeInsertQueueDpc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000007C, KeIpiGenericCall, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000007D, KeLeaveCriticalRegion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000007E, KeLeaveUserMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000007F, KePulseEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000080, KeQueryBackgroundProcessors, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000081, KeQueryBasePriorityThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000082, KeQueryInterruptTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000083, KeQueryPerformanceFrequency, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000084, KeQuerySystemTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000085, KeRaiseIrqlToDpcLevel, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000086, KeRegisterDriverNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000087, KeReleaseMutant, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000088, KeReleaseSemaphore, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000089, KeReleaseSpinLockFromRaisedIrql, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000008A, KeRemoveByKeyDeviceQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000008B, KeRemoveDeviceQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000008C, KeRemoveEntryDeviceQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000008D, KeRemoveQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000008E, KeRemoveQueueDpc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000008F, KeResetEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000090, KeRestoreFloatingPointState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000091, KeRestoreVectorUnitState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000092, KeResumeThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000093, KeRetireDpcList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000094, KeRundownQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000095, KeSaveFloatingPointState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000096, KeSaveVectorUnitState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000097, KeSetAffinityThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000098, KeSetBackgroundProcessors, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000099, KeSetBasePriorityThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000009A, KeSetCurrentProcessType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000009B, KeSetCurrentStackPointers, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000009C, KeSetDisableBoostThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000009D, KeSetEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000009E, KeSetEventBoostPriority, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000009F, KeSetPMWRegister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000A0, KeSetPowerMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000A1, KeSetPRVRegister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000A2, KeSetPriorityClassThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000A3, KeSetPriorityThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000A4, KeSetSocRegister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000A5, KeSetSpecialPurposeRegister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000A6, KeSetTimer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000A7, KeSetTimerEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000A8, KeStallExecutionProcessor, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000A9, KeSuspendThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000AA, KeSweepDcacheRange, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000AB, KeSweepIcacheRange, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000AC, KeTestAlertThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000AD, KeTimeStampBundle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000AE, KeTryToAcquireSpinLockAtRaisedIrql, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000AF, KeWaitForMultipleObjects, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000B0, KeWaitForSingleObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000B1, KfAcquireSpinLock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000B2, KfRaiseIrql, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000B3, KfLowerIrql, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000B4, KfReleaseSpinLock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000B5, KiBugCheckData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000B6, LDICreateDecompression, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000B7, LDIDecompress, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000B8, LDIDestroyDecompression, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000B9, MmAllocatePhysicalMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000BA, MmAllocatePhysicalMemoryEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000BB, MmCreateKernelStack, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000BC, MmDeleteKernelStack, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000BD, MmFreePhysicalMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000BE, MmGetPhysicalAddress, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000BF, MmIsAddressValid, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000C0, MmLockAndMapSegmentArray, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000C1, MmLockUnlockBufferPages, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000C2, MmMapIoSpace, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000C3, MmPersistPhysicalMemoryAllocation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000C4, MmQueryAddressProtect, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000C5, MmQueryAllocationSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000C6, MmQueryStatistics, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000C7, MmSetAddressProtect, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000C8, MmSplitPhysicalMemoryAllocation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000C9, MmUnlockAndUnmapSegmentArray, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000CA, MmUnmapIoSpace, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000CB, Nls844UnicodeCaseTable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000CC, NtAllocateVirtualMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000CD, NtCancelTimer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000CE, NtClearEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000CF, NtClose, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000D0, NtCreateDirectoryObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000D1, NtCreateEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000D2, NtCreateFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000D3, NtCreateIoCompletion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000D4, NtCreateMutant, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000D5, NtCreateSemaphore, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000D6, NtCreateSymbolicLinkObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000D7, NtCreateTimer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000D8, NtDeleteFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000D9, NtDeviceIoControlFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000DA, NtDuplicateObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000DB, NtFlushBuffersFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000DC, NtFreeVirtualMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000DD, NtMakeTemporaryObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000DE, NtOpenDirectoryObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000DF, NtOpenFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000E0, NtOpenSymbolicLinkObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000E1, NtProtectVirtualMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000E2, NtPulseEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000E3, NtQueueApcThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000E4, NtQueryDirectoryFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000E5, NtQueryDirectoryObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000E6, NtQueryEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000E7, NtQueryFullAttributesFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000E8, NtQueryInformationFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000E9, NtQueryIoCompletion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000EA, NtQueryMutant, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000EB, NtQuerySemaphore, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000EC, NtQuerySymbolicLinkObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000ED, NtQueryTimer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000EE, NtQueryVirtualMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000EF, NtQueryVolumeInformationFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000F0, NtReadFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000F1, NtReadFileScatter, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000F2, NtReleaseMutant, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000F3, NtReleaseSemaphore, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000F4, NtRemoveIoCompletion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000F5, NtResumeThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000F6, NtSetEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000F7, NtSetInformationFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000F8, NtSetIoCompletion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000F9, NtSetSystemTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000FA, NtSetTimerEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000FB, NtSignalAndWaitForSingleObjectEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000FC, NtSuspendThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000FD, NtWaitForSingleObjectEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000FE, NtWaitForMultipleObjectsEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000000FF, NtWriteFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000100, NtWriteFileGather, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000101, NtYieldExecution, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000102, ObCreateObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000103, ObCreateSymbolicLink, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000104, ObDeleteSymbolicLink, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000105, ObDereferenceObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000106, ObDirectoryObjectType, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000107, ObGetWaitableObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000108, ObInsertObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000109, ObIsTitleObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000010A, ObLookupAnyThreadByThreadId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000010B, ObLookupThreadByThreadId, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000010C, ObMakeTemporaryObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000010D, ObOpenObjectByName, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000010E, ObOpenObjectByPointer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000010F, ObReferenceObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000110, ObReferenceObjectByHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000111, ObReferenceObjectByName, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000112, ObSymbolicLinkObjectType, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000113, ObTranslateSymbolicLink, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000114, RtlAnsiStringToUnicodeString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000115, RtlAppendStringToString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000116, RtlAppendUnicodeStringToString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000117, RtlAppendUnicodeToString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000118, RtlAssert, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000119, RtlCaptureContext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000011A, RtlCompareMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000011B, RtlCompareMemoryUlong, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000011C, RtlCompareString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000011D, RtlCompareStringN, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000011E, RtlCompareUnicodeString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000011F, RtlCompareUnicodeStringN, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000120, RtlCompareUtf8ToUnicode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000121, RtlCopyString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000122, RtlCopyUnicodeString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000123, RtlCreateUnicodeString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000124, RtlDowncaseUnicodeChar, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000125, RtlEnterCriticalSection, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000126, RtlFillMemoryUlong, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000127, RtlFreeAnsiString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000128, RtlFreeUnicodeString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000129, RtlGetCallersAddress, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000012A, RtlGetStackLimits, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000012B, RtlImageXexHeaderField, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000012C, RtlInitAnsiString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000012D, RtlInitUnicodeString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000012E, RtlInitializeCriticalSection, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000012F, RtlInitializeCriticalSectionAndSpinCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000130, RtlLeaveCriticalSection, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000131, RtlLookupFunctionEntry, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000132, RtlLowerChar, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000133, RtlMultiByteToUnicodeN, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000134, RtlMultiByteToUnicodeSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000135, RtlNtStatusToDosError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000136, RtlRaiseException, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000137, RtlRaiseStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000138, RtlRip, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000139, _scprintf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000013A, _snprintf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000013B, sprintf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000013C, _scwprintf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000013D, _snwprintf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000013E, _swprintf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000013F, RtlTimeFieldsToTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000140, RtlTimeToTimeFields, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000141, RtlTryEnterCriticalSection, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000142, RtlUnicodeStringToAnsiString, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000143, RtlUnicodeToMultiByteN, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000144, RtlUnicodeToMultiByteSize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000145, RtlUnicodeToUtf8, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000146, RtlUnicodeToUtf8Size, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000147, RtlUnwind, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000148, RtlUnwind2, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000149, RtlUpcaseUnicodeChar, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000014A, RtlUpperChar, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000014B, RtlVirtualUnwind, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000014C, _vscprintf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000014D, _vsnprintf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000014E, vsprintf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000014F, _vscwprintf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000150, _vsnwprintf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000151, _vswprintf, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000152, KeTlsAlloc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000153, KeTlsFree, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000154, KeTlsGetValue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000155, KeTlsSetValue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000156, XboxHardwareInfo, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000157, XboxKrnlBaseVersion, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000158, XboxKrnlVersion, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000159, XeCryptAesKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000015A, XeCryptAesEcb, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000015B, XeCryptAesCbc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000015C, XeCryptBnDwLeDhEqualBase, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000015D, XeCryptBnDwLeDhInvalBase, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000015E, XeCryptBnDwLeDhModExp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000015F, XeCryptBnDw_Copy, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000160, XeCryptBnDw_SwapLeBe, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000161, XeCryptBnDw_Zero, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000162, XeCryptBnDwLePkcs1Format, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000163, XeCryptBnDwLePkcs1Verify, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000164, XeCryptBnQwBeSigCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000165, XeCryptBnQwBeSigFormat, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000166, XeCryptBnQwBeSigVerify, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000167, XeCryptBnQwNeModExp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000168, XeCryptBnQwNeModExpRoot, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000169, XeCryptBnQwNeModInv, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000016A, XeCryptBnQwNeModMul, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000016B, XeCryptBnQwNeRsaKeyGen, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000016C, XeCryptBnQwNeRsaPrvCrypt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000016D, XeCryptBnQwNeRsaPubCrypt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000016E, XeCryptBnQw_Copy, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000016F, XeCryptBnQw_SwapDwQw, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000170, XeCryptBnQw_SwapDwQwLeBe, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000171, XeCryptBnQw_SwapLeBe, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000172, XeCryptBnQw_Zero, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000173, XeCryptChainAndSumMac, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000174, XeCryptDesParity, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000175, XeCryptDesKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000176, XeCryptDesEcb, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000177, XeCryptDesCbc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000178, XeCryptDes3Key, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000179, XeCryptDes3Ecb, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000017A, XeCryptDes3Cbc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000017B, XeCryptHmacMd5Init, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000017C, XeCryptHmacMd5Update, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000017D, XeCryptHmacMd5Final, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000017E, XeCryptHmacMd5, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000017F, XeCryptHmacShaInit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000180, XeCryptHmacShaUpdate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000181, XeCryptHmacShaFinal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000182, XeCryptHmacSha, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000183, XeCryptHmacShaVerify, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000184, XeCryptMd5Init, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000185, XeCryptMd5Update, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000186, XeCryptMd5Final, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000187, XeCryptMd5, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000188, XeCryptParveEcb, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000189, XeCryptParveCbcMac, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000018A, XeCryptRandom, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000018B, XeCryptRc4Key, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000018C, XeCryptRc4Ecb, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000018D, XeCryptRc4, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000018E, XeCryptRotSumSha, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000018F, XeCryptShaInit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000190, XeCryptShaUpdate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000191, XeCryptShaFinal, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000192, XeCryptSha, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000193, XexExecutableModuleHandle, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000194, XexCheckExecutablePrivilege, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000195, XexGetModuleHandle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000196, XexGetModuleSection, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000197, XexGetProcedureAddress, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000198, XexLoadExecutable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000199, XexLoadImage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000019A, XexLoadImageFromMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000019B, XexLoadImageHeaders, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000019C, XexPcToFileHeader, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000019D, KiApcNormalRoutineNop, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000019E, XexRegisterPatchDescriptor, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000019F, XexSendDeferredNotifications, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001A0, XexStartExecutable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001A1, XexUnloadImage, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001A2, XexUnloadImageAndExitThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001A3, XexUnloadTitleModules, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001A4, XexVerifyImageHeaders, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001A5, __C_specific_handler, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001A6, DbgLoadImageSymbols, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001A7, DbgUnLoadImageSymbols, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001A8, RtlImageDirectoryEntryToData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001A9, RtlImageNtHeader, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001AA, ExDebugMonitorService, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001AB, MmDbgReadCheck, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001AC, MmDbgReleaseAddress, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001AD, MmDbgWriteCheck, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001AE, ExLoadedCommandLine, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001AF, ExLoadedImageName, ? , FLAG(Variable)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001B0, VdBlockUntilGUIIdle, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001B1, VdCallGraphicsNotificationRoutines, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001B2, VdDisplayFatalError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001B3, VdEnableClosedCaption, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001B4, VdEnableDisableClockGating, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001B5, VdEnableDisablePowerSavingMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001B6, VdEnableRingBufferRPtrWriteBack, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001B7, VdGenerateGPUCSCCoefficients, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001B8, VdGetClosedCaptionReadyStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001B9, VdGetCurrentDisplayGamma, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001BA, VdGetCurrentDisplayInformation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001BB, VdGetDisplayModeOverride, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001BC, VdGetGraphicsAsicID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001BD, VdGetSystemCommandBuffer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001BE, VdGlobalDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001BF, VdGlobalXamDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001C0, VdGpuClockInMHz, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001C1, VdHSIOCalibrationLock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001C2, VdInitializeEngines, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001C3, VdInitializeRingBuffer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001C4, VdInitializeScaler, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001C5, VdInitializeScalerCommandBuffer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001C6, VdIsHSIOTrainingSucceeded, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001C7, VdPersistDisplay, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001C8, VdQuerySystemCommandBuffer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001C9, VdQueryVideoFlags, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001CA, VdQueryVideoMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001CB, VdReadDVERegisterUlong, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001CC, VdReadWriteHSIOCalibrationFlag, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001CD, VdRegisterGraphicsNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001CE, VdRegisterXamGraphicsNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001CF, VdSendClosedCaptionData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001D0, VdSetCGMSOption, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001D1, VdSetColorProfileAdjustment, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001D2, VdSetCscMatricesOverride, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001D3, VdSetDisplayMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001D4, VdSetDisplayModeOverride, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001D5, VdSetGraphicsInterruptCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001D6, VdSetHDCPOption, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001D7, VdSetMacrovisionOption, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001D8, VdSetSystemCommandBuffer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001D9, VdSetSystemCommandBufferGpuIdentifierAddress, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001DA, VdSetWSSData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001DB, VdSetWSSOption, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001DC, VdShutdownEngines, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001DD, VdTurnDisplayOff, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001DE, VdTurnDisplayOn, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001DF, KiApcNormalRoutineNop, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001E0, VdWriteDVERegisterUlong, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001E1, XVoicedHeadsetPresent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001E2, XVoicedSubmitPacket, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001E3, XVoicedClose, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001E4, XVoicedActivate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001E5, XInputdGetCapabilities, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001E6, XInputdReadState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001E7, XInputdWriteState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001E8, XInputdNotify, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001E9, XInputdRawState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001EA, HidGetCapabilities, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001EB, HidReadKeys, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001EC, XInputdGetDeviceStats, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001ED, XInputdResetDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001EE, XInputdSetRingOfLight, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001EF, XInputdSetRFPowerMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001F0, XInputdSetRadioFrequency, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001F1, HidGetLastInputTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001F2, XAudioRenderDriverInitialize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001F3, XAudioRegisterRenderDriverClient, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001F4, XAudioUnregisterRenderDriverClient, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001F5, XAudioSubmitRenderDriverFrame, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001F6, XAudioRenderDriverLock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001F7, XAudioGetVoiceCategoryVolumeChangeMask, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001F8, XAudioGetVoiceCategoryVolume, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001F9, XAudioSetVoiceCategoryVolume, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001FA, XAudioBeginDigitalBypassMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001FB, XAudioEndDigitalBypassMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001FC, XAudioSubmitDigitalPacket, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001FD, XAudioQueryDriverPerformance, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001FE, XAudioGetRenderDriverThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000001FF, XAudioGetSpeakerConfig, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000200, XAudioSetSpeakerConfig, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000201, NicSetUnicastAddress, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000202, NicAttach, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000203, NicDetach, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000204, NicXmit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000205, NicUpdateMcastMembership, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000206, NicFlushXmitQueue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000207, NicShutdown, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000208, NicGetLinkState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000209, NicGetStats, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000020A, NicGetOpt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000020B, NicSetOpt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000020C, DrvSetSysReqCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000020D, DrvSetUserBindingCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000020E, DrvSetContentStorageCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000020F, DrvSetAutobind, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000210, DrvGetContentStorageNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000211, MtpdBeginTransaction, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000212, MtpdCancelTransaction, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000213, MtpdEndTransaction, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000214, MtpdGetCurrentDevices, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000215, MtpdReadData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000216, MtpdReadEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000217, MtpdResetDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000218, MtpdSendData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000219, MtpdVerifyProximity, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000021A, XUsbcamSetCaptureMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000021B, XUsbcamGetConfig, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000021C, XUsbcamSetConfig, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000021D, XUsbcamGetState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000021E, XUsbcamReadFrame, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000021F, XUsbcamSnapshot, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000220, XUsbcamSetView, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000221, XUsbcamGetView, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000222, XUsbcamCreate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000223, XUsbcamDestroy, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000224, XMACreateContext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000225, XMAInitializeContext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000226, XMAReleaseContext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000227, XMAEnableContext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000228, XMADisableContext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000229, XMAGetOutputBufferWriteOffset, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000022A, XMASetOutputBufferReadOffset, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000022B, XMAGetOutputBufferReadOffset, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000022C, XMASetOutputBufferValid, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000022D, XMAIsOutputBufferValid, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000022E, XMASetInputBuffer0Valid, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000022F, XMAIsInputBuffer0Valid, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000230, XMASetInputBuffer1Valid, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000231, XMAIsInputBuffer1Valid, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000232, XMASetInputBuffer0, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000233, XMASetInputBuffer1, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000234, XMAGetPacketMetadata, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000235, XMABlockWhileInUse, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000236, XMASetLoopData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000237, XMASetInputBufferReadOffset, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000238, XMAGetInputBufferReadOffset, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000239, ExIsBetaFeatureEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000023A, XeKeysGetFactoryChallenge, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000023B, XeKeysSetFactoryResponse, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000023C, XeKeysInitializeFuses, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000023D, XeKeysSaveBootLoader, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000023E, XeKeysSaveKeyVault, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000023F, XeKeysGetStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000240, XeKeysGeneratePrivateKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000241, XeKeysGetKeyProperties, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000242, XeKeysSetKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000243, XeKeysGenerateRandomKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000244, XeKeysGetKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000245, XeKeysGetDigest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000246, XeKeysGetConsoleID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000247, XeKeysGetConsoleType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000248, XeKeysQwNeRsaPrvCrypt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000249, XeKeysHmacSha, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000024A, XInputdPassThroughRFCommand, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000024B, XeKeysAesCbc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000024C, XeKeysDes2Cbc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000024D, XeKeysDesCbc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000024E, XeKeysObscureKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000024F, XeKeysHmacShaUsingKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000250, XeKeysSaveBootLoaderEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000251, XeKeysAesCbcUsingKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000252, XeKeysDes2CbcUsingKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000253, XeKeysDesCbcUsingKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000254, XeKeysObfuscate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000255, XeKeysUnObfuscate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000256, XeKeysConsolePrivateKeySign, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000257, XeKeysConsoleSignatureVerification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000258, XeKeysVerifyRSASignature, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000259, StfsCreateDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000025A, StfsControlDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000025B, VdSwap, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000025C, HalFsbInterruptCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000025D, XeKeysSaveSystemUpdate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000025E, XeKeysLockSystemUpdate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000025F, XeKeysExecute, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000260, XeKeysGetVersions, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000261, XInputdPowerDownDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000262, AniBlockOnAnimation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000263, AniTerminateAnimation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000264, XUsbcamReset, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000265, AniSetLogo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000266, KeCertMonitorData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000267, HalIsExecutingPowerDownDpc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000268, VdInitializeEDRAM, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000269, VdRetrainEDRAM, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000026A, VdRetrainEDRAMWorker, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000026B, VdHSIOTrainCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000026C, HalGetPowerUpCause, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000026D, VdHSIOTrainingStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000026E, RgcBindInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000026F, VdReadEEDIDBlock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000270, VdEnumerateVideoModes, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000271, VdEnableHDCP, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000272, VdRegisterHDCPNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000273, HidReadMouseChanges, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000274, DumpSetCollectionFacility, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000275, XexTransformImageKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000276, XAudioOverrideSpeakerConfig, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000277, XInputdReadTextKeystroke, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000278, DrvXenonButtonPressed, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000279, DrvBindToUser, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000027A, XexGetModuleImportVersions, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000027B, RtlComputeCrc32, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000027C, XeKeysSetRevocationList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000027D, HalRegisterPowerDownCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000027E, VdGetDisplayDiscoveryData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000027F, XInputdSendStayAliveRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000280, XVoicedSendVPort, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000281, XVoicedGetBatteryStatus, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000282, XInputdFFGetDeviceInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000283, XInputdFFSetEffect, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000284, XInputdFFUpdateEffect, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000285, XInputdFFEffectOperation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000286, XInputdFFDeviceControl, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000287, XInputdFFSetDeviceGain, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000288, XInputdFFCancelIo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000289, XInputdFFSetRumble, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000028A, NtAllocateEncryptedMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000028B, NtFreeEncryptedMemory, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000028C, XeKeysExSaveKeyVault, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000028D, XeKeysExSetKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000028E, XeKeysExGetKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000028F, DrvSetDeviceConfigChangeCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000290, DrvDeviceConfigChange, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000291, HalRegisterHdDvdRomNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000292, XeKeysSecurityInitialize, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000293, XeKeysSecurityLoadSettings, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000294, XeKeysSecuritySaveSettings, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000295, XeKeysSecuritySetDetected, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000296, XeKeysSecurityGetDetected, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000297, XeKeysSecuritySetActivated, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000298, XeKeysSecurityGetActivated, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000299, XeKeysDvdAuthAP25InstallTable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000029A, XeKeysDvdAuthAP25GetTableVersion, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000029B, XeKeysGetProtectedFlag, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000029C, XeKeysSetProtectedFlag, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000029D, KeEnablePFMInterrupt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000029E, KeDisablePFMInterrupt, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000029F, KeSetProfilerISR, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002A0, VdStartDisplayDiscovery, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002A1, VdSetHDCPRevocationList, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002A2, XeKeysGetUpdateSequence, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002A3, XeKeysDvdAuthExActivate, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002A4, KeGetImagePageTableEntry, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002A5, HalRegisterBackgroundModeTransitionCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002A6, AniStartBootAnimation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002A7, HalClampUnclampOutputDACs, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002A8, HalPowerDownToBackgroundMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002A9, HalNotifyAddRemoveBackgroundTask, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002AA, HalCallBackgroundModeNotificationRoutines, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002AB, HalFsbResetCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002AC, HalGetMemoryInformation, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002AD, XInputdGetLastTextInputTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002AE, VdEnableWMAProOverHDMI, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002AF, XeKeysRevokeSaveSettings, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002B0, XInputdSetTextMessengerIndicator, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002B1, MicDeviceRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002B2, XeKeysGetMediaID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002B3, XeKeysLoadKeyVault, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002B4, KeGetVidInfo, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002B5, HalNotifyBackgroundModeTransitionComplete, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002B6, IoAcquireCancelSpinLock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002B7, IoReleaseCancelSpinLock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002B8, NtCancelIoFile, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002B9, NtCancelIoFileEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002BA, HalFinalizePowerLossRecovery, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002BB, HalSetPowerLossRecovery, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002BC, ExReadModifyWriteXConfigSettingUlong, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002BD, HalRegisterXamPowerDownCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002BE, ExCancelAlarm, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002BF, ExInitializeAlarm, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002C0, ExSetAlarm, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002C1, XexActivationGetNonce, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002C2, XexActivationSetLicense, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002C3, IptvSetBoundaryKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002C4, IptvSetSessionKey, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002C5, IptvVerifyOmac1Signature, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002C6, IptvGetAesCtrTransform, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002C7, SataCdRomRecordReset, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002C8, XInputdSetTextDeviceKeyLocks, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002C9, XInputdGetTextDeviceKeyLocks, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002CA, XexActivationVerifyOwnership, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002CB, XexDisableVerboseDbgPrint, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002CC, SvodCreateDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002CD, RtlCaptureStackBackTrace, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002CE, XeKeysRevokeUpdateDynamic, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002CF, XexImportTraceEnable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002D0, ExRegisterXConfigNotification, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002D1, XeKeysSecuritySetStat, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002D2, VdQueryRealVideoMode, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002D3, XexSetExecutablePrivilege, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002D4, XAudioSuspendRenderDriverClients, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002D5, IptvGetSessionKeyHash, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002D6, VdSetCGMSState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002D7, VdSetSCMSState, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002D8, KeFlushMultipleTb, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002D9, VdGetOption, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002DA, VdSetOption, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002DB, UsbdBootEnumerationDoneEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002DC, StfsDeviceErrorEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002DD, ExTryToAcquireReadWriteLockExclusive, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002DE, ExTryToAcquireReadWriteLockShared, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002DF, XexSetLastKdcTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002E0, XInputdControl, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002E1, RmcDeviceRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002E2, LDIResetDecompression, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002E3, NicRegisterDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002E4, UsbdAddDeviceComplete, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002E5, UsbdCancelAsyncTransfer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002E6, UsbdGetDeviceSpeed, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002E7, UsbdGetDeviceTopology, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002E8, UsbdGetEndpointDescriptor, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002E9, UsbdIsDeviceAuthenticated, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002EA, UsbdOpenDefaultEndpoint, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002EB, UsbdOpenEndpoint, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002EC, UsbdQueueAsyncTransfer, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002ED, UsbdQueueCloseDefaultEndpoint, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002EE, UsbdQueueCloseEndpoint, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002EF, UsbdRemoveDeviceComplete, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002F0, KeRemoveQueueApc, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002F1, UsbdDriverLoadRequiredEvent, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002F2, UsbdGetRequiredDrivers, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002F3, UsbdRegisterDriverObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002F4, UsbdUnregisterDriverObject, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002F5, UsbdCallAndBlockOnDpcRoutine, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002F6, UsbdResetDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002F7, UsbdGetDeviceDescriptor, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002F8, NomnilGetExtension, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002F9, NomnilStartCloseDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002FA, WifiBeginAuthentication, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002FB, WifiCheckCounterMeasures, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002FC, WifiChooseAuthenCipherSetFromBSSID, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002FD, WifiCompleteAuthentication, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002FE, WifiGetAssociationIE, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x000002FF, WifiOnMICError, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000300, WifiPrepareAuthenticationContext, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000301, WifiRecvEAPOLPacket, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000302, WifiDeduceNetworkType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000303, NicUnregisterDevice, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000304, DumpXitThread, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000305, XInputdSetWifiChannel, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000306, NomnilSetLed, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000307, WifiCalculateRegulatoryDomain, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000308, WifiSelectAdHocChannel, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000309, WifiChannelToFrequency, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000030A, MmGetPoolPagesType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000030B, ExExpansionInstall, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000030C, ExExpansionCall, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000030D, PsCamDeviceRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000030E, McaDeviceRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000030F, DetroitDeviceRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000310, XeCryptSha256Init, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000311, XeCryptSha256Update, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000312, XeCryptSha256Final, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000313, XeCryptSha256, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000314, XeCryptSha384Init, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000315, XeCryptSha384Update, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000316, XInputdGetDevicePid, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000317, HalGetNotedArgonErrors, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000318, XeCryptSha384Final, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000319, HalReadArgonEeprom, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000031A, HalWriteArgonEeprom, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000031B, XeKeysFcrtLoad, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000031C, XeKeysFcrtSave, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000031D, XeKeysFcrtSet, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000031E, XeCryptSha384, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000031F, XeCryptSha512Init, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000320, XAudioRegisterRenderDriverMECClient, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000321, XAudioUnregisterRenderDriverMECClient, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000322, XAudioCaptureRenderDriverFrame, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000323, XeCryptSha512Update, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000324, XeCryptSha512Final, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000325, XeCryptSha512, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000326, XeCryptBnQwNeCompare, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000327, XVoicedGetDirectionalData, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000328, DrvSetMicArrayStartCallback, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000329, DevAuthGetStatistics, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000032A, NullCableRequest, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000032B, XeKeysRevokeIsDeviceRevoked, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000032C, DumpUpdateDumpSettings, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000032D, EtxConsumerDisableEventType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000032E, EtxConsumerEnableEventType, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000032F, EtxConsumerProcessLogs, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000330, EtxConsumerRegister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000331, EtxConsumerUnregister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000332, EtxProducerLog, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000333, EtxProducerLogV, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000334, EtxProducerRegister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000335, EtxProducerUnregister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000336, EtxConsumerFlushBuffers, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000337, EtxProducerLogXwpp, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000338, EtxProducerLogXwppV, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000339, UsbdEnableDisableRootHubPort, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000033A, EtxBufferRegister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000033B, EtxBufferUnregister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000033C, DumpRegisterDedicatedDataBlock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000033D, XeKeysDvdAuthExSave, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000033E, XeKeysDvdAuthExInstall, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000033F, XexShimDisable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000340, XexShimEnable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000341, XexShimEntryDisable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000342, XexShimEntryEnable, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000343, XexShimEntryRegister, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000344, XexShimLock, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000345, XboxKrnlVersion4Digit, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000346, XeKeysObfuscateEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000347, XeKeysUnObfuscateEx, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000348, XexTitleHash, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000349, XexTitleHashClose, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000034A, XexTitleHashContinue, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000034B, XexTitleHashOpen, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000034C, XAudioGetRenderDriverTic, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000034D, XAudioEnableDucker, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000034E, XAudioSetDuckerLevel, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000034F, XAudioIsDuckerEnabled, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000350, XAudioGetDuckerLevel, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000351, XAudioGetDuckerThreshold, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000352, XAudioSetDuckerThreshold, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000353, XAudioGetDuckerAttackTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000354, XAudioSetDuckerAttackTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000355, XAudioGetDuckerReleaseTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000356, XAudioSetDuckerReleaseTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000357, XAudioGetDuckerHoldTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000358, XAudioSetDuckerHoldTime, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x00000359, DevAuthShouldAlwaysEnforce, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000035A, XAudioGetUnderrunCount, ? , FLAG(Function)), -XE_DECLARE_EXPORT(xboxkrnl, 0x0000035C, XVoicedIsActiveProcess, ? , FLAG(Function)), +static KernelExport xboxkrnl_export_table[] = { +XE_DECLARE_EXPORT(xboxkrnl, 0x00000001, DbgBreakPoint, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000002, DbgBreakPointWithStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000003, DbgPrint, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000004, DbgPrompt, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000005, DumpGetRawDumpInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000006, DumpWriteDump, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000007, ExAcquireReadWriteLockExclusive, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000008, ExAcquireReadWriteLockShared, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000009, ExAllocatePool, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000000A, ExAllocatePoolWithTag, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000000B, ExAllocatePoolTypeWithTag, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000000C, ExConsoleGameRegion, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000000D, ExCreateThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000000E, ExEventObjectType, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000000F, ExFreePool, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000010, ExGetXConfigSetting, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000011, ExInitializeReadWriteLock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000012, ExMutantObjectType, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000013, ExQueryPoolBlockSize, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000014, ExRegisterThreadNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000015, ExRegisterTitleTerminateNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000016, ExReleaseReadWriteLock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000017, ExSemaphoreObjectType, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000018, ExSetXConfigSetting, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000019, ExTerminateThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000001A, ExTerminateTitleProcess, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000001B, ExThreadObjectType, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000001C, ExTimerObjectType, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000001D, MmDoubleMapMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000001E, MmUnmapMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000001F, XeKeysGetConsoleCertificate, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000020, FscGetCacheElementCount, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000021, FscSetCacheElementCount, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000022, HalGetCurrentAVPack, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000023, HalGpioControl, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000024, HalOpenCloseODDTray, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000025, HalReadWritePCISpace, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000026, HalRegisterPowerDownNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000027, HalRegisterSMCNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000028, HalReturnToFirmware, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000029, HalSendSMCMessage, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000002A, HalSetAudioEnable, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000002B, InterlockedFlushSList, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000002C, InterlockedPopEntrySList, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000002D, InterlockedPushEntrySList, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000002E, IoAcquireDeviceObjectLock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000002F, IoAllocateIrp, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000030, IoBuildAsynchronousFsdRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000031, IoBuildDeviceIoControlRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000032, IoBuildSynchronousFsdRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000033, IoCallDriver, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000034, IoCheckShareAccess, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000035, IoCompleteRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000036, IoCompletionObjectType, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000037, IoCreateDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000038, IoCreateFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000039, IoDeleteDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000003A, IoDeviceObjectType, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000003B, IoDismountVolume, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000003C, IoDismountVolumeByFileHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000003D, IoDismountVolumeByName, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000003E, IoFileObjectType, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000003F, IoFreeIrp, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000040, IoInitializeIrp, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000041, IoInvalidDeviceRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000042, ExSetBetaFeaturesEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000043, IoQueueThreadIrp, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000044, IoReleaseDeviceObjectLock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000045, IoRemoveShareAccess, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000046, IoSetIoCompletion, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000047, IoSetShareAccess, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000048, IoStartNextPacket, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000049, IoStartNextPacketByKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000004A, IoStartPacket, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000004B, IoSynchronousDeviceIoControlRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000004C, IoSynchronousFsdRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000004D, KeAcquireSpinLockAtRaisedIrql, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000004E, KeAlertResumeThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000004F, KeAlertThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000050, KeBlowFuses, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000051, KeBoostPriorityThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000052, KeBugCheck, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000053, KeBugCheckEx, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000054, KeCancelTimer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000055, KeConnectInterrupt, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000056, KeContextFromKframes, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000057, KeContextToKframes, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000058, KeCreateUserMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000059, KeDebugMonitorData, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000005A, KeDelayExecutionThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000005B, KeDeleteUserMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000005C, KeDisconnectInterrupt, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000005D, KeEnableFpuExceptions, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000005E, KeEnablePPUPerformanceMonitor, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000005F, KeEnterCriticalRegion, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000060, KeEnterUserMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000061, KeFlushCacheRange, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000062, KeFlushCurrentEntireTb, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000063, KeFlushEntireTb, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000064, KeFlushUserModeCurrentTb, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000065, KeFlushUserModeTb, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000066, KeGetCurrentProcessType, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000067, KeGetPMWRegister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000068, KeGetPRVRegister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000069, KeGetSocRegister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000006A, KeGetSpecialPurposeRegister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000006B, KeLockL2, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000006C, KeUnlockL2, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000006D, KeInitializeApc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000006E, KeInitializeDeviceQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000006F, KeInitializeDpc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000070, KeInitializeEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000071, KeInitializeInterrupt, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000072, KeInitializeMutant, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000073, KeInitializeQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000074, KeInitializeSemaphore, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000075, KeInitializeTimerEx, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000076, KeInsertByKeyDeviceQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000077, KeInsertDeviceQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000078, KeInsertHeadQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000079, KeInsertQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000007A, KeInsertQueueApc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000007B, KeInsertQueueDpc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000007C, KeIpiGenericCall, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000007D, KeLeaveCriticalRegion, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000007E, KeLeaveUserMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000007F, KePulseEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000080, KeQueryBackgroundProcessors, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000081, KeQueryBasePriorityThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000082, KeQueryInterruptTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000083, KeQueryPerformanceFrequency, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000084, KeQuerySystemTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000085, KeRaiseIrqlToDpcLevel, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000086, KeRegisterDriverNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000087, KeReleaseMutant, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000088, KeReleaseSemaphore, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000089, KeReleaseSpinLockFromRaisedIrql, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000008A, KeRemoveByKeyDeviceQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000008B, KeRemoveDeviceQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000008C, KeRemoveEntryDeviceQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000008D, KeRemoveQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000008E, KeRemoveQueueDpc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000008F, KeResetEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000090, KeRestoreFloatingPointState, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000091, KeRestoreVectorUnitState, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000092, KeResumeThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000093, KeRetireDpcList, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000094, KeRundownQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000095, KeSaveFloatingPointState, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000096, KeSaveVectorUnitState, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000097, KeSetAffinityThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000098, KeSetBackgroundProcessors, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000099, KeSetBasePriorityThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000009A, KeSetCurrentProcessType, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000009B, KeSetCurrentStackPointers, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000009C, KeSetDisableBoostThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000009D, KeSetEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000009E, KeSetEventBoostPriority, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000009F, KeSetPMWRegister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000A0, KeSetPowerMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000A1, KeSetPRVRegister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000A2, KeSetPriorityClassThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000A3, KeSetPriorityThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000A4, KeSetSocRegister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000A5, KeSetSpecialPurposeRegister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000A6, KeSetTimer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000A7, KeSetTimerEx, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000A8, KeStallExecutionProcessor, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000A9, KeSuspendThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000AA, KeSweepDcacheRange, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000AB, KeSweepIcacheRange, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000AC, KeTestAlertThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000AD, KeTimeStampBundle, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000AE, KeTryToAcquireSpinLockAtRaisedIrql, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000AF, KeWaitForMultipleObjects, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000B0, KeWaitForSingleObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000B1, KfAcquireSpinLock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000B2, KfRaiseIrql, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000B3, KfLowerIrql, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000B4, KfReleaseSpinLock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000B5, KiBugCheckData, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000B6, LDICreateDecompression, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000B7, LDIDecompress, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000B8, LDIDestroyDecompression, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000B9, MmAllocatePhysicalMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000BA, MmAllocatePhysicalMemoryEx, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000BB, MmCreateKernelStack, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000BC, MmDeleteKernelStack, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000BD, MmFreePhysicalMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000BE, MmGetPhysicalAddress, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000BF, MmIsAddressValid, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000C0, MmLockAndMapSegmentArray, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000C1, MmLockUnlockBufferPages, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000C2, MmMapIoSpace, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000C3, MmPersistPhysicalMemoryAllocation, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000C4, MmQueryAddressProtect, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000C5, MmQueryAllocationSize, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000C6, MmQueryStatistics, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000C7, MmSetAddressProtect, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000C8, MmSplitPhysicalMemoryAllocation, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000C9, MmUnlockAndUnmapSegmentArray, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000CA, MmUnmapIoSpace, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000CB, Nls844UnicodeCaseTable, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000CC, NtAllocateVirtualMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000CD, NtCancelTimer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000CE, NtClearEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000CF, NtClose, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000D0, NtCreateDirectoryObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000D1, NtCreateEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000D2, NtCreateFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000D3, NtCreateIoCompletion, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000D4, NtCreateMutant, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000D5, NtCreateSemaphore, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000D6, NtCreateSymbolicLinkObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000D7, NtCreateTimer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000D8, NtDeleteFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000D9, NtDeviceIoControlFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000DA, NtDuplicateObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000DB, NtFlushBuffersFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000DC, NtFreeVirtualMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000DD, NtMakeTemporaryObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000DE, NtOpenDirectoryObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000DF, NtOpenFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000E0, NtOpenSymbolicLinkObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000E1, NtProtectVirtualMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000E2, NtPulseEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000E3, NtQueueApcThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000E4, NtQueryDirectoryFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000E5, NtQueryDirectoryObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000E6, NtQueryEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000E7, NtQueryFullAttributesFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000E8, NtQueryInformationFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000E9, NtQueryIoCompletion, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000EA, NtQueryMutant, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000EB, NtQuerySemaphore, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000EC, NtQuerySymbolicLinkObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000ED, NtQueryTimer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000EE, NtQueryVirtualMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000EF, NtQueryVolumeInformationFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000F0, NtReadFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000F1, NtReadFileScatter, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000F2, NtReleaseMutant, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000F3, NtReleaseSemaphore, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000F4, NtRemoveIoCompletion, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000F5, NtResumeThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000F6, NtSetEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000F7, NtSetInformationFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000F8, NtSetIoCompletion, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000F9, NtSetSystemTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000FA, NtSetTimerEx, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000FB, NtSignalAndWaitForSingleObjectEx, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000FC, NtSuspendThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000FD, NtWaitForSingleObjectEx, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000FE, NtWaitForMultipleObjectsEx, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000000FF, NtWriteFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000100, NtWriteFileGather, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000101, NtYieldExecution, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000102, ObCreateObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000103, ObCreateSymbolicLink, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000104, ObDeleteSymbolicLink, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000105, ObDereferenceObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000106, ObDirectoryObjectType, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000107, ObGetWaitableObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000108, ObInsertObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000109, ObIsTitleObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000010A, ObLookupAnyThreadByThreadId, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000010B, ObLookupThreadByThreadId, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000010C, ObMakeTemporaryObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000010D, ObOpenObjectByName, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000010E, ObOpenObjectByPointer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000010F, ObReferenceObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000110, ObReferenceObjectByHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000111, ObReferenceObjectByName, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000112, ObSymbolicLinkObjectType, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000113, ObTranslateSymbolicLink, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000114, RtlAnsiStringToUnicodeString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000115, RtlAppendStringToString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000116, RtlAppendUnicodeStringToString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000117, RtlAppendUnicodeToString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000118, RtlAssert, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000119, RtlCaptureContext, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000011A, RtlCompareMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000011B, RtlCompareMemoryUlong, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000011C, RtlCompareString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000011D, RtlCompareStringN, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000011E, RtlCompareUnicodeString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000011F, RtlCompareUnicodeStringN, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000120, RtlCompareUtf8ToUnicode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000121, RtlCopyString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000122, RtlCopyUnicodeString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000123, RtlCreateUnicodeString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000124, RtlDowncaseUnicodeChar, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000125, RtlEnterCriticalSection, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000126, RtlFillMemoryUlong, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000127, RtlFreeAnsiString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000128, RtlFreeUnicodeString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000129, RtlGetCallersAddress, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000012A, RtlGetStackLimits, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000012B, RtlImageXexHeaderField, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000012C, RtlInitAnsiString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000012D, RtlInitUnicodeString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000012E, RtlInitializeCriticalSection, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000012F, RtlInitializeCriticalSectionAndSpinCount, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000130, RtlLeaveCriticalSection, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000131, RtlLookupFunctionEntry, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000132, RtlLowerChar, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000133, RtlMultiByteToUnicodeN, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000134, RtlMultiByteToUnicodeSize, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000135, RtlNtStatusToDosError, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000136, RtlRaiseException, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000137, RtlRaiseStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000138, RtlRip, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000139, _scprintf, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000013A, _snprintf, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000013B, sprintf, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000013C, _scwprintf, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000013D, _snwprintf, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000013E, _swprintf, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000013F, RtlTimeFieldsToTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000140, RtlTimeToTimeFields, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000141, RtlTryEnterCriticalSection, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000142, RtlUnicodeStringToAnsiString, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000143, RtlUnicodeToMultiByteN, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000144, RtlUnicodeToMultiByteSize, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000145, RtlUnicodeToUtf8, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000146, RtlUnicodeToUtf8Size, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000147, RtlUnwind, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000148, RtlUnwind2, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000149, RtlUpcaseUnicodeChar, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000014A, RtlUpperChar, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000014B, RtlVirtualUnwind, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000014C, _vscprintf, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000014D, _vsnprintf, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000014E, vsprintf, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000014F, _vscwprintf, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000150, _vsnwprintf, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000151, _vswprintf, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000152, KeTlsAlloc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000153, KeTlsFree, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000154, KeTlsGetValue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000155, KeTlsSetValue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000156, XboxHardwareInfo, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000157, XboxKrnlBaseVersion, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000158, XboxKrnlVersion, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000159, XeCryptAesKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000015A, XeCryptAesEcb, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000015B, XeCryptAesCbc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000015C, XeCryptBnDwLeDhEqualBase, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000015D, XeCryptBnDwLeDhInvalBase, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000015E, XeCryptBnDwLeDhModExp, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000015F, XeCryptBnDw_Copy, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000160, XeCryptBnDw_SwapLeBe, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000161, XeCryptBnDw_Zero, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000162, XeCryptBnDwLePkcs1Format, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000163, XeCryptBnDwLePkcs1Verify, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000164, XeCryptBnQwBeSigCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000165, XeCryptBnQwBeSigFormat, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000166, XeCryptBnQwBeSigVerify, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000167, XeCryptBnQwNeModExp, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000168, XeCryptBnQwNeModExpRoot, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000169, XeCryptBnQwNeModInv, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000016A, XeCryptBnQwNeModMul, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000016B, XeCryptBnQwNeRsaKeyGen, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000016C, XeCryptBnQwNeRsaPrvCrypt, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000016D, XeCryptBnQwNeRsaPubCrypt, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000016E, XeCryptBnQw_Copy, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000016F, XeCryptBnQw_SwapDwQw, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000170, XeCryptBnQw_SwapDwQwLeBe, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000171, XeCryptBnQw_SwapLeBe, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000172, XeCryptBnQw_Zero, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000173, XeCryptChainAndSumMac, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000174, XeCryptDesParity, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000175, XeCryptDesKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000176, XeCryptDesEcb, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000177, XeCryptDesCbc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000178, XeCryptDes3Key, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000179, XeCryptDes3Ecb, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000017A, XeCryptDes3Cbc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000017B, XeCryptHmacMd5Init, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000017C, XeCryptHmacMd5Update, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000017D, XeCryptHmacMd5Final, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000017E, XeCryptHmacMd5, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000017F, XeCryptHmacShaInit, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000180, XeCryptHmacShaUpdate, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000181, XeCryptHmacShaFinal, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000182, XeCryptHmacSha, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000183, XeCryptHmacShaVerify, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000184, XeCryptMd5Init, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000185, XeCryptMd5Update, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000186, XeCryptMd5Final, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000187, XeCryptMd5, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000188, XeCryptParveEcb, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000189, XeCryptParveCbcMac, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000018A, XeCryptRandom, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000018B, XeCryptRc4Key, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000018C, XeCryptRc4Ecb, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000018D, XeCryptRc4, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000018E, XeCryptRotSumSha, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000018F, XeCryptShaInit, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000190, XeCryptShaUpdate, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000191, XeCryptShaFinal, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000192, XeCryptSha, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000193, XexExecutableModuleHandle, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000194, XexCheckExecutablePrivilege, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000195, XexGetModuleHandle, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000196, XexGetModuleSection, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000197, XexGetProcedureAddress, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000198, XexLoadExecutable, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000199, XexLoadImage, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000019A, XexLoadImageFromMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000019B, XexLoadImageHeaders, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000019C, XexPcToFileHeader, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000019D, KiApcNormalRoutineNop, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000019E, XexRegisterPatchDescriptor, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000019F, XexSendDeferredNotifications, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001A0, XexStartExecutable, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001A1, XexUnloadImage, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001A2, XexUnloadImageAndExitThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001A3, XexUnloadTitleModules, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001A4, XexVerifyImageHeaders, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001A5, __C_specific_handler, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001A6, DbgLoadImageSymbols, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001A7, DbgUnLoadImageSymbols, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001A8, RtlImageDirectoryEntryToData, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001A9, RtlImageNtHeader, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001AA, ExDebugMonitorService, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001AB, MmDbgReadCheck, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001AC, MmDbgReleaseAddress, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001AD, MmDbgWriteCheck, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001AE, ExLoadedCommandLine, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001AF, ExLoadedImageName, ? , Variable, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001B0, VdBlockUntilGUIIdle, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001B1, VdCallGraphicsNotificationRoutines, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001B2, VdDisplayFatalError, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001B3, VdEnableClosedCaption, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001B4, VdEnableDisableClockGating, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001B5, VdEnableDisablePowerSavingMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001B6, VdEnableRingBufferRPtrWriteBack, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001B7, VdGenerateGPUCSCCoefficients, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001B8, VdGetClosedCaptionReadyStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001B9, VdGetCurrentDisplayGamma, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001BA, VdGetCurrentDisplayInformation, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001BB, VdGetDisplayModeOverride, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001BC, VdGetGraphicsAsicID, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001BD, VdGetSystemCommandBuffer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001BE, VdGlobalDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001BF, VdGlobalXamDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001C0, VdGpuClockInMHz, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001C1, VdHSIOCalibrationLock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001C2, VdInitializeEngines, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001C3, VdInitializeRingBuffer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001C4, VdInitializeScaler, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001C5, VdInitializeScalerCommandBuffer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001C6, VdIsHSIOTrainingSucceeded, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001C7, VdPersistDisplay, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001C8, VdQuerySystemCommandBuffer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001C9, VdQueryVideoFlags, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001CA, VdQueryVideoMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001CB, VdReadDVERegisterUlong, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001CC, VdReadWriteHSIOCalibrationFlag, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001CD, VdRegisterGraphicsNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001CE, VdRegisterXamGraphicsNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001CF, VdSendClosedCaptionData, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001D0, VdSetCGMSOption, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001D1, VdSetColorProfileAdjustment, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001D2, VdSetCscMatricesOverride, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001D3, VdSetDisplayMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001D4, VdSetDisplayModeOverride, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001D5, VdSetGraphicsInterruptCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001D6, VdSetHDCPOption, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001D7, VdSetMacrovisionOption, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001D8, VdSetSystemCommandBuffer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001D9, VdSetSystemCommandBufferGpuIdentifierAddress, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001DA, VdSetWSSData, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001DB, VdSetWSSOption, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001DC, VdShutdownEngines, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001DD, VdTurnDisplayOff, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001DE, VdTurnDisplayOn, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001DF, KiApcNormalRoutineNop, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001E0, VdWriteDVERegisterUlong, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001E1, XVoicedHeadsetPresent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001E2, XVoicedSubmitPacket, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001E3, XVoicedClose, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001E4, XVoicedActivate, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001E5, XInputdGetCapabilities, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001E6, XInputdReadState, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001E7, XInputdWriteState, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001E8, XInputdNotify, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001E9, XInputdRawState, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001EA, HidGetCapabilities, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001EB, HidReadKeys, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001EC, XInputdGetDeviceStats, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001ED, XInputdResetDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001EE, XInputdSetRingOfLight, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001EF, XInputdSetRFPowerMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001F0, XInputdSetRadioFrequency, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001F1, HidGetLastInputTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001F2, XAudioRenderDriverInitialize, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001F3, XAudioRegisterRenderDriverClient, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001F4, XAudioUnregisterRenderDriverClient, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001F5, XAudioSubmitRenderDriverFrame, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001F6, XAudioRenderDriverLock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001F7, XAudioGetVoiceCategoryVolumeChangeMask, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001F8, XAudioGetVoiceCategoryVolume, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001F9, XAudioSetVoiceCategoryVolume, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001FA, XAudioBeginDigitalBypassMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001FB, XAudioEndDigitalBypassMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001FC, XAudioSubmitDigitalPacket, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001FD, XAudioQueryDriverPerformance, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001FE, XAudioGetRenderDriverThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000001FF, XAudioGetSpeakerConfig, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000200, XAudioSetSpeakerConfig, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000201, NicSetUnicastAddress, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000202, NicAttach, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000203, NicDetach, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000204, NicXmit, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000205, NicUpdateMcastMembership, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000206, NicFlushXmitQueue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000207, NicShutdown, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000208, NicGetLinkState, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000209, NicGetStats, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000020A, NicGetOpt, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000020B, NicSetOpt, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000020C, DrvSetSysReqCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000020D, DrvSetUserBindingCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000020E, DrvSetContentStorageCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000020F, DrvSetAutobind, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000210, DrvGetContentStorageNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000211, MtpdBeginTransaction, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000212, MtpdCancelTransaction, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000213, MtpdEndTransaction, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000214, MtpdGetCurrentDevices, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000215, MtpdReadData, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000216, MtpdReadEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000217, MtpdResetDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000218, MtpdSendData, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000219, MtpdVerifyProximity, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000021A, XUsbcamSetCaptureMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000021B, XUsbcamGetConfig, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000021C, XUsbcamSetConfig, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000021D, XUsbcamGetState, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000021E, XUsbcamReadFrame, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000021F, XUsbcamSnapshot, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000220, XUsbcamSetView, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000221, XUsbcamGetView, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000222, XUsbcamCreate, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000223, XUsbcamDestroy, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000224, XMACreateContext, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000225, XMAInitializeContext, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000226, XMAReleaseContext, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000227, XMAEnableContext, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000228, XMADisableContext, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000229, XMAGetOutputBufferWriteOffset, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000022A, XMASetOutputBufferReadOffset, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000022B, XMAGetOutputBufferReadOffset, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000022C, XMASetOutputBufferValid, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000022D, XMAIsOutputBufferValid, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000022E, XMASetInputBuffer0Valid, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000022F, XMAIsInputBuffer0Valid, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000230, XMASetInputBuffer1Valid, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000231, XMAIsInputBuffer1Valid, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000232, XMASetInputBuffer0, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000233, XMASetInputBuffer1, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000234, XMAGetPacketMetadata, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000235, XMABlockWhileInUse, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000236, XMASetLoopData, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000237, XMASetInputBufferReadOffset, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000238, XMAGetInputBufferReadOffset, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000239, ExIsBetaFeatureEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000023A, XeKeysGetFactoryChallenge, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000023B, XeKeysSetFactoryResponse, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000023C, XeKeysInitializeFuses, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000023D, XeKeysSaveBootLoader, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000023E, XeKeysSaveKeyVault, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000023F, XeKeysGetStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000240, XeKeysGeneratePrivateKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000241, XeKeysGetKeyProperties, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000242, XeKeysSetKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000243, XeKeysGenerateRandomKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000244, XeKeysGetKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000245, XeKeysGetDigest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000246, XeKeysGetConsoleID, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000247, XeKeysGetConsoleType, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000248, XeKeysQwNeRsaPrvCrypt, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000249, XeKeysHmacSha, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000024A, XInputdPassThroughRFCommand, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000024B, XeKeysAesCbc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000024C, XeKeysDes2Cbc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000024D, XeKeysDesCbc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000024E, XeKeysObscureKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000024F, XeKeysHmacShaUsingKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000250, XeKeysSaveBootLoaderEx, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000251, XeKeysAesCbcUsingKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000252, XeKeysDes2CbcUsingKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000253, XeKeysDesCbcUsingKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000254, XeKeysObfuscate, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000255, XeKeysUnObfuscate, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000256, XeKeysConsolePrivateKeySign, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000257, XeKeysConsoleSignatureVerification, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000258, XeKeysVerifyRSASignature, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000259, StfsCreateDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000025A, StfsControlDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000025B, VdSwap, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000025C, HalFsbInterruptCount, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000025D, XeKeysSaveSystemUpdate, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000025E, XeKeysLockSystemUpdate, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000025F, XeKeysExecute, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000260, XeKeysGetVersions, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000261, XInputdPowerDownDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000262, AniBlockOnAnimation, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000263, AniTerminateAnimation, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000264, XUsbcamReset, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000265, AniSetLogo, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000266, KeCertMonitorData, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000267, HalIsExecutingPowerDownDpc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000268, VdInitializeEDRAM, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000269, VdRetrainEDRAM, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000026A, VdRetrainEDRAMWorker, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000026B, VdHSIOTrainCount, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000026C, HalGetPowerUpCause, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000026D, VdHSIOTrainingStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000026E, RgcBindInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000026F, VdReadEEDIDBlock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000270, VdEnumerateVideoModes, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000271, VdEnableHDCP, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000272, VdRegisterHDCPNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000273, HidReadMouseChanges, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000274, DumpSetCollectionFacility, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000275, XexTransformImageKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000276, XAudioOverrideSpeakerConfig, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000277, XInputdReadTextKeystroke, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000278, DrvXenonButtonPressed, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000279, DrvBindToUser, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000027A, XexGetModuleImportVersions, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000027B, RtlComputeCrc32, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000027C, XeKeysSetRevocationList, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000027D, HalRegisterPowerDownCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000027E, VdGetDisplayDiscoveryData, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000027F, XInputdSendStayAliveRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000280, XVoicedSendVPort, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000281, XVoicedGetBatteryStatus, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000282, XInputdFFGetDeviceInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000283, XInputdFFSetEffect, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000284, XInputdFFUpdateEffect, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000285, XInputdFFEffectOperation, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000286, XInputdFFDeviceControl, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000287, XInputdFFSetDeviceGain, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000288, XInputdFFCancelIo, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000289, XInputdFFSetRumble, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000028A, NtAllocateEncryptedMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000028B, NtFreeEncryptedMemory, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000028C, XeKeysExSaveKeyVault, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000028D, XeKeysExSetKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000028E, XeKeysExGetKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000028F, DrvSetDeviceConfigChangeCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000290, DrvDeviceConfigChange, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000291, HalRegisterHdDvdRomNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000292, XeKeysSecurityInitialize, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000293, XeKeysSecurityLoadSettings, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000294, XeKeysSecuritySaveSettings, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000295, XeKeysSecuritySetDetected, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000296, XeKeysSecurityGetDetected, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000297, XeKeysSecuritySetActivated, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000298, XeKeysSecurityGetActivated, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000299, XeKeysDvdAuthAP25InstallTable, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000029A, XeKeysDvdAuthAP25GetTableVersion, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000029B, XeKeysGetProtectedFlag, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000029C, XeKeysSetProtectedFlag, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000029D, KeEnablePFMInterrupt, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000029E, KeDisablePFMInterrupt, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000029F, KeSetProfilerISR, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002A0, VdStartDisplayDiscovery, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002A1, VdSetHDCPRevocationList, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002A2, XeKeysGetUpdateSequence, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002A3, XeKeysDvdAuthExActivate, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002A4, KeGetImagePageTableEntry, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002A5, HalRegisterBackgroundModeTransitionCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002A6, AniStartBootAnimation, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002A7, HalClampUnclampOutputDACs, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002A8, HalPowerDownToBackgroundMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002A9, HalNotifyAddRemoveBackgroundTask, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002AA, HalCallBackgroundModeNotificationRoutines, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002AB, HalFsbResetCount, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002AC, HalGetMemoryInformation, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002AD, XInputdGetLastTextInputTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002AE, VdEnableWMAProOverHDMI, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002AF, XeKeysRevokeSaveSettings, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002B0, XInputdSetTextMessengerIndicator, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002B1, MicDeviceRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002B2, XeKeysGetMediaID, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002B3, XeKeysLoadKeyVault, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002B4, KeGetVidInfo, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002B5, HalNotifyBackgroundModeTransitionComplete, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002B6, IoAcquireCancelSpinLock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002B7, IoReleaseCancelSpinLock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002B8, NtCancelIoFile, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002B9, NtCancelIoFileEx, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002BA, HalFinalizePowerLossRecovery, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002BB, HalSetPowerLossRecovery, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002BC, ExReadModifyWriteXConfigSettingUlong, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002BD, HalRegisterXamPowerDownCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002BE, ExCancelAlarm, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002BF, ExInitializeAlarm, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002C0, ExSetAlarm, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002C1, XexActivationGetNonce, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002C2, XexActivationSetLicense, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002C3, IptvSetBoundaryKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002C4, IptvSetSessionKey, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002C5, IptvVerifyOmac1Signature, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002C6, IptvGetAesCtrTransform, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002C7, SataCdRomRecordReset, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002C8, XInputdSetTextDeviceKeyLocks, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002C9, XInputdGetTextDeviceKeyLocks, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002CA, XexActivationVerifyOwnership, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002CB, XexDisableVerboseDbgPrint, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002CC, SvodCreateDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002CD, RtlCaptureStackBackTrace, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002CE, XeKeysRevokeUpdateDynamic, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002CF, XexImportTraceEnable, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002D0, ExRegisterXConfigNotification, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002D1, XeKeysSecuritySetStat, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002D2, VdQueryRealVideoMode, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002D3, XexSetExecutablePrivilege, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002D4, XAudioSuspendRenderDriverClients, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002D5, IptvGetSessionKeyHash, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002D6, VdSetCGMSState, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002D7, VdSetSCMSState, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002D8, KeFlushMultipleTb, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002D9, VdGetOption, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002DA, VdSetOption, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002DB, UsbdBootEnumerationDoneEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002DC, StfsDeviceErrorEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002DD, ExTryToAcquireReadWriteLockExclusive, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002DE, ExTryToAcquireReadWriteLockShared, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002DF, XexSetLastKdcTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002E0, XInputdControl, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002E1, RmcDeviceRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002E2, LDIResetDecompression, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002E3, NicRegisterDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002E4, UsbdAddDeviceComplete, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002E5, UsbdCancelAsyncTransfer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002E6, UsbdGetDeviceSpeed, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002E7, UsbdGetDeviceTopology, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002E8, UsbdGetEndpointDescriptor, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002E9, UsbdIsDeviceAuthenticated, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002EA, UsbdOpenDefaultEndpoint, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002EB, UsbdOpenEndpoint, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002EC, UsbdQueueAsyncTransfer, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002ED, UsbdQueueCloseDefaultEndpoint, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002EE, UsbdQueueCloseEndpoint, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002EF, UsbdRemoveDeviceComplete, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002F0, KeRemoveQueueApc, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002F1, UsbdDriverLoadRequiredEvent, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002F2, UsbdGetRequiredDrivers, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002F3, UsbdRegisterDriverObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002F4, UsbdUnregisterDriverObject, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002F5, UsbdCallAndBlockOnDpcRoutine, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002F6, UsbdResetDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002F7, UsbdGetDeviceDescriptor, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002F8, NomnilGetExtension, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002F9, NomnilStartCloseDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002FA, WifiBeginAuthentication, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002FB, WifiCheckCounterMeasures, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002FC, WifiChooseAuthenCipherSetFromBSSID, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002FD, WifiCompleteAuthentication, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002FE, WifiGetAssociationIE, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x000002FF, WifiOnMICError, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000300, WifiPrepareAuthenticationContext, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000301, WifiRecvEAPOLPacket, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000302, WifiDeduceNetworkType, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000303, NicUnregisterDevice, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000304, DumpXitThread, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000305, XInputdSetWifiChannel, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000306, NomnilSetLed, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000307, WifiCalculateRegulatoryDomain, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000308, WifiSelectAdHocChannel, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000309, WifiChannelToFrequency, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000030A, MmGetPoolPagesType, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000030B, ExExpansionInstall, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000030C, ExExpansionCall, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000030D, PsCamDeviceRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000030E, McaDeviceRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000030F, DetroitDeviceRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000310, XeCryptSha256Init, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000311, XeCryptSha256Update, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000312, XeCryptSha256Final, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000313, XeCryptSha256, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000314, XeCryptSha384Init, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000315, XeCryptSha384Update, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000316, XInputdGetDevicePid, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000317, HalGetNotedArgonErrors, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000318, XeCryptSha384Final, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000319, HalReadArgonEeprom, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000031A, HalWriteArgonEeprom, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000031B, XeKeysFcrtLoad, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000031C, XeKeysFcrtSave, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000031D, XeKeysFcrtSet, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000031E, XeCryptSha384, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000031F, XeCryptSha512Init, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000320, XAudioRegisterRenderDriverMECClient, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000321, XAudioUnregisterRenderDriverMECClient, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000322, XAudioCaptureRenderDriverFrame, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000323, XeCryptSha512Update, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000324, XeCryptSha512Final, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000325, XeCryptSha512, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000326, XeCryptBnQwNeCompare, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000327, XVoicedGetDirectionalData, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000328, DrvSetMicArrayStartCallback, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000329, DevAuthGetStatistics, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000032A, NullCableRequest, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000032B, XeKeysRevokeIsDeviceRevoked, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000032C, DumpUpdateDumpSettings, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000032D, EtxConsumerDisableEventType, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000032E, EtxConsumerEnableEventType, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000032F, EtxConsumerProcessLogs, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000330, EtxConsumerRegister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000331, EtxConsumerUnregister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000332, EtxProducerLog, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000333, EtxProducerLogV, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000334, EtxProducerRegister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000335, EtxProducerUnregister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000336, EtxConsumerFlushBuffers, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000337, EtxProducerLogXwpp, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000338, EtxProducerLogXwppV, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000339, UsbdEnableDisableRootHubPort, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000033A, EtxBufferRegister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000033B, EtxBufferUnregister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000033C, DumpRegisterDedicatedDataBlock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000033D, XeKeysDvdAuthExSave, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000033E, XeKeysDvdAuthExInstall, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000033F, XexShimDisable, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000340, XexShimEnable, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000341, XexShimEntryDisable, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000342, XexShimEntryEnable, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000343, XexShimEntryRegister, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000344, XexShimLock, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000345, XboxKrnlVersion4Digit, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000346, XeKeysObfuscateEx, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000347, XeKeysUnObfuscateEx, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000348, XexTitleHash, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000349, XexTitleHashClose, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000034A, XexTitleHashContinue, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000034B, XexTitleHashOpen, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000034C, XAudioGetRenderDriverTic, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000034D, XAudioEnableDucker, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000034E, XAudioSetDuckerLevel, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000034F, XAudioIsDuckerEnabled, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000350, XAudioGetDuckerLevel, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000351, XAudioGetDuckerThreshold, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000352, XAudioSetDuckerThreshold, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000353, XAudioGetDuckerAttackTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000354, XAudioSetDuckerAttackTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000355, XAudioGetDuckerReleaseTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000356, XAudioSetDuckerReleaseTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000357, XAudioGetDuckerHoldTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000358, XAudioSetDuckerHoldTime, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x00000359, DevAuthShouldAlwaysEnforce, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000035A, XAudioGetUnderrunCount, ? , Function, 0), +XE_DECLARE_EXPORT(xboxkrnl, 0x0000035C, XVoicedIsActiveProcess, ? , Function, 0), }; #undef FLAG +} // namespace xboxkrnl +} // namespace kernel +} // namespace xe + + #endif // XENIA_KERNEL_MODULES_XBOXKRNL_TABLE_H_ diff --git a/src/kernel/runtime.cc b/src/kernel/runtime.cc new file mode 100644 index 000000000..d073d4da2 --- /dev/null +++ b/src/kernel/runtime.cc @@ -0,0 +1,139 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2013 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#include + +#include "kernel/modules/modules.h" + + +using namespace xe; +using namespace xe::kernel; + + +Runtime::Runtime(xe_pal_ref pal, shared_ptr processor, + const xechar_t* command_line) { + pal_ = xe_pal_retain(pal); + memory_ = processor->memory(); + processor_ = processor; + XEIGNORE(xestrcpy(command_line_, XECOUNT(command_line_), command_line)); + export_resolver_ = shared_ptr(new ExportResolver()); + + kernel_modules_.push_back( + new xboxkrnl::XboxkrnlModule(pal_, memory_, export_resolver_)); + kernel_modules_.push_back( + new xbdm::XbdmModule(pal_, memory_, export_resolver_)); + kernel_modules_.push_back( + new xam::XamModule(pal_, memory_, export_resolver_)); +} + +Runtime::~Runtime() { + for (std::map::iterator it = + user_modules_.begin(); it != user_modules_.end(); ++it) { + delete it->second; + } + for (std::vector::iterator it = kernel_modules_.begin(); + it != kernel_modules_.end(); ++it) { + delete *it; + } + + xe_memory_release(memory_); + xe_pal_release(pal_); +} + +xe_pal_ref Runtime::pal() { + return xe_pal_retain(pal_); +} + +xe_memory_ref Runtime::memory() { + return xe_memory_retain(memory_); +} + +shared_ptr Runtime::processor() { + return processor_; +} + +shared_ptr Runtime::export_resolver() { + return export_resolver_; +} + +const xechar_t* Runtime::command_line() { + return command_line_; +} + +int Runtime::LoadModule(const xechar_t* path) { + if (GetModule(path)) { + return 0; + } + + // TODO(benvanik): map file from filesystem + xe_mmap_ref mmap = xe_mmap_open(pal_, kXEFileModeRead, path, 0, 0); + if (!mmap) { + return NULL; + } + void* addr = xe_mmap_get_addr(mmap); + size_t length = xe_mmap_get_length(mmap); + + UserModule* module = new UserModule(memory_); + int result_code = module->Load(addr, length, path); + + // TODO(benvanik): retain memory somehow? is it needed? + xe_mmap_release(mmap); + + if (result_code) { + delete module; + return 1; + } + + // Prepare the module. + XEEXPECTZERO(processor_->PrepareModule(module, export_resolver_)); + + // Stash in modules list (takes reference). + user_modules_.insert(std::pair(path, module)); + + return 0; + +XECLEANUP: + delete module; + return 1; +} + +void Runtime::LaunchModule(UserModule* user_module) { + //const xe_xex2_header_t *xex_header = xe_module_get_xex_header(module); + + // TODO(benvanik): set as main module/etc + // xekXexExecutableModuleHandle = xe_module_get_handle(module); + + // XEEXPECTTRUE(XECPUPrepareModule(XEGetCPU(), module->xex, module->pe, module->address_space, module->address_space_size)); + + // Setup the heap (and TLS?). + // xex_header->exe_heap_size; + + // Launch thread. + // XHANDLE thread_handle; + // XDWORD thread_id; + // XBOOL result = xekExCreateThread(&thread_handle, xex_header->exe_stack_size, &thread_id, NULL, (void*)xex_header->exe_entry_point, NULL, 0); + + // Wait until thread completes. + // XLARGE_INTEGER timeout = XINFINITE; + // xekNtWaitForSingleObjectEx(thread_handle, TRUE, &timeout); +} + +UserModule* Runtime::GetModule(const xechar_t* path) { + std::map::iterator it = + user_modules_.find(path); + if (it != user_modules_.end()) { + return it->second; + } + return NULL; +} + +void Runtime::UnloadModule(UserModule* user_module) { + // TODO(benvanik): unload module + XEASSERTALWAYS(); +} diff --git a/src/kernel/sources.gypi b/src/kernel/sources.gypi index 839db7919..195a13224 100644 --- a/src/kernel/sources.gypi +++ b/src/kernel/sources.gypi @@ -2,8 +2,8 @@ { 'sources': [ 'export.cc', - 'kernel.cc', - 'module.cc', + 'runtime.cc', + 'user_module.cc', 'xex2.cc', ], diff --git a/src/kernel/module.cc b/src/kernel/user_module.cc similarity index 66% rename from src/kernel/module.cc rename to src/kernel/user_module.cc index ee2a4eb59..6718b1426 100644 --- a/src/kernel/module.cc +++ b/src/kernel/user_module.cc @@ -7,97 +7,72 @@ ****************************************************************************** */ -#include +#include #include -#define kXEModuleMaxSectionCount 32 - -typedef struct xe_module { - xe_ref_t ref; - - xe_module_options_t options; - xechar_t name[256]; - - xe_memory_ref memory; - xe_kernel_export_resolver_ref export_resolver; - - uint32_t handle; - xe_xex2_ref xex; - - size_t section_count; - xe_module_pe_section_t sections[kXEModuleMaxSectionCount]; -} xe_module_t; +using namespace xe; +using namespace kernel; -int xe_module_load_pe(xe_module_ref module); +UserModule::UserModule(xe_memory_ref memory) { + memory_ = xe_memory_retain(memory); + xex_ = NULL; +} - -xe_module_ref xe_module_load(xe_memory_ref memory, - xe_kernel_export_resolver_ref export_resolver, - const void *addr, const size_t length, - xe_module_options_t options) { - xe_module_ref module = (xe_module_ref)xe_calloc(sizeof(xe_module)); - xe_ref_init((xe_ref)module); - - xe_copy_struct(&module->options, &options, sizeof(xe_module_options_t)); - xechar_t *slash = xestrrchr(options.path, '/'); - if (slash) { - xestrcpy(module->name, XECOUNT(module->name), slash + 1); +UserModule::~UserModule() { + for (std::vector::iterator it = sections_.begin(); + it != sections_.end(); ++it) { + delete *it; } - module->memory = xe_memory_retain(memory); - module->export_resolver = xe_kernel_export_resolver_retain(export_resolver); + xe_xex2_release(xex_); + xe_memory_release(memory_); +} + +int UserModule::Load(const void* addr, const size_t length, + const xechar_t* path) { + XEIGNORE(xestrcpy(path_, XECOUNT(path_), path)); + const xechar_t *slash = xestrrchr(path, '/'); + if (slash) { + XEIGNORE(xestrcpy(name_, XECOUNT(name_), slash + 1)); + } xe_xex2_options_t xex_options; - module->xex = xe_xex2_load(memory, addr, length, xex_options); - XEEXPECTNOTNULL(module->xex); + xex_ = xe_xex2_load(memory_, addr, length, xex_options); + XEEXPECTNOTNULL(xex_); - XEEXPECTZERO(xe_module_load_pe(module)); + XEEXPECTZERO(LoadPE()); - return module; + return 0; XECLEANUP: - xe_module_release(module); - return NULL; + return 1; } -void xe_module_dealloc(xe_module_ref module) { - xe_kernel_export_resolver_release(module->export_resolver); - xe_memory_release(module->memory); +const xechar_t* UserModule::path() { + return path_; } -xe_module_ref xe_module_retain(xe_module_ref module) { - xe_ref_retain((xe_ref)module); - return module; +const xechar_t* UserModule::name() { + return name_; } -void xe_module_release(xe_module_ref module) { - xe_ref_release((xe_ref)module, (xe_ref_dealloc_t)xe_module_dealloc); +uint32_t UserModule::handle() { + return handle_; } -const xechar_t *xe_module_get_path(xe_module_ref module) { - return module->options.path; +xe_xex2_ref UserModule::xex() { + return xe_xex2_retain(xex_); } -const xechar_t *xe_module_get_name(xe_module_ref module) { - return module->name; +const xe_xex2_header_t* UserModule::xex_header() { + return xe_xex2_get_header(xex_); } -uint32_t xe_module_get_handle(xe_module_ref module) { - return module->handle; -} - -xe_xex2_ref xe_module_get_xex(xe_module_ref module) { - return xe_xex2_retain(module->xex); -} - -const xe_xex2_header_t *xe_module_get_xex_header(xe_module_ref module) { - return xe_xex2_get_header(module->xex); -} - -void *xe_module_get_proc_address(xe_module_ref module, const uint32_t ordinal) { +void* UserModule::GetProcAddress(const uint32_t ordinal) { + XEASSERTALWAYS(); return NULL; } @@ -116,10 +91,10 @@ typedef struct IMAGE_XBOX_RUNTIME_FUNCTION_ENTRY_t { }; } IMAGE_XBOX_RUNTIME_FUNCTION_ENTRY; -int xe_module_load_pe(xe_module_ref module) { - const xe_xex2_header_t *xex_header = xe_xex2_get_header(module->xex); - uint8_t *mem = (uint8_t*)xe_memory_addr(module->memory, 0); - const uint8_t *p = mem + xex_header->exe_address; +int UserModule::LoadPE() { + const xe_xex2_header_t* xex_header = xe_xex2_get_header(xex_); + uint8_t* mem = xe_memory_addr(memory_, 0); + const uint8_t* p = mem + xex_header->exe_address; // Verify DOS signature (MZ). const IMAGE_DOS_HEADER* doshdr = (const IMAGE_DOS_HEADER*)p; @@ -172,14 +147,6 @@ int xe_module_load_pe(xe_module_ref module) { // IAT Import Address Table ptr //opthdr->DataDirectory[IMAGE_DIRECTORY_ENTRY_X].VirtualAddress / .Size - // Verify section count not overrun. - // NOTE: if this ever asserts, change to a dynamic section list. - XEASSERT(filehdr->NumberOfSections <= kXEModuleMaxSectionCount); - if (filehdr->NumberOfSections > kXEModuleMaxSectionCount) { - return 1; - } - module->section_count = filehdr->NumberOfSections; - // Quick scan to determine bounds of sections. size_t upper_address = 0; const IMAGE_SECTION_HEADER* sechdr = IMAGE_FIRST_SECTION(nthdr); @@ -192,7 +159,7 @@ int xe_module_load_pe(xe_module_ref module) { // Setup/load sections. sechdr = IMAGE_FIRST_SECTION(nthdr); for (size_t n = 0; n < filehdr->NumberOfSections; n++, sechdr++) { - xe_module_pe_section_t *section = &module->sections[n]; + PESection* section = (PESection*)xe_calloc(sizeof(PESection)); xe_copy_memory(section->name, sizeof(section->name), sechdr->Name, sizeof(sechdr->Name)); section->name[8] = 0; @@ -201,6 +168,7 @@ int xe_module_load_pe(xe_module_ref module) { section->address = xex_header->exe_address + sechdr->VirtualAddress; section->size = sechdr->Misc.VirtualSize; section->flags = sechdr->Characteristics; + sections_.push_back(section); } //DumpTLSDirectory(pImageBase, pNTHeader, (PIMAGE_TLS_DIRECTORY32)0); @@ -208,48 +176,45 @@ int xe_module_load_pe(xe_module_ref module) { return 0; } -xe_module_pe_section_t *xe_module_get_section(xe_module_ref module, - const char *name) { - for (size_t n = 0; n < module->section_count; n++) { - if (xestrcmpa(module->sections[n].name, name) == 0) { - return &module->sections[n]; +PESection* UserModule::GetSection(const char *name) { + for (std::vector::iterator it = sections_.begin(); + it != sections_.end(); ++it) { + if (!xestrcmpa((*it)->name, name)) { + return *it; } } return NULL; } -int xe_module_get_method_hints(xe_module_ref module, - xe_module_pe_method_info_t **out_method_infos, - size_t *out_method_info_count) { - uint8_t *mem = (uint8_t*)xe_memory_addr(module->memory, 0); +int UserModule::GetMethodHints(PEMethodInfo** out_method_infos, + size_t* out_method_info_count) { + uint8_t* mem = xe_memory_addr(memory_, 0); *out_method_infos = NULL; *out_method_info_count = 0; - const IMAGE_XBOX_RUNTIME_FUNCTION_ENTRY *entry = NULL; + const IMAGE_XBOX_RUNTIME_FUNCTION_ENTRY* entry = NULL; // Find pdata, which contains the exception handling entries. - xe_module_pe_section_t *pdata = xe_module_get_section(module, ".pdata"); + PESection* pdata = GetSection(".pdata"); if (!pdata) { // No exception data to go on. return 0; } // Resolve. - const uint8_t *p = mem + pdata->address; + const uint8_t* p = mem + pdata->address; // Entry count = pdata size / sizeof(entry). - const size_t entry_count = - pdata->size / sizeof(IMAGE_XBOX_RUNTIME_FUNCTION_ENTRY); - if (entry_count == 0) { + size_t entry_count = pdata->size / sizeof(IMAGE_XBOX_RUNTIME_FUNCTION_ENTRY); + if (!entry_count) { // Empty? return 0; } // Allocate output. - xe_module_pe_method_info_t *method_infos = - (xe_module_pe_method_info_t*)xe_calloc( - entry_count * sizeof(xe_module_pe_method_info_t)); + PEMethodInfo* method_infos = (PEMethodInfo*)xe_calloc( + entry_count * sizeof(PEMethodInfo)); XEEXPECTNOTNULL(method_infos); // Parse entries. @@ -258,7 +223,7 @@ int xe_module_get_method_hints(xe_module_ref module, entry = (const IMAGE_XBOX_RUNTIME_FUNCTION_ENTRY*)p; IMAGE_XBOX_RUNTIME_FUNCTION_ENTRY temp_entry; for (size_t n = 0; n < entry_count; n++, entry++) { - xe_module_pe_method_info_t *method_info = &method_infos[n]; + PEMethodInfo* method_info = &method_infos[n]; method_info->address = XESWAP32BE(entry->FuncStart); // The bitfield needs to be swapped by hand. @@ -278,12 +243,12 @@ XECLEANUP: return 1; } -void xe_module_dump(xe_module_ref module) { - //const uint8_t *mem = (const uint8_t*)xe_memory_addr(module->memory, 0); - const xe_xex2_header_t *header = xe_xex2_get_header(module->xex); +void UserModule::Dump(ExportResolver* export_resolver) { + //const uint8_t *mem = (const uint8_t*)xe_memory_addr(memory_, 0); + const xe_xex2_header_t* header = xe_xex2_get_header(xex_); // XEX info. - printf("Module %s:\n\n", module->options.path); + printf("Module %s:\n\n", path_); printf(" Module Flags: %.8X\n", header->module_flags); printf(" System Flags: %.8X\n", header->system_flags); printf("\n"); @@ -320,11 +285,11 @@ void xe_module_dump(xe_module_ref module) { printf(" Slot Count: %d\n", header->tls_info.slot_count); printf(" Data Size: %db\n", header->tls_info.data_size); printf(" Address: %.8X, %db\n", header->tls_info.raw_data_address, - header->tls_info.raw_data_size); + header->tls_info.raw_data_size); printf("\n"); printf(" Headers:\n"); for (size_t n = 0; n < header->header_count; n++) { - const xe_xex2_opt_header_t *opt_header = &header->headers[n]; + const xe_xex2_opt_header_t* opt_header = &header->headers[n]; printf(" %.8X (%.8X, %4db) %.8X = %11d\n", opt_header->key, opt_header->offset, opt_header->length, opt_header->value, opt_header->value); @@ -334,14 +299,14 @@ void xe_module_dump(xe_module_ref module) { // Resources. printf("Resources:\n"); printf(" %.8X, %db\n", header->resource_info.address, - header->resource_info.size); + header->resource_info.size); printf(" TODO\n"); printf("\n"); // Section info. printf("Sections:\n"); for (size_t n = 0, i = 0; n < header->section_count; n++) { - const xe_xex2_section_t *section = &header->sections[n]; + const xe_xex2_section_t* section = &header->sections[n]; const char* type = "UNKNOWN"; switch (section->info.type) { case XEX_SECTION_CODE: @@ -354,10 +319,10 @@ void xe_module_dump(xe_module_ref module) { type = "RODATA "; break; } - const size_t start_address = header->exe_address + - (i * xe_xex2_section_length); - const size_t end_address = start_address + (section->info.page_count * - xe_xex2_section_length); + const size_t start_address = + header->exe_address + (i * xe_xex2_section_length); + const size_t end_address = + start_address + (section->info.page_count * xe_xex2_section_length); printf(" %3d %s %3d pages %.8X - %.8X (%d bytes)\n", (int)n, type, section->info.page_count, (int)start_address, (int)end_address, section->info.page_count * xe_xex2_section_length); @@ -369,7 +334,8 @@ void xe_module_dump(xe_module_ref module) { printf("Static Libraries:\n"); for (size_t n = 0; n < header->static_library_count; n++) { const xe_xex2_static_library_t *library = &header->static_libraries[n]; - printf(" %-8s : %d.%d.%d.%d\n", library->name, library->major, + printf(" %-8s : %d.%d.%d.%d\n", + library->name, library->major, library->minor, library->build, library->qfe); } printf("\n"); @@ -377,11 +343,11 @@ void xe_module_dump(xe_module_ref module) { // Imports. printf("Imports:\n"); for (size_t n = 0; n < header->import_library_count; n++) { - const xe_xex2_import_library_t *library = &header->import_libraries[n]; + const xe_xex2_import_library_t* library = &header->import_libraries[n]; xe_xex2_import_info_t* import_infos; size_t import_info_count; - if (!xe_xex2_get_import_infos(module->xex, library, + if (!xe_xex2_get_import_infos(xex_, library, &import_infos, &import_info_count)) { printf(" %s - %d imports\n", library->name, (int)import_info_count); printf(" Version: %d.%d.%d.%d\n", @@ -398,13 +364,12 @@ void xe_module_dump(xe_module_ref module) { int impl_count = 0; int unimpl_count = 0; for (size_t m = 0; m < import_info_count; m++) { - const xe_xex2_import_info_t *info = &import_infos[m]; - const xe_kernel_export_t *kernel_export = - xe_kernel_export_resolver_get_by_ordinal( - module->export_resolver, library->name, info->ordinal); + const xe_xex2_import_info_t* info = &import_infos[m]; + KernelExport* kernel_export = + export_resolver->GetExportByOrdinal(library->name, info->ordinal); if (kernel_export) { known_count++; - if (xe_kernel_export_is_implemented(kernel_export)) { + if (kernel_export->IsImplemented()) { impl_count++; } } else { @@ -423,15 +388,14 @@ void xe_module_dump(xe_module_ref module) { // Listing. for (size_t m = 0; m < import_info_count; m++) { - const xe_xex2_import_info_t *info = &import_infos[m]; - const xe_kernel_export_t *kernel_export = - xe_kernel_export_resolver_get_by_ordinal( - module->export_resolver, library->name, info->ordinal); + const xe_xex2_import_info_t* info = &import_infos[m]; + KernelExport* kernel_export = export_resolver->GetExportByOrdinal( + library->name, info->ordinal); const char *name = "UNKNOWN"; bool implemented = false; if (kernel_export) { name = kernel_export->name; - implemented = xe_kernel_export_is_implemented(kernel_export); + implemented = kernel_export->IsImplemented(); } if (info->thunk_address) { printf(" F %.8X %.8X %.3X (%3d) %s %s\n", diff --git a/tools/xenia-info/xenia-info.cc b/tools/xenia-info/xenia-info.cc index 1ead07e13..7337ed70a 100644 --- a/tools/xenia-info/xenia-info.cc +++ b/tools/xenia-info/xenia-info.cc @@ -10,14 +10,18 @@ #include +using namespace xe; +using namespace xe::cpu; +using namespace xe::kernel; + + int xenia_info(int argc, xechar_t **argv) { int result_code = 1; xe_pal_ref pal = NULL; xe_memory_ref memory = NULL; - xe_cpu_ref cpu = NULL; - xe_kernel_ref kernel = NULL; - xe_module_ref module = NULL; + shared_ptr processor; + shared_ptr runtime; // TODO(benvanik): real command line parsing. if (argc < 2) { @@ -36,26 +40,15 @@ int xenia_info(int argc, xechar_t **argv) { memory = xe_memory_create(pal, memory_options); XEEXPECTNOTNULL(memory); - xe_cpu_options_t cpu_options; - xe_zero_struct(&cpu_options, sizeof(cpu_options)); - cpu = xe_cpu_create(pal, memory, cpu_options); - XEEXPECTNOTNULL(cpu); + processor = shared_ptr(new Processor(pal, memory)); + XEEXPECTZERO(processor->Setup()); - xe_kernel_options_t kernel_options; - xe_zero_struct(&kernel_options, sizeof(kernel_options)); - kernel = xe_kernel_create(pal, cpu, kernel_options); - XEEXPECTNOTNULL(kernel); + runtime = shared_ptr(new Runtime(pal, processor, XT(""))); - module = xe_kernel_load_module(kernel, path); - XEEXPECTNOTNULL(module); - - xe_module_dump(module); + XEEXPECTZERO(runtime->LoadModule(path)); result_code = 0; XECLEANUP: - xe_module_release(module); - xe_kernel_release(kernel); - xe_cpu_release(cpu); xe_memory_release(memory); xe_pal_release(pal); return result_code; diff --git a/tools/xenia-run/xenia-run.cc b/tools/xenia-run/xenia-run.cc index 3bfcb14bd..0ef8cda1c 100644 --- a/tools/xenia-run/xenia-run.cc +++ b/tools/xenia-run/xenia-run.cc @@ -10,52 +10,63 @@ #include -typedef struct { - xe_pal_ref pal; - xe_memory_ref memory; - xe_cpu_ref cpu; - xe_kernel_ref kernel; - xe_module_ref module; -} xenia_run_t; +using namespace xe; +using namespace xe::cpu; +using namespace xe::kernel; -int setup_run(xenia_run_t *run, const xechar_t *path) { - xe_pal_options_t pal_options; +class Run { +public: + Run(); + ~Run(); + + int Setup(const xechar_t* path); + int Launch(); + +private: + xe_pal_ref pal_; + xe_memory_ref memory_; + shared_ptr processor_; + shared_ptr runtime_; + UserModule* module_; +}; + +Run::Run() { +} + +Run::~Run() { + xe_memory_release(memory_); + xe_pal_release(pal_); +} + +int Run::Setup(const xechar_t* path) { + xe_pal_options_t pal_options; xe_zero_struct(&pal_options, sizeof(pal_options)); - run->pal = xe_pal_create(pal_options); - XEEXPECTNOTNULL(run->pal); + pal_ = xe_pal_create(pal_options); + XEEXPECTNOTNULL(pal_); xe_memory_options_t memory_options; xe_zero_struct(&memory_options, sizeof(memory_options)); - run->memory = xe_memory_create(run->pal, memory_options); - XEEXPECTNOTNULL(run->memory); + memory_ = xe_memory_create(pal_, memory_options); + XEEXPECTNOTNULL(memory_); - xe_cpu_options_t cpu_options; - xe_zero_struct(&cpu_options, sizeof(cpu_options)); - run->cpu = xe_cpu_create(run->pal, run->memory, cpu_options); - XEEXPECTNOTNULL(run->cpu); + processor_ = shared_ptr(new Processor(pal_, memory_)); + XEEXPECTZERO(processor_->Setup()); - xe_kernel_options_t kernel_options; - xe_zero_struct(&kernel_options, sizeof(kernel_options)); - run->kernel = xe_kernel_create(run->pal, run->cpu, kernel_options); - XEEXPECTNOTNULL(run->kernel); + runtime_ = shared_ptr(new Runtime(pal_, processor_, XT(""))); - run->module = xe_kernel_load_module(run->kernel, path); - XEEXPECTNOTNULL(run->module); + XEEXPECTZERO(runtime_->LoadModule(path)); + module_ = runtime_->GetModule(path); return 0; - XECLEANUP: return 1; } -void destroy_run(xenia_run_t *run) { - xe_module_release(run->module); - xe_kernel_release(run->kernel); - xe_cpu_release(run->cpu); - xe_memory_release(run->memory); - xe_pal_release(run->pal); - xe_free(run); +int Run::Launch() { + // TODO(benvanik): wait until the module thread exits + runtime_->LaunchModule(module_); + return 0; } int xenia_run(int argc, xechar_t **argv) { @@ -71,24 +82,18 @@ int xenia_run(int argc, xechar_t **argv) { } const xechar_t *path = argv[1]; - xenia_run_t *run = (xenia_run_t*)xe_calloc(sizeof(xenia_run_t)); - XEEXPECTNOTNULL(run); + auto_ptr run = auto_ptr(new Run()); - result_code = setup_run(run, path); + result_code = run->Setup(path); XEEXPECTZERO(result_code); - xe_module_dump(run->module); + //xe_module_dump(run->module); - xe_kernel_launch_module(run->kernel, run->module); + run->Launch(); - // TODO(benvanik): wait until the module thread exits - destroy_run(run); return 0; XECLEANUP: - if (run) { - destroy_run(run); - } return result_code; } XE_MAIN_THUNK(xenia_run);