#include "stdafx.h" #include "Utilities/Log.h" #include "Emu/Memory/Memory.h" #include "Emu/System.h" #include "Emu/SysCalls/Modules.h" #include "cellNetCtl.h" //void cellNetCtl_init(); //Module cellNetCtl(0x0014, cellNetCtl_init); Module *cellNetCtl; int cellNetCtlInit() { UNIMPLEMENTED_FUNC(cellNetCtl); return CELL_OK; } int cellNetCtlTerm() { UNIMPLEMENTED_FUNC(cellNetCtl); return CELL_OK; } int cellNetCtlGetState(mem32_t state) { cellNetCtl->Log("cellNetCtlGetState(state_addr=0x%x)", state.GetAddr()); if (!state.IsGood()) { cellNetCtl->Error("cellNetCtlGetState : CELL_NET_CTL_ERROR_INVALID_ADDR"); return CELL_NET_CTL_ERROR_INVALID_ADDR; } state = CELL_NET_CTL_STATE_Disconnected; // TODO: Allow other states return CELL_OK; } int cellNetCtlAddHandler() { UNIMPLEMENTED_FUNC(cellNetCtl); return CELL_OK; } int cellNetCtlDelHandler() { UNIMPLEMENTED_FUNC(cellNetCtl); return CELL_OK; } int cellNetCtlGetInfo() { UNIMPLEMENTED_FUNC(cellNetCtl); return CELL_OK; } int cellNetCtlNetStartDialogLoadAsync(mem_ptr_t param) { cellNetCtl->Todo("cellNetCtlNetStartDialogLoadAsync(param_addr=0x%x)", param.GetAddr()); if (!param.IsGood()) { cellNetCtl->Error("cellNetCtlNetStartDialogLoadAsync : CELL_NET_CTL_ERROR_INVALID_ADDR"); return CELL_NET_CTL_ERROR_INVALID_ADDR; } return CELL_OK; } int cellNetCtlNetStartDialogAbortAsync() { UNIMPLEMENTED_FUNC(cellNetCtl); return CELL_OK; } int cellNetCtlNetStartDialogUnloadAsync(mem_ptr_t result) { cellNetCtl->Todo("cellNetCtlNetStartDialogUnloadAsync(result_addr=0x%x)", result.GetAddr()); if (!result.IsGood()) { cellNetCtl->Error("cellNetCtlNetStartDialogLoadAsync : CELL_NET_CTL_ERROR_INVALID_ADDR"); return CELL_NET_CTL_ERROR_INVALID_ADDR; } return CELL_OK; } int cellNetCtlGetNatInfo(mem_ptr_t natInfo) { cellNetCtl->Todo("cellNetCtlGetNatInfo(natInfo_addr=0x%x)", natInfo.GetAddr()); if (!natInfo.IsGood()) { cellNetCtl->Error("cellNetCtlGetNatInfo : CELL_NET_CTL_ERROR_INVALID_ADDR"); return CELL_NET_CTL_ERROR_INVALID_ADDR; } if (natInfo->size == 0) { cellNetCtl->Error("cellNetCtlGetNatInfo : CELL_NET_CTL_ERROR_INVALID_SIZE"); return CELL_NET_CTL_ERROR_INVALID_SIZE; } return CELL_OK; } void cellNetCtl_init() { cellNetCtl->AddFunc(0xbd5a59fc, cellNetCtlInit); cellNetCtl->AddFunc(0x105ee2cb, cellNetCtlTerm); cellNetCtl->AddFunc(0x8b3eba69, cellNetCtlGetState); cellNetCtl->AddFunc(0x0ce13c6b, cellNetCtlAddHandler); cellNetCtl->AddFunc(0x901815c3, cellNetCtlDelHandler); cellNetCtl->AddFunc(0x1e585b5d, cellNetCtlGetInfo); cellNetCtl->AddFunc(0x04459230, cellNetCtlNetStartDialogLoadAsync); cellNetCtl->AddFunc(0x71d53210, cellNetCtlNetStartDialogAbortAsync); cellNetCtl->AddFunc(0x0f1f13d3, cellNetCtlNetStartDialogUnloadAsync); cellNetCtl->AddFunc(0x3a12865f, cellNetCtlGetNatInfo); }