rpcsx/rpcs3/Emu/SysCalls/Modules/sceNpClans.cpp

478 lines
12 KiB
C++
Raw Normal View History

#include "stdafx.h"
2014-08-23 16:51:51 +02:00
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
2014-08-23 22:40:04 +02:00
#include "Emu/SysCalls/Modules.h"
#include "sceNp.h"
#include "sceNpClans.h"
Module *sceNpClans = nullptr;
struct sceNpClansInternal
{
bool m_bSceNpClansInitialized;
sceNpClansInternal()
: m_bSceNpClansInitialized(false)
{
}
};
sceNpClansInternal sceNpClansInstance;
int sceNpClansInit(vm::ptr<SceNpCommunicationId> commId, vm::ptr<SceNpCommunicationPassphrase> passphrase, vm::ptr<void> pool, vm::ptr<u32> poolSize, u32 flags)
{
sceNpClans->Warning("sceNpClansInit(commId_addr=0x%x, passphrase_addr=0x%x, pool_addr=0x%x,poolSize_addr=0x%x, flags=%d)", commId.addr(), passphrase.addr(), pool.addr(), poolSize.addr(), flags);
if (sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_ALREADY_INITIALIZED;
if (flags != 0)
return SCE_NP_CLANS_ERROR_NOT_SUPPORTED;
sceNpClansInstance.m_bSceNpClansInitialized = true;
return CELL_OK;
}
int sceNpClansTerm()
{
sceNpClans->Warning("sceNpClansTerm()");
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
sceNpClansInstance.m_bSceNpClansInitialized = false;
return CELL_OK;
}
int sceNpClansCreateRequest(vm::ptr<SceNpClansRequestHandle> handle,u64 flags)
{
sceNpClans->Todo("sceNpClansCreateRequest(handle_addr=0x%x, flags=0x%llx)", handle.addr(), flags);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
if (flags != 0)
return SCE_NP_CLANS_ERROR_NOT_SUPPORTED;
return CELL_OK;
}
int sceNpClansDestroyRequest(vm::ptr<SceNpClansRequestHandle> handle)
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansAbortRequest(vm::ptr<SceNpClansRequestHandle> handle)
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansCreateClan(vm::ptr<SceNpClansRequestHandle> handle, vm::ptr<const char> name, vm::ptr<const char> tag, vm::ptr<u32> clanId)
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansDisbandClan(vm::ptr<SceNpClansRequestHandle> handle, u32 clanId)
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansGetClanList(vm::ptr<SceNpClansRequestHandle> handle, vm::ptr<const SceNpClansPagingRequest> paging, vm::ptr<SceNpClansEntry> clanList, vm::ptr<SceNpClansPagingResult> pageResult)
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansGetClanListByNpId()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansSearchByProfile()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansSearchByName()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansGetClanInfo()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansUpdateClanInfo()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansGetMemberList()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansGetMemberInfo()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansUpdateMemberInfo()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansChangeMemberRole()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansGetAutoAcceptStatus()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansUpdateAutoAcceptStatus()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansJoinClan()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansLeaveClan()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansKickMember(vm::ptr<SceNpClansRequestHandle> handle, u32 clanId, vm::ptr<u32> npid, vm::ptr<SceNpClansMessage> message)
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansSendInvitation(vm::ptr<SceNpClansRequestHandle> handle, u32 clanId, vm::ptr<u32> npid, vm::ptr<SceNpClansMessage> message)
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansCancelInvitation()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansSendInvitationResponse(vm::ptr<SceNpClansRequestHandle> handle, u32 clanId, vm::ptr<SceNpClansMessage> message, bool accept)
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansSendMembershipRequest(vm::ptr<SceNpClansRequestHandle> handle, u32 clanId, vm::ptr<SceNpClansMessage> message)
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansCancelMembershipRequest()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansSendMembershipResponse()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansGetBlacklist()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansAddBlacklistEntry()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansRemoveBlacklistEntry()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansRetrieveAnnouncements()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansPostAnnouncement()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansRemoveAnnouncement()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansPostChallenge(vm::ptr<SceNpClansRequestHandle> handle, u32 clanId, u32 targetClan, vm::ptr<SceNpClansMessage> message, vm::ptr<SceNpClansMessageData> data, u32 duration, vm::ptr<u32> mId)
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
if (data != 0)
return SCE_NP_CLANS_ERROR_NOT_SUPPORTED;
//todo
return CELL_OK;
}
int sceNpClansRetrievePostedChallenges()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
//todo
return CELL_OK;
}
int sceNpClansRemovePostedChallenge()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansRetrieveChallenges()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
int sceNpClansRemoveChallenge()
{
UNIMPLEMENTED_FUNC(sceNpClans);
if (!sceNpClansInstance.m_bSceNpClansInitialized)
return SCE_NP_CLANS_ERROR_NOT_INITIALIZED;
return CELL_OK;
}
void sceNpClans_unload()
{
sceNpClansInstance.m_bSceNpClansInitialized = false;
}
void sceNpClans_init(Module *pxThis)
{
sceNpClans = pxThis;
sceNpClans->AddFunc(0x9b820047, sceNpClansInit);
sceNpClans->AddFunc(0x42332cb7, sceNpClansTerm);
sceNpClans->AddFunc(0x9a72232d, sceNpClansCreateRequest);
sceNpClans->AddFunc(0xd6551cd1, sceNpClansDestroyRequest);
sceNpClans->AddFunc(0xe82969e2, sceNpClansAbortRequest);
sceNpClans->AddFunc(0xa6a31a38, sceNpClansCreateClan);
sceNpClans->AddFunc(0x4826f6d5, sceNpClansDisbandClan);
sceNpClans->AddFunc(0xca4181b4, sceNpClansGetClanList);
sceNpClans->AddFunc(0x672399a8, sceNpClansGetClanListByNpId);
sceNpClans->AddFunc(0x1221a1bf, sceNpClansSearchByProfile);
sceNpClans->AddFunc(0xace0cfba, sceNpClansSearchByName);
sceNpClans->AddFunc(0x487de998, sceNpClansGetClanInfo);
sceNpClans->AddFunc(0x09f9e1a9, sceNpClansUpdateClanInfo);
sceNpClans->AddFunc(0x856ff5c0, sceNpClansGetMemberList);
sceNpClans->AddFunc(0x20472da0, sceNpClansGetMemberInfo);
sceNpClans->AddFunc(0xf4a2d52b, sceNpClansUpdateMemberInfo);
sceNpClans->AddFunc(0x9cac2085, sceNpClansChangeMemberRole);
sceNpClans->AddFunc(0x38dadf1f, sceNpClansGetAutoAcceptStatus);
sceNpClans->AddFunc(0x5da94854, sceNpClansUpdateAutoAcceptStatus);
sceNpClans->AddFunc(0xdbf300ca, sceNpClansJoinClan);
sceNpClans->AddFunc(0x560f717b, sceNpClansLeaveClan);
sceNpClans->AddFunc(0xaa7912b5, sceNpClansKickMember);
sceNpClans->AddFunc(0xbc05ef31, sceNpClansSendInvitation);
sceNpClans->AddFunc(0x726dffd5, sceNpClansCancelInvitation);
sceNpClans->AddFunc(0x095e12c6, sceNpClansSendInvitationResponse);
sceNpClans->AddFunc(0x59743b2b, sceNpClansSendMembershipRequest);
sceNpClans->AddFunc(0x299ccc9b, sceNpClansCancelMembershipRequest);
sceNpClans->AddFunc(0x942dbdc4, sceNpClansSendMembershipResponse);
sceNpClans->AddFunc(0x56bc5a7c, sceNpClansGetBlacklist);
sceNpClans->AddFunc(0x4d06aef7, sceNpClansAddBlacklistEntry);
sceNpClans->AddFunc(0x5bff9da1, sceNpClansRemoveBlacklistEntry);
sceNpClans->AddFunc(0x727aa7f8, sceNpClansRetrieveAnnouncements);
sceNpClans->AddFunc(0xada45b84, sceNpClansPostAnnouncement);
sceNpClans->AddFunc(0xe2590f60, sceNpClansRemoveAnnouncement);
sceNpClans->AddFunc(0x83d65529, sceNpClansPostChallenge);
sceNpClans->AddFunc(0x8e785b97, sceNpClansRetrievePostedChallenges);
sceNpClans->AddFunc(0xd3346dc4, sceNpClansRemovePostedChallenge);
sceNpClans->AddFunc(0x0df25834, sceNpClansRetrieveChallenges);
sceNpClans->AddFunc(0xce6dc0f0, sceNpClansRemoveChallenge);
}