From feec20ac3e4a8914a2174fe83d8a7fd6dc7bdbec Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Fri, 5 Sep 2014 21:54:06 +0400 Subject: [PATCH] Compilation fix, be_t fix + CellWebBrowserConfig2 struct --- Utilities/BEType.h | 6 ++ rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp | 4 +- rpcs3/Emu/SysCalls/Modules/cellSysutil.h | 68 ++++++++++++++++++++++ 3 files changed, 76 insertions(+), 2 deletions(-) diff --git a/Utilities/BEType.h b/Utilities/BEType.h index a3be82af61..c470530e15 100644 --- a/Utilities/BEType.h +++ b/Utilities/BEType.h @@ -152,6 +152,12 @@ public: be_t& operator = (const be_t& right) = default; + be_t& operator = (const be_t& right) + { + m_data = right.ToBE(); + return *this; + } + template be_t& operator += (T1 right) { return *this = T(*this) + right; } template be_t& operator -= (T1 right) { return *this = T(*this) - right; } template be_t& operator *= (T1 right) { return *this = T(*this) * right; } diff --git a/rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp b/rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp index 9153af791c..3c23c66e06 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellSysutil.cpp @@ -787,9 +787,9 @@ int cellSysutilGetBgmPlaybackStatus2(vm::ptr stat return CELL_OK; } -int cellWebBrowserEstimate2(vm::ptr _config, vm::ptr> memSize) +int cellWebBrowserEstimate2(const vm::ptr config, vm::ptr> memSize) { - cellSysutil->Warning("cellWebBrowserEstimate2(config_addr=0x%x, memSize_addr=0x%x)", _config.addr(), memSize.addr()); + cellSysutil->Warning("cellWebBrowserEstimate2(config_addr=0x%x, memSize_addr=0x%x)", config.addr(), memSize.addr()); // TODO: When cellWebBrowser stuff is implemented, change this to some real // needed memory buffer size. diff --git a/rpcs3/Emu/SysCalls/Modules/cellSysutil.h b/rpcs3/Emu/SysCalls/Modules/cellSysutil.h index 964bfe1fd2..2abf887bfa 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellSysutil.h +++ b/rpcs3/Emu/SysCalls/Modules/cellSysutil.h @@ -216,3 +216,71 @@ struct CellHddGameCBResult // SysCalls s32 cellVideoOutConfigure(u32 videoOut, u32 config_addr, u32 option_addr, u32 waitForEvent); + +typedef s32 CellWebBrowserId; +typedef void* CellWebBrowserClientSession; +typedef void(*CellWebBrowserCallback)(s32 cb_type, vm::ptr, vm::ptr usrdata); +typedef void(*CellWebComponentCallback)(CellWebBrowserId, s32 cb_type, vm::ptr, vm::ptr usrdata); +typedef void(*CellWebBrowserSystemCallback)(s32 cb_type, vm::ptr usrdata); + +typedef void(*CellWebBrowserMIMETypeCallback)(vm::ptr mimetype, vm::ptr url, vm::ptr usrdata); +typedef void(*CellWebBrowserErrorCallback)(s32 err_type, vm::ptr usrdata); +typedef void(*CellWebBrowserStatusCallback)(s32 err_type, vm::ptr usrdata); +typedef void(*CellWebBrowserNotify)(vm::ptr message, vm::ptr usrdata); +typedef void(*CellWebBrowserUsrdata)(vm::ptr usrdata); + +struct CellWebBrowserMimeSet +{ + vm::bptr const type; + vm::bptr const directory; +}; + +struct CellWebBrowserPos +{ + be_t x; + be_t y; +}; + +struct CellWebBrowserSize +{ + be_t width; + be_t height; +}; + +struct CellWebBrowserRect +{ + CellWebBrowserPos pos; + CellWebBrowserSize size; +}; + +struct CellWebBrowserConfig +{ + be_t version; + be_t heap_size; + vm::bptr mimesets; + be_t mimeset_num; + be_t functions; + be_t tab_count; + vm::bptr exit_cb; + vm::bptr download_cb; + vm::bptr navigated_cb; +}; + +struct CellWebBrowserConfig2 +{ + be_t version; + be_t heap_size; + be_t functions; + be_t tab_count; + be_t size_mode; + be_t view_restriction; + vm::bptr unknown_mimetype_cb; + vm::bptr error_cb; + vm::bptr status_error_cb; + vm::bptr notify_cb; + vm::bptr request_cb; + vm::bptr rect; + be_t resolution_factor; + be_t magic_number_; +}; +