mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-01-06 08:40:28 +01:00
Replaces `std::shared_pointer` with `stx::atomic_ptr` and `stx::shared_ptr`. Notes to programmers: * This pr kills the use of `dynamic_cast`, `std::dynamic_pointer_cast` and `std::weak_ptr` on IDM objects, possible replacement is to save the object ID on the base object, then use idm::check/get_unlocked to the destination type via the saved ID which may be null. Null pointer check is how you can tell type mismatch (as dynamic cast) or object destruction (as weak_ptr locking). * Double-inheritance on IDM objects should be used with care, `stx::shared_ptr` does not support constant-evaluated pointer offsetting to parent/child type. * `idm::check/get_unlocked` can now be used anywhere. Misc fixes: * Fixes some segfaults with RPCN with interaction with IDM. * Fix deadlocks in access violation handler due locking recursion. * Fixes race condition in process exit-spawn on memory containers read. * Fix bug that theoretically can prevent RPCS3 from booting - fix `id_manager::typeinfo` comparison to compare members instead of `memcmp` which can fail spuriously on padding bytes. * Ensure all IDM inherited types of base, either has `id_base` or `id_type` defined locally, this allows to make getters such as `idm::get_unlocked<lv2_socket, lv2_socket_raw>()` which were broken before. (requires save-states invalidation) * Removes broken operator[] overload of `stx::shared_ptr` and `stx::single_ptr` for non-array types.
1854 lines
66 KiB
C++
1854 lines
66 KiB
C++
#pragma once
|
|
|
|
#include "cellRtc.h"
|
|
#include "Emu/Cell/ErrorCodes.h"
|
|
|
|
#include <set>
|
|
|
|
error_code sceNpInit(u32 poolsize, vm::ptr<void> poolptr);
|
|
error_code sceNpTerm();
|
|
|
|
using np_in_addr_t = u32;
|
|
using np_in_port_t = u16;
|
|
using np_sa_family_t = u8;
|
|
using np_socklen_t = u32;
|
|
|
|
struct np_in_addr
|
|
{
|
|
np_in_addr_t np_s_addr; // TODO: alignment?
|
|
};
|
|
|
|
using sys_memory_container_t = u32;
|
|
|
|
using system_time_t = u64; // s64 in documentation. But since this is in microseconds, it doesn't seem to make much sense.
|
|
using second_t = u32;
|
|
using usecond_t = u64;
|
|
|
|
using SceNpBasicAttachmentDataId = u32;
|
|
using SceNpBasicMessageId = u64;
|
|
using SceNpBasicMessageRecvAction = u32;
|
|
|
|
using SceNpClanId = u32;
|
|
using SceNpClansMessageId = u32;
|
|
using SceNpClansMemberStatus = s32;
|
|
|
|
using SceNpCustomMenuIndexMask = u32;
|
|
using SceNpCustomMenuSelectedType = u32;
|
|
|
|
using SceNpFriendlistCustomOptions = u64;
|
|
|
|
using SceNpPlatformType = s32;
|
|
|
|
using SceNpScoreBoardId = u32;
|
|
using SceNpScoreClansBoardId = u32;
|
|
using SceNpScorePcId = s32;
|
|
using SceNpScoreRankNumber = u32;
|
|
using SceNpScoreValue = s64;
|
|
|
|
using SceNpTime = s64;
|
|
|
|
// Error Codes
|
|
enum SceNpError : u32
|
|
{
|
|
// NP Manager Utility
|
|
SCE_NP_ERROR_NOT_INITIALIZED = 0x8002aa01,
|
|
SCE_NP_ERROR_ALREADY_INITIALIZED = 0x8002aa02,
|
|
SCE_NP_ERROR_INVALID_ARGUMENT = 0x8002aa03,
|
|
SCE_NP_ERROR_OUT_OF_MEMORY = 0x8002aa04,
|
|
SCE_NP_ERROR_ID_NO_SPACE = 0x8002aa05,
|
|
SCE_NP_ERROR_ID_NOT_FOUND = 0x8002aa06,
|
|
SCE_NP_ERROR_SESSION_RUNNING = 0x8002aa07,
|
|
SCE_NP_ERROR_LOGINID_ALREADY_EXISTS = 0x8002aa08,
|
|
SCE_NP_ERROR_INVALID_TICKET_SIZE = 0x8002aa09,
|
|
SCE_NP_ERROR_INVALID_STATE = 0x8002aa0a,
|
|
SCE_NP_ERROR_ABORTED = 0x8002aa0b,
|
|
SCE_NP_ERROR_OFFLINE = 0x8002aa0c,
|
|
SCE_NP_ERROR_VARIANT_ACCOUNT_ID = 0x8002aa0d,
|
|
SCE_NP_ERROR_GET_CLOCK = 0x8002aa0e,
|
|
SCE_NP_ERROR_INSUFFICIENT_BUFFER = 0x8002aa0f,
|
|
SCE_NP_ERROR_EXPIRED_TICKET = 0x8002aa10,
|
|
SCE_NP_ERROR_TICKET_PARAM_NOT_FOUND = 0x8002aa11,
|
|
SCE_NP_ERROR_UNSUPPORTED_TICKET_VERSION = 0x8002aa12,
|
|
SCE_NP_ERROR_TICKET_STATUS_CODE_INVALID = 0x8002aa13,
|
|
SCE_NP_ERROR_INVALID_TICKET_VERSION = 0x8002aa14,
|
|
SCE_NP_ERROR_ALREADY_USED = 0x8002aa15,
|
|
SCE_NP_ERROR_DIFFERENT_USER = 0x8002aa16,
|
|
SCE_NP_ERROR_ALREADY_DONE = 0x8002aa17,
|
|
|
|
// NP Basic Utility
|
|
SCE_NP_BASIC_ERROR_ALREADY_INITIALIZED = 0x8002a661,
|
|
SCE_NP_BASIC_ERROR_NOT_INITIALIZED = 0x8002a662,
|
|
SCE_NP_BASIC_ERROR_NOT_SUPPORTED = 0x8002a663,
|
|
SCE_NP_BASIC_ERROR_OUT_OF_MEMORY = 0x8002a664,
|
|
SCE_NP_BASIC_ERROR_INVALID_ARGUMENT = 0x8002a665,
|
|
SCE_NP_BASIC_ERROR_BAD_ID = 0x8002a666,
|
|
SCE_NP_BASIC_ERROR_IDS_DIFFER = 0x8002a667,
|
|
SCE_NP_BASIC_ERROR_PARSER_FAILED = 0x8002a668,
|
|
SCE_NP_BASIC_ERROR_TIMEOUT = 0x8002a669,
|
|
SCE_NP_BASIC_ERROR_NO_EVENT = 0x8002a66a,
|
|
SCE_NP_BASIC_ERROR_EXCEEDS_MAX = 0x8002a66b,
|
|
SCE_NP_BASIC_ERROR_INSUFFICIENT = 0x8002a66c,
|
|
SCE_NP_BASIC_ERROR_NOT_REGISTERED = 0x8002a66d,
|
|
SCE_NP_BASIC_ERROR_DATA_LOST = 0x8002a66e,
|
|
SCE_NP_BASIC_ERROR_BUSY = 0x8002a66f,
|
|
SCE_NP_BASIC_ERROR_STATUS = 0x8002a670,
|
|
SCE_NP_BASIC_ERROR_CANCEL = 0x8002a671,
|
|
SCE_NP_BASIC_ERROR_INVALID_MEMORY_CONTAINER = 0x8002a672,
|
|
SCE_NP_BASIC_ERROR_INVALID_DATA_ID = 0x8002a673,
|
|
SCE_NP_BASIC_ERROR_BROKEN_DATA = 0x8002a674,
|
|
SCE_NP_BASIC_ERROR_BLOCKLIST_ADD_FAILED = 0x8002a675,
|
|
SCE_NP_BASIC_ERROR_BLOCKLIST_IS_FULL = 0x8002a676,
|
|
SCE_NP_BASIC_ERROR_SEND_FAILED = 0x8002a677,
|
|
SCE_NP_BASIC_ERROR_NOT_CONNECTED = 0x8002a678,
|
|
SCE_NP_BASIC_ERROR_INSUFFICIENT_DISK_SPACE = 0x8002a679,
|
|
SCE_NP_BASIC_ERROR_INTERNAL_FAILURE = 0x8002a67a,
|
|
SCE_NP_BASIC_ERROR_DOES_NOT_EXIST = 0x8002a67b,
|
|
SCE_NP_BASIC_ERROR_INVALID = 0x8002a67c,
|
|
SCE_NP_BASIC_ERROR_UNKNOWN = 0x8002a6bf,
|
|
SCE_NP_EXT_ERROR_CONTEXT_DOES_NOT_EXIST = 0x8002a6a1,
|
|
SCE_NP_EXT_ERROR_CONTEXT_ALREADY_EXISTS = 0x8002a6a2,
|
|
SCE_NP_EXT_ERROR_NO_CONTEXT = 0x8002a6a3,
|
|
SCE_NP_EXT_ERROR_NO_ORIGIN = 0x8002a6a4,
|
|
|
|
// NP Common Utility
|
|
SCE_NP_UTIL_ERROR_INVALID_ARGUMENT = 0x8002ab01,
|
|
SCE_NP_UTIL_ERROR_OUT_OF_MEMORY = 0x8002ab02,
|
|
SCE_NP_UTIL_ERROR_INSUFFICIENT = 0x8002ab03,
|
|
SCE_NP_UTIL_ERROR_PARSER_FAILED = 0x8002ab04,
|
|
SCE_NP_UTIL_ERROR_INVALID_PROTOCOL_ID = 0x8002ab05,
|
|
SCE_NP_UTIL_ERROR_INVALID_NP_ID = 0x8002ab06,
|
|
SCE_NP_UTIL_ERROR_INVALID_NP_LOBBY_ID = 0x8002ab07,
|
|
SCE_NP_UTIL_ERROR_INVALID_NP_ROOM_ID = 0x8002ab08,
|
|
SCE_NP_UTIL_ERROR_INVALID_NP_ENV = 0x8002ab09,
|
|
SCE_NP_UTIL_ERROR_INVALID_TITLEID = 0x8002ab0a,
|
|
SCE_NP_UTIL_ERROR_INVALID_CHARACTER = 0x8002ab0b,
|
|
SCE_NP_UTIL_ERROR_INVALID_ESCAPE_STRING = 0x8002ab0c,
|
|
SCE_NP_UTIL_ERROR_UNKNOWN_TYPE = 0x8002ab0d,
|
|
SCE_NP_UTIL_ERROR_UNKNOWN = 0x8002ab0e,
|
|
SCE_NP_UTIL_ERROR_NOT_MATCH = 0x8002ab0f,
|
|
SCE_NP_UTIL_ERROR_UNKNOWN_PLATFORM_TYPE = 0x8002ab10,
|
|
|
|
// NP Friendlist Utility
|
|
SCE_NP_FRIENDLIST_ERROR_ALREADY_INITIALIZED = 0x8002ab20,
|
|
SCE_NP_FRIENDLIST_ERROR_NOT_INITIALIZED = 0x8002ab21,
|
|
SCE_NP_FRIENDLIST_ERROR_OUT_OF_MEMORY = 0x8002ab22,
|
|
SCE_NP_FRIENDLIST_ERROR_INVALID_MEMORY_CONTAINER = 0x8002ab23,
|
|
SCE_NP_FRIENDLIST_ERROR_INSUFFICIENT = 0x8002ab24,
|
|
SCE_NP_FRIENDLIST_ERROR_CANCEL = 0x8002ab25,
|
|
SCE_NP_FRIENDLIST_ERROR_STATUS = 0x8002ab26,
|
|
SCE_NP_FRIENDLIST_ERROR_BUSY = 0x8002ab27,
|
|
SCE_NP_FRIENDLIST_ERROR_INVALID_ARGUMENT = 0x8002ab28,
|
|
|
|
// NP Profile Utility
|
|
SCE_NP_PROFILE_ERROR_ALREADY_INITIALIZED = 0x8002ab40,
|
|
SCE_NP_PROFILE_ERROR_NOT_INITIALIZED = 0x8002ab41,
|
|
SCE_NP_PROFILE_ERROR_OUT_OF_MEMORY = 0x8002ab42,
|
|
SCE_NP_PROFILE_ERROR_NOT_SUPPORTED = 0x8002ab43,
|
|
SCE_NP_PROFILE_ERROR_INSUFFICIENT = 0x8002ab44,
|
|
SCE_NP_PROFILE_ERROR_CANCEL = 0x8002ab45,
|
|
SCE_NP_PROFILE_ERROR_STATUS = 0x8002ab46,
|
|
SCE_NP_PROFILE_ERROR_BUSY = 0x8002ab47,
|
|
SCE_NP_PROFILE_ERROR_INVALID_ARGUMENT = 0x8002ab48,
|
|
SCE_NP_PROFILE_ERROR_ABORT = 0x8002ab49,
|
|
|
|
// NP Community Utility
|
|
SCE_NP_COMMUNITY_ERROR_ALREADY_INITIALIZED = 0x8002a101,
|
|
SCE_NP_COMMUNITY_ERROR_NOT_INITIALIZED = 0x8002a102,
|
|
SCE_NP_COMMUNITY_ERROR_OUT_OF_MEMORY = 0x8002a103,
|
|
SCE_NP_COMMUNITY_ERROR_INVALID_ARGUMENT = 0x8002a104,
|
|
SCE_NP_COMMUNITY_ERROR_NO_TITLE_SET = 0x8002a105,
|
|
SCE_NP_COMMUNITY_ERROR_NO_LOGIN = 0x8002a106,
|
|
SCE_NP_COMMUNITY_ERROR_TOO_MANY_OBJECTS = 0x8002a107,
|
|
SCE_NP_COMMUNITY_ERROR_TRANSACTION_STILL_REFERENCED = 0x8002a108,
|
|
SCE_NP_COMMUNITY_ERROR_ABORTED = 0x8002a109,
|
|
SCE_NP_COMMUNITY_ERROR_NO_RESOURCE = 0x8002a10a,
|
|
SCE_NP_COMMUNITY_ERROR_BAD_RESPONSE = 0x8002a10b,
|
|
SCE_NP_COMMUNITY_ERROR_BODY_TOO_LARGE = 0x8002a10c,
|
|
SCE_NP_COMMUNITY_ERROR_HTTP_SERVER = 0x8002a10d,
|
|
SCE_NP_COMMUNITY_ERROR_INVALID_SIGNATURE = 0x8002a10e,
|
|
SCE_NP_COMMUNITY_ERROR_TIMEOUT = 0x8002a10f,
|
|
SCE_NP_COMMUNITY_ERROR_INSUFFICIENT_ARGUMENT = 0x8002a1a1,
|
|
SCE_NP_COMMUNITY_ERROR_UNKNOWN_TYPE = 0x8002a1a2,
|
|
SCE_NP_COMMUNITY_ERROR_INVALID_ID = 0x8002a1a3,
|
|
SCE_NP_COMMUNITY_ERROR_INVALID_ONLINE_ID = 0x8002a1a4,
|
|
SCE_NP_COMMUNITY_ERROR_INVALID_TICKET = 0x8002a1a5,
|
|
SCE_NP_COMMUNITY_ERROR_CLIENT_HANDLE_ALREADY_EXISTS = 0x8002a1a6,
|
|
SCE_NP_COMMUNITY_ERROR_INSUFFICIENT_BUFFER = 0x8002a1a7,
|
|
SCE_NP_COMMUNITY_ERROR_INVALID_TYPE = 0x8002a1a8,
|
|
SCE_NP_COMMUNITY_ERROR_TRANSACTION_ALREADY_END = 0x8002a1a9,
|
|
SCE_NP_COMMUNITY_ERROR_TRANSACTION_BEFORE_END = 0x8002a1aa,
|
|
SCE_NP_COMMUNITY_ERROR_BUSY_BY_ANOTEHR_TRANSACTION = 0x8002a1ab,
|
|
SCE_NP_COMMUNITY_ERROR_INVALID_ALIGNMENT = 0x8002a1ac,
|
|
SCE_NP_COMMUNITY_ERROR_TOO_MANY_NPID = 0x8002a1ad,
|
|
SCE_NP_COMMUNITY_ERROR_TOO_LARGE_RANGE = 0x8002a1ae,
|
|
SCE_NP_COMMUNITY_ERROR_INVALID_PARTITION = 0x8002a1af,
|
|
SCE_NP_COMMUNITY_ERROR_TOO_MANY_SLOTID = 0x8002a1b1,
|
|
|
|
// NP Community Server
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_BAD_REQUEST = 0x8002a401,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_TICKET = 0x8002a402,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_SIGNATURE = 0x8002a403,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_EXPIRED_TICKET = 0x8002a404,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_NPID = 0x8002a405,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_FORBIDDEN = 0x8002a406,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_INTERNAL_SERVER_ERROR = 0x8002a407,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_VERSION_NOT_SUPPORTED = 0x8002a408,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_SERVICE_UNAVAILABLE = 0x8002a409,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_PLAYER_BANNED = 0x8002a40a,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_CENSORED = 0x8002a40b,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_RECORD_FORBIDDEN = 0x8002a40c,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_USER_PROFILE_NOT_FOUND = 0x8002a40d,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_UPLOADER_DATA_NOT_FOUND = 0x8002a40e,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_QUOTA_MASTER_NOT_FOUND = 0x8002a40f,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_TITLE_NOT_FOUND = 0x8002a410,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_BLACKLISTED_USER_ID = 0x8002a411,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_GAME_RANKING_NOT_FOUND = 0x8002a412,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_STORE_NOT_FOUND = 0x8002a414,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_NOT_BEST_SCORE = 0x8002a415,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_LATEST_UPDATE_NOT_FOUND = 0x8002a416,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_BOARD_MASTER_NOT_FOUND = 0x8002a417,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_GAME_DATA_MASTER_NOT_FOUND = 0x8002a418,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_ANTICHEAT_DATA = 0x8002a419,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_TOO_LARGE_DATA = 0x8002a41a,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_NO_SUCH_USER_NPID = 0x8002a41b,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_ENVIRONMENT = 0x8002a41d,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_ONLINE_NAME_CHARACTER = 0x8002a41f,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_ONLINE_NAME_LENGTH = 0x8002a420,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_ABOUT_ME_CHARACTER = 0x8002a421,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_ABOUT_ME_LENGTH = 0x8002a422,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_SCORE = 0x8002a423,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_OVER_THE_RANKING_LIMIT = 0x8002a424,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_FAIL_TO_CREATE_SIGNATURE = 0x8002a426,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_MASTER_INFO_NOT_FOUND = 0x8002a427,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_OVER_THE_GAME_DATA_LIMIT = 0x8002a428,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_SELF_DATA_NOT_FOUND = 0x8002a42a,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_USER_NOT_ASSIGNED = 0x8002a42b,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_GAME_DATA_ALREADY_EXISTS = 0x8002a42c,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_TOO_MANY_RESULTS = 0x8002a42d,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_NOT_RECORDABLE_VERSION = 0x8002a42e,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_USER_STORAGE_TITLE_MASTER_NOT_FOUND = 0x8002a448,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_INVALID_VIRTUAL_USER = 0x8002a449,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_USER_STORAGE_DATA_NOT_FOUND = 0x8002a44a,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_CONDITIONS_NOT_SATISFIED = 0x8002a473,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_MATCHING_BEFORE_SERVICE = 0x8002a4a0,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_MATCHING_END_OF_SERVICE = 0x8002a4a1,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_MATCHING_MAINTENANCE = 0x8002a4a2,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_BEFORE_SERVICE = 0x8002a4a3,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_END_OF_SERVICE = 0x8002a4a4,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_RANKING_MAINTENANCE = 0x8002a4a5,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_NO_SUCH_TITLE = 0x8002a4a6,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_TITLE_USER_STORAGE_BEFORE_SERVICE = 0x8002a4aa,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_TITLE_USER_STORAGE_END_OF_SERVICE = 0x8002a4ab,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_TITLE_USER_STORAGE_MAINTENANCE = 0x8002a4ac,
|
|
SCE_NP_COMMUNITY_SERVER_ERROR_UNSPECIFIED = 0x8002a4ff,
|
|
|
|
// COMMERCE
|
|
SCE_NP_COMMERCE_ERROR_NOT_INITIALIZED = 0x80029401,
|
|
SCE_NP_COMMERCE_ERROR_ALREADY_INITIALIZED = 0x80029402,
|
|
SCE_NP_COMMERCE_ERROR_OUT_OF_MEMORY = 0x80029403,
|
|
SCE_NP_COMMERCE_ERROR_UNSUPPORTED_VERSION = 0x80029404,
|
|
SCE_NP_COMMERCE_ERROR_CTX_MAX = 0x80029405,
|
|
SCE_NP_COMMERCE_ERROR_CTX_NOT_FOUND = 0x80029406,
|
|
SCE_NP_COMMERCE_ERROR_CTXID_NOT_AVAILABLE = 0x80029407,
|
|
SCE_NP_COMMERCE_ERROR_REQ_MAX = 0x80029408,
|
|
SCE_NP_COMMERCE_ERROR_REQ_NOT_FOUND = 0x80029409,
|
|
SCE_NP_COMMERCE_ERROR_REQID_NOT_AVAILABLE = 0x8002940a,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_CATEGORY_ID = 0x8002940b,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_LANG_CODE = 0x8002940c,
|
|
SCE_NP_COMMERCE_ERROR_REQ_BUSY = 0x8002940d,
|
|
SCE_NP_COMMERCE_ERROR_INSUFFICIENT_BUFFER = 0x8002940e,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_REQ_STATE = 0x8002940f,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_CTX_STATE = 0x80029410,
|
|
SCE_NP_COMMERCE_ERROR_UNKNOWN = 0x80029411,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_REQ_TYPE = 0x80029412,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_MEMORY_CONTAINER = 0x80029413,
|
|
SCE_NP_COMMERCE_ERROR_INSUFFICIENT_MEMORY_CONTAINER = 0x80029414,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_DATA_FLAG_TYPE = 0x80029415,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_DATA_FLAG_STATE = 0x80029416,
|
|
SCE_NP_COMMERCE_ERROR_DATA_FLAG_NUM_NOT_FOUND = 0x80029417,
|
|
SCE_NP_COMMERCE_ERROR_DATA_FLAG_INFO_NOT_FOUND = 0x80029418,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_PROVIDER_ID = 0x80029419,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_DATA_FLAG_NUM = 0x8002941a,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_SKU_ID = 0x8002941b,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_DATA_FLAG_ID = 0x8002941c,
|
|
SCE_NP_COMMERCE_ERROR_GPC_SEND_REQUEST = 0x8002941d,
|
|
SCE_NP_COMMERCE_ERROR_GDF_SEND_REQUEST = 0x8002941e,
|
|
SCE_NP_COMMERCE_ERROR_SDF_SEND_REQUEST = 0x8002941f,
|
|
|
|
SCE_NP_COMMERCE_ERROR_PARSE_PRODUCT_CATEGORY = 0x80029421,
|
|
SCE_NP_COMMERCE_ERROR_CURRENCY_INFO_NOT_FOUND = 0x80029422,
|
|
SCE_NP_COMMERCE_ERROR_CATEGORY_INFO_NOT_FOUND = 0x80029423,
|
|
SCE_NP_COMMERCE_ERROR_CHILD_CATEGORY_COUNT_NOT_FOUND = 0x80029424,
|
|
SCE_NP_COMMERCE_ERROR_CHILD_CATEGORY_INFO_NOT_FOUND = 0x80029425,
|
|
SCE_NP_COMMERCE_ERROR_SKU_COUNT_NOT_FOUND = 0x80029426,
|
|
SCE_NP_COMMERCE_ERROR_SKU_INFO_NOT_FOUND = 0x80029427,
|
|
SCE_NP_COMMERCE_ERROR_PLUGIN_LOAD_FAILURE = 0x80029428,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_SKU_NUM = 0x80029429,
|
|
SCE_NP_COMMERCE_ERROR_INVALID_GPC_PROTOCOL_VERSION = 0x8002942a,
|
|
|
|
SCE_NP_COMMERCE_ERROR_CHECKOUT_UNEXPECTED = 0x80029430,
|
|
SCE_NP_COMMERCE_ERROR_CHECKOUT_OUT_OF_SERVICE = 0x80029431,
|
|
SCE_NP_COMMERCE_ERROR_CHECKOUT_INVALID_SKU = 0x80029432,
|
|
SCE_NP_COMMERCE_ERROR_CHECKOUT_SERVER_BUSY = 0x80029433,
|
|
SCE_NP_COMMERCE_ERROR_CHECKOUT_MAINTENANCE = 0x80029434,
|
|
SCE_NP_COMMERCE_ERROR_CHECKOUT_ACCOUNT_SUSPENDED = 0x80029435,
|
|
SCE_NP_COMMERCE_ERROR_CHECKOUT_OVER_SPENDING_LIMIT = 0x80029436,
|
|
SCE_NP_COMMERCE_ERROR_CHECKOUT_NOT_ENOUGH_MONEY = 0x80029437,
|
|
SCE_NP_COMMERCE_ERROR_CHECKOUT_UNKNOWN = 0x80029438,
|
|
|
|
SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_UNKNOWN = 0x80029600,
|
|
SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_INVALID_CREDENTIALS = 0x80029601,
|
|
SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_INVALID_CATEGORY_ID = 0x80029602,
|
|
SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_SERVICE_END = 0x80029603,
|
|
SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_SERVICE_STOP = 0x80029604,
|
|
SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_SERVICE_BUSY = 0x80029605,
|
|
SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_UNSUPPORTED_VERSION = 0x80029606,
|
|
SCE_NP_COMMERCE_BROWSE_SERVER_ERROR_INTERNAL_SERVER = 0x80029680,
|
|
|
|
SCE_NP_COMMERCE_GDF_SERVER_ERROR_UNKNOWN = 0x80029d00,
|
|
SCE_NP_COMMERCE_GDF_SERVER_ERROR_INVALID_CREDENTIALS = 0x80029d01,
|
|
SCE_NP_COMMERCE_GDF_SERVER_ERROR_INVALID_FLAGLIST = 0x80029d02,
|
|
SCE_NP_COMMERCE_GDF_SERVER_ERROR_SERVICE_END = 0x80029d03,
|
|
SCE_NP_COMMERCE_GDF_SERVER_ERROR_SERVICE_STOP = 0x80029d04,
|
|
SCE_NP_COMMERCE_GDF_SERVER_ERROR_SERVICE_BUSY = 0x80029d05,
|
|
SCE_NP_COMMERCE_GDF_SERVER_ERROR_UNSUPPORTED_VERSION = 0x80029d06,
|
|
|
|
SCE_NP_COMMERCE_SDF_SERVER_ERROR_UNKNOWN = 0x80029e00,
|
|
SCE_NP_COMMERCE_SDF_SERVER_ERROR_INVALID_CREDENTIALS = 0x80029e01,
|
|
SCE_NP_COMMERCE_SDF_SERVER_ERROR_INVALID_FLAGLIST = 0x80029e02,
|
|
SCE_NP_COMMERCE_SDF_SERVER_ERROR_SERVICE_END = 0x80029e03,
|
|
SCE_NP_COMMERCE_SDF_SERVER_ERROR_SERVICE_STOP = 0x80029e04,
|
|
SCE_NP_COMMERCE_SDF_SERVER_ERROR_SERVICE_BUSY = 0x80029e05,
|
|
SCE_NP_COMMERCE_SDF_SERVER_ERROR_UNSUPPORTED_VERSION = 0x80029e06,
|
|
|
|
// DRM
|
|
SCE_NP_DRM_ERROR_OUT_OF_MEMORY = 0x80029501,
|
|
SCE_NP_DRM_ERROR_INVALID_PARAM = 0x80029502,
|
|
SCE_NP_DRM_ERROR_SERVER_RESPONSE = 0x80029509,
|
|
SCE_NP_DRM_ERROR_NO_ENTITLEMENT = 0x80029513,
|
|
SCE_NP_DRM_ERROR_BAD_ACT = 0x80029514,
|
|
SCE_NP_DRM_ERROR_BAD_FORMAT = 0x80029515,
|
|
SCE_NP_DRM_ERROR_NO_LOGIN = 0x80029516,
|
|
SCE_NP_DRM_ERROR_INTERNAL = 0x80029517,
|
|
SCE_NP_DRM_ERROR_BAD_PERM = 0x80029519,
|
|
SCE_NP_DRM_ERROR_UNKNOWN_VERSION = 0x8002951a,
|
|
SCE_NP_DRM_ERROR_TIME_LIMIT = 0x8002951b,
|
|
SCE_NP_DRM_ERROR_DIFFERENT_ACCOUNT_ID = 0x8002951c,
|
|
SCE_NP_DRM_ERROR_DIFFERENT_DRM_TYPE = 0x8002951d,
|
|
SCE_NP_DRM_ERROR_SERVICE_NOT_STARTED = 0x8002951e,
|
|
SCE_NP_DRM_ERROR_BUSY = 0x80029520,
|
|
SCE_NP_DRM_ERROR_LICENSE_NOT_FOUND = 0x80029521,
|
|
SCE_NP_DRM_ERROR_IO = 0x80029525,
|
|
SCE_NP_DRM_ERROR_FORMAT = 0x80029530,
|
|
SCE_NP_DRM_ERROR_FILENAME = 0x80029533,
|
|
SCE_NP_DRM_ERROR_K_LICENSEE = 0x80029534,
|
|
|
|
// DRM Server
|
|
SCE_NP_DRM_SERVER_ERROR_SERVICE_IS_END = 0x80029700,
|
|
SCE_NP_DRM_SERVER_ERROR_SERVICE_STOP_TEMPORARILY = 0x80029701,
|
|
SCE_NP_DRM_SERVER_ERROR_SERVICE_IS_BUSY = 0x80029702,
|
|
SCE_NP_DRM_SERVER_ERROR_INVALID_USER_CREDENTIAL = 0x80029721,
|
|
SCE_NP_DRM_SERVER_ERROR_INVALID_PRODUCT_ID = 0x80029722,
|
|
SCE_NP_DRM_SERVER_ERROR_ACCOUNT_IS_CLOSED = 0x80029730,
|
|
SCE_NP_DRM_SERVER_ERROR_ACCOUNT_IS_SUSPENDED = 0x80029731,
|
|
SCE_NP_DRM_SERVER_ERROR_ACTIVATED_CONSOLE_IS_FULL = 0x80029750,
|
|
SCE_NP_DRM_SERVER_ERROR_CONSOLE_NOT_ACTIVATED = 0x80029751,
|
|
SCE_NP_DRM_SERVER_ERROR_PRIMARY_CONSOLE_CANNOT_CHANGED = 0x80029752,
|
|
SCE_NP_DRM_SERVER_ERROR_UNKNOWN = 0x80029780,
|
|
|
|
// DRM Install
|
|
SCE_NP_DRM_INSTALL_ERROR_FORMAT = 0x80029563,
|
|
SCE_NP_DRM_INSTALL_ERROR_CHECK = 0x80029564,
|
|
SCE_NP_DRM_INSTALL_ERROR_UNSUPPORTED = 0x80029566,
|
|
|
|
// Game purchase processing
|
|
GAME_ERR_NOT_XMBBUY_CONTENT = 0x80028F81,
|
|
|
|
// Auth
|
|
SCE_NP_AUTH_EINVAL = 0x8002a002,
|
|
SCE_NP_AUTH_ENOMEM = 0x8002a004,
|
|
SCE_NP_AUTH_ESRCH = 0x8002a005,
|
|
SCE_NP_AUTH_EBUSY = 0x8002a00a,
|
|
SCE_NP_AUTH_EABORT = 0x8002a00c,
|
|
SCE_NP_AUTH_EEXIST = 0x8002a014,
|
|
SCE_NP_AUTH_EINVALID_ARGUMENT = 0x8002a015,
|
|
|
|
// Auth extended
|
|
SCE_NP_AUTH_ERROR_SERVICE_END = 0x8002a200,
|
|
SCE_NP_AUTH_ERROR_SERVICE_DOWN = 0x8002a201,
|
|
SCE_NP_AUTH_ERROR_SERVICE_BUSY = 0x8002a202,
|
|
SCE_NP_AUTH_ERROR_SERVER_MAINTENANCE = 0x8002a203,
|
|
SCE_NP_AUTH_ERROR_INVALID_DATA_LENGTH = 0x8002a210,
|
|
SCE_NP_AUTH_ERROR_INVALID_USER_AGENT = 0x8002a211,
|
|
SCE_NP_AUTH_ERROR_INVALID_VERSION = 0x8002a212,
|
|
SCE_NP_AUTH_ERROR_INVALID_SERVICE_ID = 0x8002a220,
|
|
SCE_NP_AUTH_ERROR_INVALID_CREDENTIAL = 0x8002a221,
|
|
SCE_NP_AUTH_ERROR_INVALID_ENTITLEMENT_ID = 0x8002a222,
|
|
SCE_NP_AUTH_ERROR_INVALID_CONSUMED_COUNT = 0x8002a223,
|
|
SCE_NP_AUTH_ERROR_INVALID_CONSOLE_ID = 0x8002a224,
|
|
SCE_NP_AUTH_ERROR_CONSOLE_ID_SUSPENDED = 0x8002a227,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_CLOSED = 0x8002a230,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_SUSPENDED = 0x8002a231,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_EULA = 0x8002a232,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT1 = 0x8002a240,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT2 = 0x8002a241,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT3 = 0x8002a242,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT4 = 0x8002a243,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT5 = 0x8002a244,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT6 = 0x8002a245,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT7 = 0x8002a246,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT8 = 0x8002a247,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT9 = 0x8002a248,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT10 = 0x8002a249,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT11 = 0x8002a24a,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT12 = 0x8002a24b,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT13 = 0x8002a24c,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT14 = 0x8002a24d,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT15 = 0x8002a24e,
|
|
SCE_NP_AUTH_ERROR_ACCOUNT_RENEW_ACCOUNT16 = 0x8002a24f,
|
|
SCE_NP_AUTH_ERROR_UNKNOWN = 0x8002a280,
|
|
|
|
// Core Utility
|
|
SCE_NP_CORE_UTIL_ERROR_INVALID_ARGUMENT = 0x8002a501,
|
|
SCE_NP_CORE_UTIL_ERROR_OUT_OF_MEMORY = 0x8002a502,
|
|
SCE_NP_CORE_UTIL_ERROR_INSUFFICIENT = 0x8002a503,
|
|
SCE_NP_CORE_UTIL_ERROR_PARSER_FAILED = 0x8002a504,
|
|
SCE_NP_CORE_UTIL_ERROR_INVALID_PROTOCOL_ID = 0x8002a505,
|
|
SCE_NP_CORE_UTIL_ERROR_INVALID_EXTENSION = 0x8002a506,
|
|
SCE_NP_CORE_UTIL_ERROR_INVALID_TEXT = 0x8002a507,
|
|
SCE_NP_CORE_UTIL_ERROR_UNKNOWN_TYPE = 0x8002a508,
|
|
SCE_NP_CORE_UTIL_ERROR_UNKNOWN = 0x8002a509,
|
|
|
|
// Core Parser
|
|
SCE_NP_CORE_PARSER_ERROR_NOT_INITIALIZED = 0x8002a511,
|
|
SCE_NP_CORE_PARSER_ERROR_ALREADY_INITIALIZED = 0x8002a512,
|
|
SCE_NP_CORE_PARSER_ERROR_OUT_OF_MEMORY = 0x8002a513,
|
|
SCE_NP_CORE_PARSER_ERROR_INSUFFICIENT = 0x8002a514,
|
|
SCE_NP_CORE_PARSER_ERROR_INVALID_FORMAT = 0x8002a515,
|
|
SCE_NP_CORE_PARSER_ERROR_INVALID_ARGUMENT = 0x8002a516,
|
|
SCE_NP_CORE_PARSER_ERROR_INVALID_HANDLE = 0x8002a517,
|
|
SCE_NP_CORE_PARSER_ERROR_INVALID_ICON = 0x8002a518,
|
|
SCE_NP_CORE_PARSER_ERROR_UNKNOWN = 0x8002a519,
|
|
|
|
// Core Errors
|
|
SCE_NP_CORE_ERROR_ALREADY_INITIALIZED = 0x8002a521,
|
|
SCE_NP_CORE_ERROR_NOT_INITIALIZED = 0x8002a522,
|
|
SCE_NP_CORE_ERROR_INVALID_ARGUMENT = 0x8002a523,
|
|
SCE_NP_CORE_ERROR_OUT_OF_MEMORY = 0x8002a524,
|
|
SCE_NP_CORE_ERROR_ID_NOT_AVAILABLE = 0x8002a525,
|
|
SCE_NP_CORE_ERROR_USER_OFFLINE = 0x8002a526,
|
|
SCE_NP_CORE_ERROR_SESSION_RUNNING = 0x8002a527,
|
|
SCE_NP_CORE_ERROR_SESSION_NOT_ESTABLISHED = 0x8002a528,
|
|
SCE_NP_CORE_ERROR_SESSION_INVALID_STATE = 0x8002a529,
|
|
SCE_NP_CORE_ERROR_SESSION_ID_TOO_LONG = 0x8002a52a,
|
|
SCE_NP_CORE_ERROR_SESSION_INVALID_NAMESPACE = 0x8002a52b,
|
|
SCE_NP_CORE_ERROR_CONNECTION_TIMEOUT = 0x8002a52c,
|
|
SCE_NP_CORE_ERROR_GETSOCKOPT = 0x8002a52d,
|
|
SCE_NP_CORE_ERROR_SSL_NOT_INITIALIZED = 0x8002a52e,
|
|
SCE_NP_CORE_ERROR_SSL_ALREADY_INITIALIZED = 0x8002a52f,
|
|
SCE_NP_CORE_ERROR_SSL_NO_CERT = 0x8002a530,
|
|
SCE_NP_CORE_ERROR_SSL_NO_TRUSTWORTHY_CA = 0x8002a531,
|
|
SCE_NP_CORE_ERROR_SSL_INVALID_CERT = 0x8002a532,
|
|
SCE_NP_CORE_ERROR_SSL_CERT_VERIFY = 0x8002a533,
|
|
SCE_NP_CORE_ERROR_SSL_CN_CHECK = 0x8002a534,
|
|
SCE_NP_CORE_ERROR_SSL_HANDSHAKE_FAILED = 0x8002a535,
|
|
SCE_NP_CORE_ERROR_SSL_SEND = 0x8002a536,
|
|
SCE_NP_CORE_ERROR_SSL_RECV = 0x8002a537,
|
|
SCE_NP_CORE_ERROR_SSL_CREATE_CTX = 0x8002a538,
|
|
SCE_NP_CORE_ERROR_PARSE_PEM = 0x8002a539,
|
|
SCE_NP_CORE_ERROR_INVALID_INITIATE_STREAM = 0x8002a53a,
|
|
SCE_NP_CORE_ERROR_SASL_NOT_SUPPORTED = 0x8002a53b,
|
|
SCE_NP_CORE_ERROR_NAMESPACE_ALREADY_EXISTS = 0x8002a53c,
|
|
SCE_NP_CORE_ERROR_FROM_ALREADY_EXISTS = 0x8002a53d,
|
|
SCE_NP_CORE_ERROR_MODULE_NOT_REGISTERED = 0x8002a53e,
|
|
SCE_NP_CORE_ERROR_MODULE_FROM_NOT_FOUND = 0x8002a53f,
|
|
SCE_NP_CORE_ERROR_UNKNOWN_NAMESPACE = 0x8002a540,
|
|
SCE_NP_CORE_ERROR_INVALID_VERSION = 0x8002a541,
|
|
SCE_NP_CORE_ERROR_LOGIN_TIMEOUT = 0x8002a542,
|
|
SCE_NP_CORE_ERROR_TOO_MANY_SESSIONS = 0x8002a543,
|
|
SCE_NP_CORE_ERROR_SENDLIST_NOT_FOUND = 0x8002a544,
|
|
SCE_NP_CORE_ERROR_NO_ID = 0x8002a545,
|
|
SCE_NP_CORE_ERROR_LOAD_CERTS = 0x8002a546,
|
|
SCE_NP_CORE_ERROR_NET_SELECT = 0x8002a547,
|
|
SCE_NP_CORE_ERROR_DISCONNECTED = 0x8002a548,
|
|
SCE_NP_CORE_ERROR_TICKET_TOO_SMALL = 0x8002a549,
|
|
SCE_NP_CORE_ERROR_INVALID_TICKET = 0x8002a54a,
|
|
SCE_NP_CORE_ERROR_INVALID_ONLINEID = 0x8002a54b,
|
|
SCE_NP_CORE_ERROR_GETHOSTBYNAME = 0x8002a54c,
|
|
SCE_NP_CORE_ERROR_UNDEFINED_STREAM_ERROR = 0x8002a54d,
|
|
SCE_NP_CORE_ERROR_INTERNAL = 0x8002a5ff,
|
|
|
|
// Core DNS
|
|
SCE_NP_CORE_ERROR_DNS_HOST_NOT_FOUND = 0x8002af01,
|
|
SCE_NP_CORE_ERROR_DNS_TRY_AGAIN = 0x8002af02,
|
|
SCE_NP_CORE_ERROR_DNS_NO_RECOVERY = 0x8002af03,
|
|
SCE_NP_CORE_ERROR_DNS_NO_DATA = 0x8002af04,
|
|
SCE_NP_CORE_ERROR_DNS_NO_ADDRESS = 0x8002afff,
|
|
|
|
// Core Server
|
|
SCE_NP_CORE_SERVER_ERROR_CONFLICT = 0x8002a303,
|
|
SCE_NP_CORE_SERVER_ERROR_NOT_AUTHORIZED = 0x8002a30d,
|
|
SCE_NP_CORE_SERVER_ERROR_REMOTE_CONNECTION_FAILED = 0x8002a30f,
|
|
SCE_NP_CORE_SERVER_ERROR_RESOURCE_CONSTRAINT = 0x8002a310,
|
|
SCE_NP_CORE_SERVER_ERROR_SYSTEM_SHUTDOWN = 0x8002a313,
|
|
SCE_NP_CORE_SERVER_ERROR_UNSUPPORTED_CLIENT_VERSION = 0x8002a319,
|
|
|
|
// Signaling
|
|
SCE_NP_SIGNALING_ERROR_NOT_INITIALIZED = 0x8002a801,
|
|
SCE_NP_SIGNALING_ERROR_ALREADY_INITIALIZED = 0x8002a802,
|
|
SCE_NP_SIGNALING_ERROR_OUT_OF_MEMORY = 0x8002a803,
|
|
SCE_NP_SIGNALING_ERROR_CTXID_NOT_AVAILABLE = 0x8002a804,
|
|
SCE_NP_SIGNALING_ERROR_CTX_NOT_FOUND = 0x8002a805,
|
|
SCE_NP_SIGNALING_ERROR_REQID_NOT_AVAILABLE = 0x8002a806,
|
|
SCE_NP_SIGNALING_ERROR_REQ_NOT_FOUND = 0x8002a807,
|
|
SCE_NP_SIGNALING_ERROR_PARSER_CREATE_FAILED = 0x8002a808,
|
|
SCE_NP_SIGNALING_ERROR_PARSER_FAILED = 0x8002a809,
|
|
SCE_NP_SIGNALING_ERROR_INVALID_NAMESPACE = 0x8002a80a,
|
|
SCE_NP_SIGNALING_ERROR_NETINFO_NOT_AVAILABLE = 0x8002a80b,
|
|
SCE_NP_SIGNALING_ERROR_PEER_NOT_RESPONDING = 0x8002a80c,
|
|
SCE_NP_SIGNALING_ERROR_CONNID_NOT_AVAILABLE = 0x8002a80d,
|
|
SCE_NP_SIGNALING_ERROR_CONN_NOT_FOUND = 0x8002a80e,
|
|
SCE_NP_SIGNALING_ERROR_PEER_UNREACHABLE = 0x8002a80f,
|
|
SCE_NP_SIGNALING_ERROR_TERMINATED_BY_PEER = 0x8002a810,
|
|
SCE_NP_SIGNALING_ERROR_TIMEOUT = 0x8002a811,
|
|
SCE_NP_SIGNALING_ERROR_CTX_MAX = 0x8002a812,
|
|
SCE_NP_SIGNALING_ERROR_RESULT_NOT_FOUND = 0x8002a813,
|
|
SCE_NP_SIGNALING_ERROR_CONN_IN_PROGRESS = 0x8002a814,
|
|
SCE_NP_SIGNALING_ERROR_INVALID_ARGUMENT = 0x8002a815,
|
|
SCE_NP_SIGNALING_ERROR_OWN_NP_ID = 0x8002a816,
|
|
SCE_NP_SIGNALING_ERROR_TOO_MANY_CONN = 0x8002a817,
|
|
SCE_NP_SIGNALING_ERROR_TERMINATED_BY_MYSELF = 0x8002a818,
|
|
|
|
// Custom Menu
|
|
SCE_NP_CUSTOM_MENU_ERROR_ALREADY_INITIALIZED = 0x80023b01,
|
|
SCE_NP_CUSTOM_MENU_ERROR_NOT_INITIALIZED = 0x80023b02,
|
|
SCE_NP_CUSTOM_MENU_ERROR_OUT_OF_MEMORY = 0x80023b03,
|
|
SCE_NP_CUSTOM_MENU_ERROR_NOT_SUPPORTED = 0x80023b04,
|
|
SCE_NP_CUSTOM_MENU_ERROR_INSUFFICIENT = 0x80023b05,
|
|
SCE_NP_CUSTOM_MENU_ERROR_CANCEL = 0x80023b06,
|
|
SCE_NP_CUSTOM_MENU_ERROR_STATUS = 0x80023b07,
|
|
SCE_NP_CUSTOM_MENU_ERROR_BUSY = 0x80023b08,
|
|
SCE_NP_CUSTOM_MENU_ERROR_INVALID_ARGUMENT = 0x80023b09,
|
|
SCE_NP_CUSTOM_MENU_ERROR_ABORT = 0x80023b0a,
|
|
SCE_NP_CUSTOM_MENU_ERROR_NOT_REGISTERED = 0x80023b0b,
|
|
SCE_NP_CUSTOM_MENU_ERROR_EXCEEDS_MAX = 0x80023b0c,
|
|
SCE_NP_CUSTOM_MENU_ERROR_INVALID_CHARACTER = 0x80023b0d,
|
|
|
|
// EULA
|
|
SCE_NP_EULA_ERROR_UNKNOWN = 0x8002e500,
|
|
SCE_NP_EULA_ERROR_INVALID_ARGUMENT = 0x8002e501,
|
|
SCE_NP_EULA_ERROR_NOT_INITIALIZED = 0x8002e502,
|
|
SCE_NP_EULA_ERROR_ALREADY_INITIALIZED = 0x8002e503,
|
|
SCE_NP_EULA_ERROR_OUT_OF_MEMORY = 0x8002e504,
|
|
SCE_NP_EULA_ERROR_BUSY = 0x8002e505,
|
|
SCE_NP_EULA_ERROR_EULA_NOT_FOUND = 0x8002e5a0,
|
|
SCE_NP_EULA_ERROR_NET_OUT_OF_MEMORY = 0x8002e5a1,
|
|
SCE_NP_EULA_ERROR_CONF_FORMAT = 0x8002e5b0,
|
|
SCE_NP_EULA_ERROR_CONF_INVALID_FILENAME = 0x8002e5b1,
|
|
SCE_NP_EULA_ERROR_CONF_TOO_MANY_EULA_FILES = 0x8002e5b2,
|
|
SCE_NP_EULA_ERROR_CONF_INVALID_LANGUAGE = 0x8002e5b3,
|
|
SCE_NP_EULA_ERROR_CONF_INVALID_COUNTRY = 0x8002e5b4,
|
|
SCE_NP_EULA_ERROR_CONF_INVALID_NPCOMMID = 0x8002e5b5,
|
|
SCE_NP_EULA_ERROR_CONF_INVALID_EULA_VERSION = 0x8002e5b6,
|
|
|
|
// Matching
|
|
SCE_NP_MATCHING_ERROR_NOT_INITIALIZED = 0x8002a701,
|
|
SCE_NP_MATCHING_ERROR_ALREADY_INITIALIZED = 0x8002a702,
|
|
SCE_NP_MATCHING_ERROR_INVALID_ARG = 0x8002a703,
|
|
SCE_NP_MATCHING_ERROR_TERMINATED = 0x8002a704,
|
|
SCE_NP_MATCHING_ERROR_TIMEOUT = 0x8002a705,
|
|
SCE_NP_MATCHING_ERROR_OUT_OF_MEMORY = 0x8002a706,
|
|
SCE_NP_MATCHING_ERROR_CTXID_NOT_AVAIL = 0x8002a707,
|
|
SCE_NP_MATCHING_ERROR_CTX_ALREADY_EXIST = 0x8002a708,
|
|
SCE_NP_MATCHING_ERROR_CTX_NOT_FOUND = 0x8002a709,
|
|
SCE_NP_MATCHING_ERROR_LOBBY_NOT_FOUND = 0x8002a70a,
|
|
SCE_NP_MATCHING_ERROR_ROOM_NOT_FOUND = 0x8002a70b,
|
|
SCE_NP_MATCHING_ERROR_MEMBER_NOT_FOUND = 0x8002a70c,
|
|
SCE_NP_MATCHING_ERROR_TOO_BIG_VALUE = 0x8002a70d,
|
|
SCE_NP_MATCHING_ERROR_IVALID_ATTR_TYPE = 0x8002a70e,
|
|
SCE_NP_MATCHING_ERROR_INVALID_ATTR_ID = 0x8002a70f,
|
|
SCE_NP_MATCHING_ERROR_ALREADY_REQUESTED = 0x8002a710,
|
|
SCE_NP_MATCHING_ERROR_LIMITTED_SEATING = 0x8002a711,
|
|
SCE_NP_MATCHING_ERROR_LOCKED = 0x8002a712,
|
|
SCE_NP_MATCHING_ERROR_CTX_STILL_RUNNING = 0x8002a713,
|
|
SCE_NP_MATCHING_ERROR_INSUFFICIENT_BUFFER = 0x8002a714,
|
|
SCE_NP_MATCHING_ERROR_REQUEST_NOT_ALLOWED = 0x8002a715,
|
|
SCE_NP_MATCHING_ERROR_CTX_MAX = 0x8002a716,
|
|
SCE_NP_MATCHING_ERROR_INVALID_REQ_ID = 0x8002a717,
|
|
SCE_NP_MATCHING_ERROR_RESULT_NOT_FOUND = 0x8002a718,
|
|
SCE_NP_MATCHING_ERROR_BUSY = 0x8002a719,
|
|
SCE_NP_MATCHING_ERROR_ALREADY_JOINED_ROOM = 0x8002a71a,
|
|
SCE_NP_MATCHING_ERROR_ROOM_MAX = 0x8002a71b,
|
|
SCE_NP_MATCHING_ERROR_QUICK_MATCH_PLAYER_NOT_FOUND = 0x8002a71c,
|
|
SCE_NP_MATCHING_ERROR_COND_MAX = 0x8002a71d,
|
|
SCE_NP_MATCHING_ERROR_INVALID_COND = 0x8002a71e,
|
|
SCE_NP_MATCHING_ERROR_INVALID_ATTR = 0x8002a71f,
|
|
SCE_NP_MATCHING_ERROR_COMP_OP_INEQUALITY_MAX = 0x8002a720,
|
|
SCE_NP_MATCHING_ERROR_RESULT_OVERFLOWED = 0x8002a721,
|
|
SCE_NP_MATCHING_ERROR_HTTPXML_TIMEOUT = 0x8002a722,
|
|
SCE_NP_MATCHING_ERROR_CANCELED = 0x8002a723,
|
|
SCE_NP_MATCHING_ERROR_SEARCH_JOIN_ROOM_NOT_FOUND = 0x8002a724,
|
|
SCE_NP_MATCHING_ERROR_INVALID_COMP_OP = 0x8002a725,
|
|
SCE_NP_MATCHING_ERROR_INVALID_COMP_TYPE = 0x8002a726,
|
|
SCE_NP_MATCHING_ERROR_REQUEST_NOT_FOUND = 0x8002a727,
|
|
SCE_NP_MATCHING_ERROR_INTERNAL_ERROR = 0x8002a728,
|
|
SCE_NP_MATCHING_ERROR_INVALID_PROTOCOL_ID = 0x8002a729,
|
|
SCE_NP_MATCHING_ERROR_ATTR_NOT_SPECIFIED = 0x8002a72a,
|
|
SCE_NP_MATCHING_ERROR_SYSUTIL_INVALID_RESULT = 0x8002a72b,
|
|
SCE_NP_MATCHING_ERROR_PLUGIN_LOAD_FAILURE = 0x8002a72c,
|
|
SCE_NP_MATCHING_ERROR_INVALID_ATTR_VALUE = 0x8002a72d,
|
|
SCE_NP_MATCHING_ERROR_DUPLICATE = 0x8002a72e,
|
|
SCE_NP_MATCHING_ERROR_INVALID_MEMORY_CONTAINER = 0x8002a72f,
|
|
SCE_NP_MATCHING_ERROR_SHUTDOWN = 0x8002a730,
|
|
SCE_NP_MATCHING_ERROR_SYSUTIL_SERVER_BUSY = 0x8002a731,
|
|
SCE_NP_MATCHING_ERROR_SEND_INVITATION_PARTIALLY_FAILED = 0x8002a732,
|
|
SCE_NP_MATCHING_ERROR_UTILITY_UNAVAILABLE = 0x8002a733,
|
|
|
|
SCE_NP_MATCHING_SERVER_ERROR_OUT_OF_SERVICE = 0x8002a740,
|
|
SCE_NP_MATCHING_SERVER_ERROR_MAINTENANCE = 0x8002a741,
|
|
SCE_NP_MATCHING_SERVER_ERROR_SERVER_BUSY = 0x8002a742,
|
|
SCE_NP_MATCHING_SERVER_ERROR_ACCESS_FORBIDDEN = 0x8002a743,
|
|
SCE_NP_MATCHING_SERVER_ERROR_NO_SUCH_SERVER = 0x8002a744,
|
|
SCE_NP_MATCHING_SERVER_ERROR_NO_SUCH_LOBBY = 0x8002a745,
|
|
SCE_NP_MATCHING_SERVER_ERROR_NO_SUCH_ROOM = 0x8002a746,
|
|
SCE_NP_MATCHING_SERVER_ERROR_NO_SUCH_USER = 0x8002a747,
|
|
SCE_NP_MATCHING_SERVER_ERROR_NOT_ALLOWED = 0x8002a748,
|
|
SCE_NP_MATCHING_SERVER_ERROR_UNKNOWN = 0x8002a749,
|
|
SCE_NP_MATCHING_SERVER_ERROR_BAD_REQUEST_STANZA = 0x8002a74a,
|
|
SCE_NP_MATCHING_SERVER_ERROR_REQUEST_FORBIDDEN = 0x8002a74b,
|
|
SCE_NP_MATCHING_SERVER_ERROR_INTERNAL_ERROR = 0x8002a74c,
|
|
SCE_NP_MATCHING_SERVER_ERROR_ROOM_OVER = 0x8002a74d,
|
|
SCE_NP_MATCHING_SERVER_ERROR_ROOM_CLOSED = 0x8002a74e,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_COMMERCE_CURRENCY_CODE_LEN = 4,
|
|
SCE_NP_COMMERCE_CATEGORY_ID_LEN = 56,
|
|
SCE_NP_COMMERCE_CATEGORY_NAME_LEN = 192,
|
|
SCE_NP_COMMERCE_CATEGORY_DESCRIPTION_LEN = 384,
|
|
SCE_NP_COMMERCE_CATEGORY_IMAGEURL_LEN = 128,
|
|
SCE_NP_COMMERCE_PRODUCT_ID_LEN = 48,
|
|
SCE_NP_COMMERCE_PRODUCT_NAME_LEN = 192,
|
|
SCE_NP_COMMERCE_SKU_ID_LEN = 56,
|
|
SCE_NP_COMMERCE_SKU_NAME_LEN = 64,
|
|
SCE_NP_COMMERCE_SKU_DESCRIPTION_LEN = 384,
|
|
SCE_NP_COMMERCE_SKU_IMAGEURL_LEN = 128,
|
|
SCE_NP_COMMERCE_SKU_USER_DATA_LEN = 128,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_COMMERCE_EVENT_REQUEST_ERROR = 0x0001,
|
|
SCE_NP_COMMERCE_EVENT_PRODUCT_CATEGORY_READY = 0x0011,
|
|
SCE_NP_COMMERCE_EVENT_PRODUCT_CATEGORY_DONE = 0x0012,
|
|
SCE_NP_COMMERCE_EVENT_PRODUCT_CATEGORY_ABORT = 0x0013,
|
|
SCE_NP_COMMERCE_EVENT_DO_CHECKOUT_STARTED = 0x0021,
|
|
SCE_NP_COMMERCE_EVENT_DO_CHECKOUT_SUCCESS = 0x0022,
|
|
SCE_NP_COMMERCE_EVENT_DO_CHECKOUT_BACK = 0x0023,
|
|
SCE_NP_COMMERCE_EVENT_DO_CHECKOUT_FINISHED = 0x0025,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_EVENT_ERROR = 0x0001,
|
|
SCE_NP_MATCHING_EVENT_LEAVE_ROOM_DONE = 0x0002,
|
|
SCE_NP_MATCHING_EVENT_RESERVED1 = 0x0003,
|
|
SCE_NP_MATCHING_EVENT_RESERVED2 = 0x0004,
|
|
SCE_NP_MATCHING_EVENT_ROOM_UPDATE_NEW_MEMBER = 0x0005,
|
|
SCE_NP_MATCHING_EVENT_ROOM_UPDATE_MEMBER_LEAVE = 0x0006,
|
|
SCE_NP_MATCHING_EVENT_ROOM_DISAPPEARED = 0x0007,
|
|
SCE_NP_MATCHING_EVENT_RESERVED3 = 0x0008,
|
|
SCE_NP_MATCHING_EVENT_GET_ROOM_INFO_DONE = 0x0009,
|
|
SCE_NP_MATCHING_EVENT_SET_ROOM_INFO_DONE = 0x000a,
|
|
SCE_NP_MATCHING_EVENT_GRANT_OWNER_DONE = 0x000b,
|
|
SCE_NP_MATCHING_EVENT_ROOM_UPDATE_OWNER_CHANGE = 0x000c,
|
|
SCE_NP_MATCHING_EVENT_KICK_MEMBER_DONE = 0x000d,
|
|
SCE_NP_MATCHING_EVENT_ROOM_KICKED = 0x000e,
|
|
SCE_NP_MATCHING_EVENT_GET_ROOM_SEARCH_FLAG_DONE = 0x000f,
|
|
SCE_NP_MATCHING_EVENT_SET_ROOM_SEARCH_FLAG_DONE = 0x0010,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_ATTR_TYPE_BASIC_BIN = 1,
|
|
SCE_NP_MATCHING_ATTR_TYPE_BASIC_NUM = 2,
|
|
SCE_NP_MATCHING_ATTR_TYPE_GAME_BIN = 3,
|
|
SCE_NP_MATCHING_ATTR_TYPE_GAME_NUM = 4,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_ATTR_ID_MIN = 1,
|
|
SCE_NP_MATCHING_ATTR_ID_MAX = 16,
|
|
SCE_NP_MATCHING_ATTR_ID_FOR_SEARCH_CONDITION_MAX = 8,
|
|
SCE_NP_MATCHING_ATTR_ID_FOR_GRLGLIMIT_SRCH_COND_MAX = 8,
|
|
SCE_NP_MATCHING_ATTR_BIN_BIG_SIZE_ID_MAX = 2,
|
|
SCE_NP_MATCHING_ATTR_BIN_MAX_SIZE_SMALL = 64,
|
|
SCE_NP_MATCHING_ATTR_BIN_MAX_SIZE_BIG = 256,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_ROOM_ATTR_ID_TOTAL_SLOT = 1,
|
|
SCE_NP_MATCHING_ROOM_ATTR_ID_PRIVATE_SLOT = 2,
|
|
SCE_NP_MATCHING_ROOM_ATTR_ID_CUR_TOTAL_NUM = 3,
|
|
SCE_NP_MATCHING_ROOM_ATTR_ID_CUR_PUBLIC_NUM = 4,
|
|
SCE_NP_MATCHING_ROOM_ATTR_ID_CUR_PRIVATE_NUM = 5,
|
|
SCE_NP_MATCHING_ROOM_ATTR_ID_PRIVILEGE_TYPE = 6,
|
|
SCE_NP_MATCHING_ROOM_ATTR_ID_ROOM_SEARCH_FLAG = 7,
|
|
SCE_NP_MATCHING_ROOM_ATTR_ID_MAX = 8,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_ROOM_SLOT_TYPE_PUBLIC = 0,
|
|
SCE_NP_MATCHING_ROOM_SLOT_TYPE_PRIVATE = 1,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_ROOM_PRIVILEGE_TYPE_NO_AUTO_GRANT = 0,
|
|
SCE_NP_MATCHING_ROOM_PRIVILEGE_TYPE_AUTO_GRANT = 1,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_ROOM_SEARCH_FLAG_OPEN = 0,
|
|
SCE_NP_MATCHING_ROOM_SEARCH_FLAG_STEALTH = 1,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_COND_MAX = 9,
|
|
SCE_NP_MATCHING_GRLG_LIMIT_COND_MAX = 9,
|
|
SCE_NP_MATCHING_COMP_OP_INEQUALITY_MAX = 9,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_CONDITION_SEARCH_EQ = 0,
|
|
SCE_NP_MATCHING_CONDITION_SEARCH_NE = 1,
|
|
SCE_NP_MATCHING_CONDITION_SEARCH_LT = 2,
|
|
SCE_NP_MATCHING_CONDITION_SEARCH_LE = 3,
|
|
SCE_NP_MATCHING_CONDITION_SEARCH_GT = 4,
|
|
SCE_NP_MATCHING_CONDITION_SEARCH_GE = 5,
|
|
SCE_NP_MATCHING_CONDITION_SEARCH_MAX = 6,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_CONDITION_TYPE_VALUE = 0,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_INVITATION_DESTINATION_MAX = 12,
|
|
SCE_NP_MATCHING_INVITATION_SUBJECT_MAX_CHARS = 16,
|
|
SCE_NP_MATCHING_INVITATION_BODY_MAX_CHARS = 128,
|
|
|
|
SCE_NP_MATCHING_KICK_OPT_MAX_LENGTH = 16,
|
|
|
|
SCE_NP_MATCHING_ROOM_MAX_SLOT = 16,
|
|
SCE_NP_MATCHING_CTX_MAX = 8,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_SEND_INVITATION_MEMSIZE = 16 * 1024 * 1024,
|
|
SCE_NP_MATCHING_ACCEPT_INVITATION_MEMSIZE = 16 * 1024 * 1024,
|
|
};
|
|
|
|
// Basic presence options
|
|
enum
|
|
{
|
|
SCE_NP_BASIC_PRESENCE_OPTIONS_SET_DATA = 0x00000001,
|
|
SCE_NP_BASIC_PRESENCE_OPTIONS_SET_STATUS = 0x00000002,
|
|
SCE_NP_BASIC_PRESENCE_OPTIONS_ALL_OPTIONS = 0x00000003, // sum of all other options
|
|
};
|
|
|
|
// Basic presence states
|
|
enum
|
|
{
|
|
SCE_NP_BASIC_PRESENCE_STATE_OFFLINE = 0,
|
|
SCE_NP_BASIC_PRESENCE_STATE_OUT_OF_CONTEXT = 1,
|
|
SCE_NP_BASIC_PRESENCE_STATE_IN_CONTEXT = 2
|
|
};
|
|
|
|
// Basic player options
|
|
enum
|
|
{
|
|
SCE_NP_BASIC_PLAYERS_HISTORY_OPTIONS_BY_NP_COMM_ID = 0,
|
|
SCE_NP_BASIC_PLAYERS_HISTORY_OPTIONS_ALL = 1
|
|
};
|
|
|
|
// Custom menu selection types
|
|
enum : SceNpCustomMenuSelectedType
|
|
{
|
|
SCE_NP_CUSTOM_MENU_SELECTED_TYPE_ME = 1,
|
|
SCE_NP_CUSTOM_MENU_SELECTED_TYPE_FRIEND = 2,
|
|
SCE_NP_CUSTOM_MENU_SELECTED_TYPE_PLAYER = 3,
|
|
};
|
|
|
|
// Custom menu action masks
|
|
enum SceNpCustomMenuActionMask : u32
|
|
{
|
|
SCE_NP_CUSTOM_MENU_ACTION_MASK_ME = 0x00000001,
|
|
SCE_NP_CUSTOM_MENU_ACTION_MASK_FRIEND = 0x00000002,
|
|
SCE_NP_CUSTOM_MENU_ACTION_MASK_PLAYER = 0x00000004,
|
|
SCE_NP_CUSTOM_MENU_ACTION_MASK_ALL = 0x00000007 // sum of all other masks
|
|
};
|
|
|
|
// Custom menu index mask
|
|
enum
|
|
{
|
|
SCE_NP_CUSTOM_MENU_INDEX_BITS = (sizeof(SceNpCustomMenuIndexMask) * 8),
|
|
SCE_NP_CUSTOM_MENU_INDEX_BITS_ALL = (static_cast<SceNpCustomMenuIndexMask>(-1)),
|
|
SCE_NP_CUSTOM_MENU_INDEX_BITS_SHIFT = 5,
|
|
SCE_NP_CUSTOM_MENU_INDEX_BITS_MASK = (SCE_NP_CUSTOM_MENU_INDEX_BITS - 1),
|
|
SCE_NP_CUSTOM_MENU_INDEX_BITS_MAX = 127,
|
|
SCE_NP_CUSTOM_MENU_INDEX_SETSIZE = 128,
|
|
};
|
|
|
|
#define SCE_NP_CUSTOM_MENU_INDEX_SET(n, p) ((p)->index_bits[(n) >> SCE_NP_CUSTOM_MENU_INDEX_BITS_SHIFT] |= (1 << ((n) & SCE_NP_CUSTOM_MENU_INDEX_BITS_MASK)))
|
|
#define SCE_NP_CUSTOM_MENU_INDEX_CLR(n, p) ((p)->index_bits[(n) >> SCE_NP_CUSTOM_MENU_INDEX_BITS_SHIFT] &= ~(1 << ((n) & SCE_NP_CUSTOM_MENU_INDEX_BITS_MASK)))
|
|
#define SCE_NP_CUSTOM_MENU_INDEX_ISSET(n, p) ((p)->index_bits[(n) >> SCE_NP_CUSTOM_MENU_INDEX_BITS_SHIFT] & (1 << ((n) & SCE_NP_CUSTOM_MENU_INDEX_BITS_MASK)))
|
|
#define SCE_NP_CUSTOM_MENU_INDEX_ZERO(p) ( for (u32 i = 0; i < (SCE_NP_CUSTOM_MENU_INDEX_SETSIZE >> SCE_NP_CUSTOM_MENU_INDEX_BITS_SHIFT); i++) p->index_bits[i] = 0; )
|
|
#define SCE_NP_CUSTOM_MENU_INDEX_SET_ALL(p) ( for (u32 i = 0; i < (SCE_NP_CUSTOM_MENU_INDEX_SETSIZE >> SCE_NP_CUSTOM_MENU_INDEX_BITS_SHIFT); i++) p->index_bits[i] = SCE_NP_CUSTOM_MENU_INDEX_BITS_ALL; )
|
|
|
|
enum
|
|
{
|
|
SCE_NP_PORT = 3658,
|
|
SCE_NP_MIN_POOL_SIZE = 128 * 1024
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_DRM_OPEN_FLAG = 2,
|
|
};
|
|
|
|
enum : u64
|
|
{
|
|
SCE_NP_DRM_EXITSPAWN2_EXIT_WO_FINI = 0x4000000000000000ULL,
|
|
SCE_NP_DRM_TIME_INFO_ENDLESS = 0x7FFFFFFFFFFFFFFFULL
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MANAGER_SUB_SIGNIN_MAX = 3,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MANAGER_SUB_SIGNIN_RESULT_OK = 0,
|
|
SCE_NP_MANAGER_SUB_SIGNIN_RESULT_CANCEL = 1,
|
|
};
|
|
|
|
// NP Manager Utility statuses
|
|
enum
|
|
{
|
|
SCE_NP_MANAGER_STATUS_OFFLINE = -1,
|
|
SCE_NP_MANAGER_STATUS_GETTING_TICKET = 0,
|
|
SCE_NP_MANAGER_STATUS_GETTING_PROFILE = 1,
|
|
SCE_NP_MANAGER_STATUS_LOGGING_IN = 2,
|
|
SCE_NP_MANAGER_STATUS_ONLINE = 3,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MANAGER_EVENT_GOT_TICKET = 255
|
|
};
|
|
|
|
// Event types
|
|
enum
|
|
{
|
|
SCE_NP_BASIC_EVENT_UNKNOWN = -1,
|
|
SCE_NP_BASIC_EVENT_OFFLINE = 0,
|
|
SCE_NP_BASIC_EVENT_PRESENCE = 1,
|
|
SCE_NP_BASIC_EVENT_MESSAGE = 2,
|
|
SCE_NP_BASIC_EVENT_ADD_FRIEND_RESULT = 3,
|
|
SCE_NP_BASIC_EVENT_INCOMING_ATTACHMENT = 4,
|
|
SCE_NP_BASIC_EVENT_INCOMING_INVITATION = 5,
|
|
SCE_NP_BASIC_EVENT_END_OF_INITIAL_PRESENCE = 6,
|
|
SCE_NP_BASIC_EVENT_SEND_ATTACHMENT_RESULT = 7,
|
|
SCE_NP_BASIC_EVENT_RECV_ATTACHMENT_RESULT = 8,
|
|
SCE_NP_BASIC_EVENT_OUT_OF_CONTEXT = 9,
|
|
SCE_NP_BASIC_EVENT_FRIEND_REMOVED = 10,
|
|
SCE_NP_BASIC_EVENT_ADD_BLOCKLIST_RESULT = 11,
|
|
SCE_NP_BASIC_EVENT_SEND_MESSAGE_RESULT = 12,
|
|
SCE_NP_BASIC_EVENT_SEND_INVITATION_RESULT = 13,
|
|
SCE_NP_BASIC_EVENT_RECV_INVITATION_RESULT = 14,
|
|
SCE_NP_BASIC_EVENT_MESSAGE_MARKED_AS_USED_RESULT = 15,
|
|
SCE_NP_BASIC_EVENT_INCOMING_CUSTOM_INVITATION = 16,
|
|
SCE_NP_BASIC_EVENT_INCOMING_CLAN_MESSAGE = 17,
|
|
SCE_NP_BASIC_EVENT_ADD_PLAYERS_HISTORY_RESULT = 18,
|
|
SCE_NP_BASIC_EVENT_SEND_CUSTOM_DATA_RESULT = 19,
|
|
SCE_NP_BASIC_EVENT_RECV_CUSTOM_DATA_RESULT = 20,
|
|
SCE_NP_BASIC_EVENT_INCOMING_CUSTOM_DATA_MESSAGE = 21,
|
|
SCE_NP_BASIC_EVENT_SEND_URL_ATTACHMENT_RESULT = 22,
|
|
SCE_NP_BASIC_EVENT_INCOMING_BOOTABLE_INVITATION = 23,
|
|
SCE_NP_BASIC_EVENT_BLOCKLIST_UPDATE = 24,
|
|
SCE_NP_BASIC_EVENT_INCOMING_BOOTABLE_CUSTOM_DATA_MESSAGE = 25,
|
|
};
|
|
|
|
// IDs for attachment data objects
|
|
enum : SceNpBasicAttachmentDataId
|
|
{
|
|
SCE_NP_BASIC_INVALID_ATTACHMENT_DATA_ID = 0,
|
|
SCE_NP_BASIC_INVALID_MESSAGE_ID = 0,
|
|
SCE_NP_BASIC_SELECTED_INVITATION_DATA = 1,
|
|
SCE_NP_BASIC_SELECTED_MESSAGE_DATA = 2,
|
|
};
|
|
|
|
// Actions made in system GUI
|
|
enum
|
|
{
|
|
SCE_NP_BASIC_MESSAGE_ACTION_UNKNOWN = 0,
|
|
SCE_NP_BASIC_MESSAGE_ACTION_USE = 1,
|
|
SCE_NP_BASIC_MESSAGE_ACTION_ACCEPT = 2,
|
|
SCE_NP_BASIC_MESSAGE_ACTION_DENY = 3,
|
|
};
|
|
|
|
// Main types of messages
|
|
enum SceNpBasicMessageMainType : u16
|
|
{
|
|
SCE_NP_BASIC_MESSAGE_MAIN_TYPE_DATA_ATTACHMENT = 0,
|
|
SCE_NP_BASIC_MESSAGE_MAIN_TYPE_GENERAL = 1,
|
|
SCE_NP_BASIC_MESSAGE_MAIN_TYPE_ADD_FRIEND = 2,
|
|
SCE_NP_BASIC_MESSAGE_MAIN_TYPE_INVITE = 3,
|
|
SCE_NP_BASIC_MESSAGE_MAIN_TYPE_CUSTOM_DATA = 4,
|
|
SCE_NP_BASIC_MESSAGE_MAIN_TYPE_URL_ATTACHMENT = 5,
|
|
};
|
|
|
|
// Sub types of messages
|
|
enum SceNpBasicMessageSubType : u16
|
|
{
|
|
SCE_NP_BASIC_MESSAGE_DATA_ATTACHMENT_SUBTYPE_ACTION_USE = 0,
|
|
SCE_NP_BASIC_MESSAGE_GENERAL_SUBTYPE_NONE = 0,
|
|
SCE_NP_BASIC_MESSAGE_ADD_FRIEND_SUBTYPE_NONE = 0,
|
|
SCE_NP_BASIC_MESSAGE_INVITE_SUBTYPE_ACTION_ACCEPT_DENY = 0,
|
|
SCE_NP_BASIC_MESSAGE_CUSTOM_DATA_SUBTYPE_ACTION_USE = 0,
|
|
SCE_NP_BASIC_MESSAGE_URL_ATTACHMENT_SUBTYPE_ACTION_USE = 0,
|
|
SCE_NP_BASIC_MESSAGE_INVITE_SUBTYPE_ACTION_ACCEPT = 1,
|
|
};
|
|
|
|
// Applicable features of messages
|
|
#define SCE_NP_BASIC_MESSAGE_FEATURES_EXP_MIN(min) (((static_cast<u32>(min) << 16) | (0 << 15)) & 0xFFFF8000)
|
|
enum SceNpBasicMessageFeatures : u32
|
|
{
|
|
SCE_NP_BASIC_MESSAGE_FEATURES_MULTI_RECEIPIENTS = 0x00000001,
|
|
SCE_NP_BASIC_MESSAGE_FEATURES_BOOTABLE = 0x00000002,
|
|
SCE_NP_BASIC_MESSAGE_FEATURES_ASSUME_SEND = 0x00000004,
|
|
SCE_NP_BASIC_MESSAGE_FEATURES_ALL_FEATURES =
|
|
SCE_NP_BASIC_MESSAGE_FEATURES_MULTI_RECEIPIENTS |
|
|
SCE_NP_BASIC_MESSAGE_FEATURES_BOOTABLE |
|
|
SCE_NP_BASIC_MESSAGE_FEATURES_ASSUME_SEND |
|
|
SCE_NP_BASIC_MESSAGE_FEATURES_EXP_MIN(0xffff)
|
|
};
|
|
|
|
// Types of messages
|
|
enum SceNpBasicMessageInfoType : u32
|
|
{
|
|
SCE_NP_BASIC_MESSAGE_INFO_TYPE_MESSAGE_ATTACHMENT = 0,
|
|
SCE_NP_BASIC_MESSAGE_INFO_TYPE_MATCHING_INVITATION = 1,
|
|
SCE_NP_BASIC_MESSAGE_INFO_TYPE_CLAN_MESSAGE = 3,
|
|
SCE_NP_BASIC_MESSAGE_INFO_TYPE_CUSTOM_DATA_MESSAGE = 4,
|
|
SCE_NP_BASIC_MESSAGE_INFO_TYPE_ANY_UNREAD_MESSAGE = 5,
|
|
SCE_NP_BASIC_MESSAGE_INFO_TYPE_BOOTABLE_INVITATION = 6,
|
|
SCE_NP_BASIC_MESSAGE_INFO_TYPE_BOOTABLE_CUSTOM_DATA_MESSAGE = 7,
|
|
};
|
|
|
|
// Context options (signaling)
|
|
enum
|
|
{
|
|
SCE_NP_SIGNALING_CTX_OPT_BANDWIDTH_PROBE_DISABLE = 0,
|
|
SCE_NP_SIGNALING_CTX_OPT_BANDWIDTH_PROBE_ENABLE = 1,
|
|
SCE_NP_SIGNALING_CTX_OPT_BANDWIDTH_PROBE = 1,
|
|
};
|
|
|
|
// Event types (including extended ones)
|
|
enum
|
|
{
|
|
SCE_NP_SIGNALING_EVENT_DEAD = 0,
|
|
SCE_NP_SIGNALING_EVENT_ESTABLISHED = 1,
|
|
SCE_NP_SIGNALING_EVENT_NETINFO_ERROR = 2,
|
|
SCE_NP_SIGNALING_EVENT_NETINFO_RESULT = 3,
|
|
SCE_NP_SIGNALING_EVENT_EXT_PEER_ACTIVATED = 10,
|
|
SCE_NP_SIGNALING_EVENT_EXT_PEER_DEACTIVATED = 11,
|
|
SCE_NP_SIGNALING_EVENT_EXT_MUTUAL_ACTIVATED = 12,
|
|
};
|
|
|
|
// Connection states
|
|
enum
|
|
{
|
|
SCE_NP_SIGNALING_CONN_STATUS_INACTIVE = 0,
|
|
SCE_NP_SIGNALING_CONN_STATUS_PENDING = 1,
|
|
SCE_NP_SIGNALING_CONN_STATUS_ACTIVE = 2,
|
|
};
|
|
|
|
// Connection information to obtain
|
|
enum
|
|
{
|
|
SCE_NP_SIGNALING_CONN_INFO_RTT = 1,
|
|
SCE_NP_SIGNALING_CONN_INFO_BANDWIDTH = 2,
|
|
SCE_NP_SIGNALING_CONN_INFO_PEER_NPID = 3,
|
|
SCE_NP_SIGNALING_CONN_INFO_PEER_ADDRESS = 4,
|
|
SCE_NP_SIGNALING_CONN_INFO_MAPPED_ADDRESS = 5,
|
|
SCE_NP_SIGNALING_CONN_INFO_PACKET_LOSS = 6,
|
|
};
|
|
|
|
// NAT status type
|
|
enum
|
|
{
|
|
SCE_NP_SIGNALING_NETINFO_NAT_STATUS_UNKNOWN = 0,
|
|
SCE_NP_SIGNALING_NETINFO_NAT_STATUS_TYPE1 = 1,
|
|
SCE_NP_SIGNALING_NETINFO_NAT_STATUS_TYPE2 = 2,
|
|
SCE_NP_SIGNALING_NETINFO_NAT_STATUS_TYPE3 = 3,
|
|
};
|
|
|
|
// UPnP status
|
|
enum
|
|
{
|
|
SCE_NP_SIGNALING_NETINFO_UPNP_STATUS_UNKNOWN = 0,
|
|
SCE_NP_SIGNALING_NETINFO_UPNP_STATUS_INVALID = 1,
|
|
SCE_NP_SIGNALING_NETINFO_UPNP_STATUS_VALID = 2,
|
|
};
|
|
|
|
// NP port status
|
|
enum
|
|
{
|
|
SCE_NP_SIGNALING_NETINFO_NPPORT_STATUS_CLOSED = 0,
|
|
SCE_NP_SIGNALING_NETINFO_NPPORT_STATUS_OPEN = 1,
|
|
};
|
|
|
|
// NP Receive message options
|
|
enum SceNpBasicMessageRecvOptions : u32
|
|
{
|
|
SCE_NP_BASIC_RECV_MESSAGE_OPTIONS_PRESERVE = 0x00000001,
|
|
SCE_NP_BASIC_RECV_MESSAGE_OPTIONS_INCLUDE_BOOTABLE = 0x00000002,
|
|
SCE_NP_BASIC_RECV_MESSAGE_OPTIONS_ASSUME_LATEST = 0x00000004,
|
|
SCE_NP_BASIC_RECV_MESSAGE_OPTIONS_ALL_OPTIONS = 0x00000007 // sum of all other options
|
|
};
|
|
|
|
// Constants for common NP functions and structures
|
|
enum
|
|
{
|
|
SCE_NET_NP_AVATAR_IMAGE_MAX_SIZE = 204800, // 200 * 1024
|
|
SCE_NET_NP_AVATAR_IMAGE_MAX_SIZE_LARGE = 204800, // 200 * 1024
|
|
SCE_NET_NP_AVATAR_IMAGE_MAX_SIZE_MIDDLE = 102400, // 100 * 1024
|
|
SCE_NET_NP_AVATAR_IMAGE_MAX_SIZE_SMALL = 10240, // 10 * 1024
|
|
SCE_NET_NP_AVATAR_URL_MAX_LENGTH = 127,
|
|
SCE_NET_NP_ONLINEID_MIN_LENGTH = 3,
|
|
SCE_NET_NP_ONLINEID_MAX_LENGTH = 16,
|
|
SCE_NET_NP_ONLINENAME_MAX_LENGTH = 48,
|
|
SCE_NET_NP_ABOUT_ME_MAX_LENGTH = 63,
|
|
SCE_NP_TSS_MAX_SIZE = 65536, // 64 * 1024
|
|
SCE_NET_NP_TSS_MAX_SIZE = SCE_NP_TSS_MAX_SIZE,
|
|
SCE_NP_TSS_EXTRA_SLOT_MAX_SIZE = 4194304, // 4 * 1024 * 1024
|
|
SCE_NP_FRIEND_MAX_NUM = 100,
|
|
SCE_NET_NP_COMMUNICATION_PASSPHRASE_SIZE = 128,
|
|
SCE_NP_COMMUNICATION_SIGNATURE_SIZE = 160,
|
|
SCE_NP_COMMUNICATION_PASSPHRASE_SIZE = SCE_NET_NP_COMMUNICATION_PASSPHRASE_SIZE,
|
|
SCE_NET_NP_PSHANDLE_MIN_LENGTH = SCE_NET_NP_ONLINEID_MIN_LENGTH,
|
|
SCE_NET_NP_PSHANDLE_MAX_LENGTH = SCE_NET_NP_ONLINEID_MAX_LENGTH,
|
|
SCE_NET_NP_SUBHANDLE_MAX_LENGTH = SCE_NET_NP_ONLINENAME_MAX_LENGTH,
|
|
SCE_NET_NP_ICON_URL_MAX_LENGTH = SCE_NET_NP_AVATAR_URL_MAX_LENGTH,
|
|
SCE_NP_UTIL_NPID_VERSION = 1,
|
|
SCE_NP_UTIL_NPLOBBYID_VERSION = 1,
|
|
SCE_NP_UTIL_NPROOMID_VERSION = 1,
|
|
SCE_NP_COMMERCE_VERSION = 1,
|
|
};
|
|
|
|
// Languages
|
|
enum
|
|
{
|
|
SCE_NP_LANG_JAPANESE = 0,
|
|
SCE_NP_LANG_ENGLISH = 1,
|
|
SCE_NP_LANG_ENGLISH_US = 1,
|
|
SCE_NP_LANG_FRENCH = 2,
|
|
SCE_NP_LANG_SPANISH = 3,
|
|
SCE_NP_LANG_GERMAN = 4,
|
|
SCE_NP_LANG_ITALIAN = 5,
|
|
SCE_NP_LANG_DUTCH = 6,
|
|
SCE_NP_LANG_PORTUGUESE = 7,
|
|
SCE_NP_LANG_PORTUGUESE_PT = 7,
|
|
SCE_NP_LANG_RUSSIAN = 8,
|
|
SCE_NP_LANG_KOREAN = 9,
|
|
SCE_NP_LANG_CHINESE_T = 10,
|
|
SCE_NP_LANG_CHINESE_S = 11,
|
|
SCE_NP_LANG_FINNISH = 12,
|
|
SCE_NP_LANG_SWEDISH = 13,
|
|
SCE_NP_LANG_DANISH = 14,
|
|
SCE_NP_LANG_NORWEGIAN = 15,
|
|
SCE_NP_LANG_POLISH = 16,
|
|
SCE_NP_LANG_PORTUGUESE_BR = 17,
|
|
SCE_NP_LANG_ENGLISH_GB = 18,
|
|
SCE_NP_LANG_TURKISH = 19,
|
|
SCE_NP_LANG_SPANISH_LA = 20,
|
|
SCE_NP_LANG_ARABIC = 21,
|
|
SCE_NP_LANG_FRENCH_CA = 22,
|
|
};
|
|
|
|
enum SceNpAvatarSizeType
|
|
{
|
|
SCE_NP_AVATAR_SIZE_LARGE,
|
|
SCE_NP_AVATAR_SIZE_MIDDLE,
|
|
SCE_NP_AVATAR_SIZE_SMALL
|
|
};
|
|
|
|
// Constants for basic NP functions and structures
|
|
enum
|
|
{
|
|
SCE_NP_BASIC_MAX_MESSAGE_SIZE = 512,
|
|
SCE_NP_BASIC_MAX_PRESENCE_SIZE = 128,
|
|
SCE_NP_BASIC_MAX_MESSAGE_ATTACHMENT_SIZE = 1048576,
|
|
SCE_NP_BASIC_SUBJECT_CHARACTER_MAX = 18,
|
|
SCE_NP_BASIC_BODY_CHARACTER_MAX = 512,
|
|
SCE_NP_BASIC_DESCRIPTION_CHARACTER_MAX = 341,
|
|
SCE_NP_BASIC_SEND_MESSAGE_MAX_RECIPIENTS = 12,
|
|
SCE_NP_BASIC_PRESENCE_TITLE_SIZE_MAX = 128,
|
|
SCE_NP_BASIC_PRESENCE_STATUS_SIZE_MAX = 64,
|
|
SCE_NP_BASIC_PRESENCE_STATUS_CHARACTER_MAX = 21,
|
|
SCE_NP_BASIC_PRESENCE_EXTENDED_STATUS_SIZE_MAX = 192,
|
|
SCE_NP_BASIC_PRESENCE_EXTENDED_STATUS_CHARACTER_MAX = 63,
|
|
SCE_NP_BASIC_PRESENCE_COMMENT_SIZE_MAX = 64,
|
|
SCE_NP_BASIC_MAX_INVITATION_DATA_SIZE = 1024,
|
|
SCE_NP_BASIC_MAX_URL_ATTACHMENT_SIZE = 2048,
|
|
SCE_NP_BASIC_PLAYER_HISTORY_MAX_PLAYERS = 8,
|
|
};
|
|
|
|
// Common constants of sceNpClans
|
|
enum
|
|
{
|
|
SCE_NP_CLANS_CLAN_NAME_MAX_LENGTH = 64,
|
|
SCE_NP_CLANS_CLAN_TAG_MAX_LENGTH = 8,
|
|
SCE_NP_CLANS_CLAN_DESCRIPTION_MAX_LENGTH = 255,
|
|
};
|
|
|
|
// Constants for custom menu functions and structures
|
|
enum
|
|
{
|
|
SCE_NP_CUSTOM_MENU_ACTION_CHARACTER_MAX = 21,
|
|
SCE_NP_CUSTOM_MENU_ACTION_ITEMS_MAX = 7,
|
|
SCE_NP_CUSTOM_MENU_ACTION_ITEMS_TOTAL_MAX = 16,
|
|
SCE_NP_CUSTOM_MENU_EXCEPTION_ITEMS_MAX = 256,
|
|
};
|
|
|
|
// Constants for manager functions and structures
|
|
enum
|
|
{
|
|
SCE_NP_COOKIE_MAX_SIZE = 1024,
|
|
SCE_NP_TICKET_MAX_SIZE = 65536,
|
|
SCE_NP_TICKET_PARAM_DATA_LEN = 256,
|
|
SCE_NP_ENTITLEMENT_ID_SIZE = 32,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_ENTITLEMENT_TYPE_NON_CONSUMABLE = 0,
|
|
SCE_NP_ENTITLEMENT_TYPE_CONSUMABLE = 1
|
|
};
|
|
|
|
// Constants for ranking (score) functions and structures
|
|
enum
|
|
{
|
|
SCE_NP_SCORE_MAX_CTX_NUM = 32,
|
|
SCE_NP_SCORE_COMMENT_MAXLEN = 63,
|
|
SCE_NP_SCORE_GAMEDATA_ID_LEN = 63,
|
|
SCE_NP_SCORE_GAMEINFO_SIZE = 64,
|
|
SCE_NP_SCORE_PASSPHRASE_SIZE = 128,
|
|
SCE_NP_SCORE_CENSOR_COMMENT_MAXLEN = 255,
|
|
SCE_NP_SCORE_SANITIZE_COMMENT_MAXLEN = 255,
|
|
SCE_NP_SCORE_MAX_RANGE_NUM_PER_TRANS = 100,
|
|
SCE_NP_SCORE_MAX_NPID_NUM_PER_TRANS = 101,
|
|
SCE_NP_SCORE_MAX_CLAN_NUM_PER_TRANS = 101,
|
|
SCE_NP_SCORE_MAX_SELECTED_FRIENDS_NUM = 100,
|
|
SCE_NP_SCORE_VARIABLE_SIZE_GAMEINFO_MAXSIZE = 189,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_SCORE_NORMAL_UPDATE = 0,
|
|
SCE_NP_SCORE_FORCE_UPDATE = 1
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_SCORE_DESCENDING_ORDER = 0,
|
|
SCE_NP_SCORE_ASCENDING_ORDER = 1
|
|
};
|
|
|
|
// Constants for signaling functions and structures
|
|
enum
|
|
{
|
|
SCE_NP_SIGNALING_CTX_MAX = 8,
|
|
};
|
|
|
|
enum : SceNpPlatformType
|
|
{
|
|
SCE_NP_PLATFORM_TYPE_NONE = 0,
|
|
SCE_NP_PLATFORM_TYPE_PS3 = 1,
|
|
SCE_NP_PLATFORM_TYPE_VITA = 2,
|
|
SCE_NP_PLATFORM_TYPE_PS4 = 3, // Note: unknown on which fw versions it appears, but sdk version is unchecked
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_MATCHING_GUI_EVENT_CREATE_ROOM = 0x0001,
|
|
SCE_NP_MATCHING_GUI_EVENT_JOIN_ROOM = 0x0002,
|
|
SCE_NP_MATCHING_GUI_EVENT_RESERVED2 = 0x0003,
|
|
SCE_NP_MATCHING_GUI_EVENT_SEARCH_JOIN = 0x0004,
|
|
SCE_NP_MATCHING_GUI_EVENT_QUICK_MATCH = 0x0005,
|
|
SCE_NP_MATCHING_GUI_EVENT_SEND_INVITATION = 0x0006,
|
|
SCE_NP_MATCHING_GUI_EVENT_ACCEPT_INVITATION = 0x0007,
|
|
SCE_NP_MATCHING_GUI_EVENT_COMMON_LOAD = 0x0008,
|
|
SCE_NP_MATCHING_GUI_EVENT_COMMON_UNLOAD = 0x0009,
|
|
SCE_NP_MATCHING_GUI_EVENT_GET_ROOM_LIST = 0x000a,
|
|
SCE_NP_MATCHING_GUI_EVENT_GET_ROOM_LIST_LIMIT = 0x000b
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_TICKET_PARAM_SERIAL_ID = 0,
|
|
SCE_NP_TICKET_PARAM_ISSUER_ID = 1,
|
|
SCE_NP_TICKET_PARAM_ISSUED_DATE = 2,
|
|
SCE_NP_TICKET_PARAM_EXPIRE_DATE = 3,
|
|
SCE_NP_TICKET_PARAM_SUBJECT_ACCOUNT_ID = 4,
|
|
SCE_NP_TICKET_PARAM_SUBJECT_ONLINE_ID = 5,
|
|
SCE_NP_TICKET_PARAM_SUBJECT_REGION = 6,
|
|
SCE_NP_TICKET_PARAM_SUBJECT_DOMAIN = 7,
|
|
SCE_NP_TICKET_PARAM_SERVICE_ID = 8,
|
|
SCE_NP_TICKET_PARAM_SUBJECT_STATUS = 9,
|
|
SCE_NP_TICKET_PARAM_STATUS_DURATION = 10,
|
|
SCE_NP_TICKET_PARAM_SUBJECT_DOB = 11,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_TICKET_SERIAL_ID_SIZE = 20,
|
|
SCE_NP_SUBJECT_REGION_SIZE = 4,
|
|
SCE_NP_SUBJECT_DOMAIN_SIZE = 4,
|
|
SCE_NP_SERVICE_ID_SIZE = 24,
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_LOOKUP_MAX_CTX_NUM = 32
|
|
};
|
|
|
|
enum
|
|
{
|
|
SCE_NP_AUTH_OAUTH_REQUEST_ID_MAX = 4
|
|
};
|
|
|
|
struct SceNpDrmKey
|
|
{
|
|
u8 keydata[16];
|
|
};
|
|
|
|
struct SceNpDrmOpenArg
|
|
{
|
|
be_t<u64> flag;
|
|
};
|
|
|
|
// NP communication ID structure
|
|
struct SceNpCommunicationId
|
|
{
|
|
char data[9 + 1]; // char term;
|
|
u8 num;
|
|
char dummy;
|
|
};
|
|
|
|
// OnlineId structure
|
|
struct SceNpOnlineId
|
|
{
|
|
char data[16 + 1]; // char term;
|
|
char dummy[3];
|
|
};
|
|
|
|
// NP ID structure
|
|
struct SceNpId
|
|
{
|
|
SceNpOnlineId handle;
|
|
|
|
union
|
|
{
|
|
// This field (system reserved) seems to be combined of two parts
|
|
// The second is used by sceNpUtilSetPlatformType and sceNpUtilGetPlatformType
|
|
u8 opt[8];
|
|
nse_t<u32, 1> unk1[2];
|
|
};
|
|
|
|
u8 reserved[8];
|
|
};
|
|
|
|
CHECK_SIZE_ALIGN(SceNpId, 0x24, 1);
|
|
|
|
// Online Name structure
|
|
struct SceNpOnlineName
|
|
{
|
|
char data[48 + 1]; // char term;
|
|
char padding[3];
|
|
};
|
|
|
|
// Avatar structure
|
|
struct SceNpAvatarUrl
|
|
{
|
|
char data[127 + 1]; // char term;
|
|
};
|
|
|
|
// Avatar image structure
|
|
struct SceNpAvatarImage
|
|
{
|
|
u8 data[SCE_NET_NP_AVATAR_IMAGE_MAX_SIZE];
|
|
be_t<u32> size;
|
|
u8 reserved[12];
|
|
};
|
|
|
|
// Self introduction structure
|
|
struct SceNpAboutMe
|
|
{
|
|
char data[SCE_NET_NP_ABOUT_ME_MAX_LENGTH + 1]; // char term;
|
|
};
|
|
|
|
// User information structure
|
|
struct SceNpUserInfo
|
|
{
|
|
SceNpId userId;
|
|
SceNpOnlineName name;
|
|
SceNpAvatarUrl icon;
|
|
};
|
|
|
|
// User information structure
|
|
struct SceNpUserInfo2
|
|
{
|
|
SceNpId npId;
|
|
vm::bptr<SceNpOnlineName> onlineName;
|
|
vm::bptr<SceNpAvatarUrl> avatarUrl;
|
|
};
|
|
|
|
// Often used languages structure
|
|
struct SceNpMyLanguages
|
|
{
|
|
be_t<s32> language1;
|
|
be_t<s32> language2;
|
|
be_t<s32> language3;
|
|
u8 padding[4];
|
|
};
|
|
|
|
// NP communication passphrase
|
|
struct SceNpCommunicationPassphrase
|
|
{
|
|
u8 data[SCE_NP_COMMUNICATION_PASSPHRASE_SIZE];
|
|
};
|
|
|
|
// NP communication signature
|
|
struct SceNpCommunicationSignature
|
|
{
|
|
u8 data[SCE_NP_COMMUNICATION_SIGNATURE_SIZE];
|
|
};
|
|
|
|
// NP cache information structure
|
|
struct SceNpManagerCacheParam
|
|
{
|
|
be_t<u32> size;
|
|
SceNpOnlineId onlineId;
|
|
SceNpId npId;
|
|
SceNpOnlineName onlineName;
|
|
SceNpAvatarUrl avatarUrl;
|
|
};
|
|
|
|
// Message attachment data
|
|
struct SceNpBasicAttachmentData
|
|
{
|
|
be_t<SceNpBasicAttachmentDataId> id;
|
|
be_t<u32> size;
|
|
};
|
|
|
|
// Message extended attachment data
|
|
struct SceNpBasicExtendedAttachmentData
|
|
{
|
|
be_t<u64> flags;
|
|
be_t<u64> msgId;
|
|
SceNpBasicAttachmentData data;
|
|
be_t<u32> userAction;
|
|
u8 markedAsUsed;
|
|
u8 reserved[3];
|
|
};
|
|
|
|
// Message structure
|
|
struct SceNpBasicMessageDetails
|
|
{
|
|
be_t<u64> msgId;
|
|
be_t<u16> mainType;
|
|
be_t<u16> subType;
|
|
be_t<u32> msgFeatures;
|
|
vm::bptr<SceNpId> npids;
|
|
be_t<u32> count;
|
|
vm::bptr<char> subject;
|
|
vm::bptr<char> body;
|
|
vm::bptr<u8> data;
|
|
be_t<u32> size;
|
|
};
|
|
|
|
// Presence details of an user
|
|
struct SceNpBasicPresenceDetails
|
|
{
|
|
s8 title[SCE_NP_BASIC_PRESENCE_TITLE_SIZE_MAX];
|
|
s8 status[SCE_NP_BASIC_PRESENCE_STATUS_SIZE_MAX];
|
|
s8 comment[SCE_NP_BASIC_PRESENCE_COMMENT_SIZE_MAX];
|
|
u8 data[SCE_NP_BASIC_MAX_PRESENCE_SIZE];
|
|
be_t<u32> size;
|
|
be_t<s32> state;
|
|
};
|
|
|
|
// Extended presence details of an user
|
|
struct SceNpBasicPresenceDetails2
|
|
{
|
|
be_t<u32> struct_size;
|
|
be_t<s32> state;
|
|
s8 title[SCE_NP_BASIC_PRESENCE_TITLE_SIZE_MAX];
|
|
s8 status[SCE_NP_BASIC_PRESENCE_EXTENDED_STATUS_SIZE_MAX];
|
|
s8 comment[SCE_NP_BASIC_PRESENCE_COMMENT_SIZE_MAX];
|
|
u8 data[SCE_NP_BASIC_MAX_PRESENCE_SIZE];
|
|
be_t<u32> size;
|
|
};
|
|
|
|
// Country/region code
|
|
struct SceNpCountryCode
|
|
{
|
|
s8 data[2];
|
|
s8 term;
|
|
s8 padding[1];
|
|
};
|
|
|
|
// Date information
|
|
struct SceNpDate
|
|
{
|
|
be_t<u16> year;
|
|
u8 month;
|
|
u8 day;
|
|
};
|
|
|
|
// Entitlement ID (fixed-length)
|
|
struct SceNpEntitlementId
|
|
{
|
|
u8 data[SCE_NP_ENTITLEMENT_ID_SIZE]; // Unsigned char? What is the right type...?
|
|
};
|
|
|
|
// Callback for getting the connection status
|
|
using SceNpManagerCallback = void(s32 event, s32 result, vm::ptr<void> arg);
|
|
|
|
// Score data unique to the application
|
|
struct SceNpScoreGameInfo
|
|
{
|
|
u8 nativeData[SCE_NP_SCORE_GAMEINFO_SIZE];
|
|
};
|
|
|
|
// Ranking comment structure
|
|
struct SceNpScoreComment
|
|
{
|
|
s8 data[SCE_NP_SCORE_COMMENT_MAXLEN];
|
|
s8 term[1];
|
|
};
|
|
|
|
// Ranking information structure
|
|
struct SceNpScoreRankData
|
|
{
|
|
SceNpId npId;
|
|
SceNpOnlineName onlineName;
|
|
be_t<s32> pcId;
|
|
be_t<u32> serialRank;
|
|
be_t<u32> rank;
|
|
be_t<u32> highestRank;
|
|
be_t<s32> hasGameData;
|
|
u8 pad0[4];
|
|
be_t<s64> scoreValue;
|
|
CellRtcTick recordDate;
|
|
};
|
|
|
|
// Version of SceNpScoreRankData that was deprecated in 180.002
|
|
struct SceNpScoreRankData_deprecated
|
|
{
|
|
SceNpId npId;
|
|
SceNpOnlineName onlineName;
|
|
be_t<u32> serialRank;
|
|
be_t<u32> rank;
|
|
be_t<u32> highestRank;
|
|
be_t<s32> hasGameData;
|
|
be_t<s64> scoreValue;
|
|
CellRtcTick recordDate;
|
|
};
|
|
|
|
// Ranking information of a player or a clan member
|
|
struct SceNpScorePlayerRankData
|
|
{
|
|
be_t<s32> hasData;
|
|
u8 pad0[4];
|
|
SceNpScoreRankData rankData;
|
|
};
|
|
|
|
// Version of SceNpScorePlayerRankData that was deprecated in 180.002
|
|
struct SceNpScorePlayerRankData_deprecated
|
|
{
|
|
be_t<s32> hasData;
|
|
u8 pad0[4];
|
|
SceNpScoreRankData_deprecated rankData;
|
|
};
|
|
|
|
// Scoreboard information
|
|
struct SceNpScoreBoardInfo
|
|
{
|
|
be_t<u32> rankLimit;
|
|
be_t<u32> updateMode;
|
|
be_t<u32> sortMode;
|
|
be_t<u32> uploadNumLimit;
|
|
be_t<u32> uploadSizeLimit;
|
|
};
|
|
|
|
// NOTE: Use SceNpCommunicationPassphrase instead
|
|
// Authentication information per NP Communication ID for score ranking
|
|
// SceNpCommunicationPassphrase SceNpScorePassphrase;
|
|
|
|
// NP ID structure with player character ID
|
|
struct SceNpScoreNpIdPcId
|
|
{
|
|
SceNpId npId;
|
|
be_t<s32> pcId;
|
|
u8 pad[4];
|
|
};
|
|
|
|
// Basic clan information to be used in raking
|
|
struct SceNpScoreClanBasicInfo
|
|
{
|
|
s8 clanName[SCE_NP_CLANS_CLAN_NAME_MAX_LENGTH + 1];
|
|
s8 clanTag[SCE_NP_CLANS_CLAN_TAG_MAX_LENGTH + 1];
|
|
u8 reserved[10];
|
|
};
|
|
|
|
// Clan member information handled in ranking
|
|
struct SceNpScoreClansMemberDescription
|
|
{
|
|
s8 description[SCE_NP_CLANS_CLAN_DESCRIPTION_MAX_LENGTH + 1];
|
|
};
|
|
|
|
// Clan ranking information
|
|
struct SceNpScoreClanRankData
|
|
{
|
|
be_t<u32> clanId;
|
|
SceNpScoreClanBasicInfo clanInfo;
|
|
be_t<u32> regularMemberCount;
|
|
be_t<u32> recordMemberCount;
|
|
be_t<u32> serialRank;
|
|
be_t<u32> rank;
|
|
be_t<s64> scoreValue;
|
|
CellRtcTick recordDate;
|
|
SceNpId npId;
|
|
SceNpOnlineName onlineName;
|
|
u8 reserved[32];
|
|
};
|
|
|
|
// Clan ranking information to be obtained for a specified clan ID
|
|
struct SceNpScoreClanIdRankData
|
|
{
|
|
be_t<s32> hasData;
|
|
u8 pad0[4];
|
|
SceNpScoreClanRankData rankData;
|
|
};
|
|
|
|
// Union for connection information
|
|
union SceNpSignalingConnectionInfo
|
|
{
|
|
be_t<u32> rtt;
|
|
be_t<u32> bandwidth;
|
|
SceNpId npId;
|
|
struct
|
|
{
|
|
np_in_addr addr; // in_addr
|
|
np_in_port_t port; // in_port_t
|
|
} address;
|
|
be_t<u32> packet_loss;
|
|
};
|
|
|
|
// Network information structure
|
|
struct SceNpSignalingNetInfo
|
|
{
|
|
be_t<u32> size;
|
|
be_t<u32> local_addr; // in_addr
|
|
be_t<u32> mapped_addr; // in_addr
|
|
be_t<s32> nat_status;
|
|
be_t<s32> upnp_status;
|
|
be_t<s32> npport_status;
|
|
be_t<u16> npport;
|
|
};
|
|
|
|
struct SceNpCustomMenuAction
|
|
{
|
|
be_t<u32> options;
|
|
vm::bcptr<char> name;
|
|
be_t<SceNpCustomMenuActionMask> mask;
|
|
};
|
|
|
|
struct SceNpCustomMenu
|
|
{
|
|
be_t<u64> options;
|
|
vm::bptr<SceNpCustomMenuAction> actions;
|
|
be_t<u32> numActions;
|
|
};
|
|
|
|
struct SceNpCustomMenuIndexArray
|
|
{
|
|
be_t<SceNpCustomMenuIndexMask> index_bits[SCE_NP_CUSTOM_MENU_INDEX_SETSIZE >> SCE_NP_CUSTOM_MENU_INDEX_BITS_SHIFT];
|
|
};
|
|
|
|
struct SceNpCustomMenuActionExceptions
|
|
{
|
|
be_t<u32> options;
|
|
SceNpId npid;
|
|
SceNpCustomMenuIndexArray actions;
|
|
u8 reserved[4];
|
|
};
|
|
|
|
struct SceNpCommerceProductCategory
|
|
{
|
|
be_t<u32> version;
|
|
vm::bcptr<void> data;
|
|
be_t<u32> dataSize;
|
|
be_t<u32> dval;
|
|
u8 reserved[16];
|
|
};
|
|
|
|
struct SceNpCommerceProductSkuInfo
|
|
{
|
|
vm::bptr<SceNpCommerceProductCategory> pc;
|
|
vm::bcptr<void> data;
|
|
u8 reserved[8];
|
|
};
|
|
|
|
struct SceNpCommerceCategoryInfo
|
|
{
|
|
vm::bptr<SceNpCommerceProductCategory> pc;
|
|
vm::bcptr<void> data;
|
|
u8 reserved[8];
|
|
};
|
|
|
|
struct SceNpCommerceCurrencyInfo
|
|
{
|
|
vm::bptr<SceNpCommerceProductCategory> pc;
|
|
vm::bcptr<void> data;
|
|
u8 reserved[8];
|
|
};
|
|
|
|
struct SceNpCommercePrice
|
|
{
|
|
be_t<u32> integer;
|
|
be_t<u32> fractional;
|
|
};
|
|
|
|
struct SceNpTicketVersion
|
|
{
|
|
be_t<u16> major;
|
|
be_t<u16> minor;
|
|
};
|
|
|
|
union SceNpTicketParam
|
|
{
|
|
be_t<s32> i32;
|
|
be_t<s64> i64;
|
|
be_t<u32> ui32;
|
|
be_t<u64> ui64;
|
|
SceNpDate date;
|
|
u8 data[SCE_NP_TICKET_PARAM_DATA_LEN];
|
|
};
|
|
|
|
struct SceNpEntitlement
|
|
{
|
|
SceNpEntitlementId id;
|
|
be_t<SceNpTime> created_date;
|
|
be_t<SceNpTime> expire_date;
|
|
be_t<u32> type;
|
|
be_t<s32> remaining_count;
|
|
be_t<u32> consumed_count;
|
|
u8 padding[4];
|
|
};
|
|
|
|
struct SceNpLobbyId
|
|
{
|
|
u8 opt[28];
|
|
u8 reserved[8];
|
|
};
|
|
|
|
struct SceNpRoomId
|
|
{
|
|
u8 opt[28];
|
|
u8 reserved[8];
|
|
};
|
|
|
|
struct SceNpMatchingAttr
|
|
{
|
|
vm::bptr<SceNpMatchingAttr> next;
|
|
be_t<s32> type;
|
|
be_t<u32> id;
|
|
union
|
|
{
|
|
be_t<u32> num;
|
|
struct
|
|
{
|
|
vm::bptr<void> ptr;
|
|
be_t<u32> size;
|
|
} data;
|
|
} value;
|
|
};
|
|
|
|
struct SceNpMatchingSearchCondition
|
|
{
|
|
vm::bptr<SceNpMatchingSearchCondition> next;
|
|
be_t<s32> target_attr_type;
|
|
be_t<u32> target_attr_id;
|
|
be_t<s32> comp_op;
|
|
be_t<s32> comp_type;
|
|
SceNpMatchingAttr compared;
|
|
};
|
|
|
|
struct SceNpMatchingReqRange
|
|
{
|
|
be_t<u32> start;
|
|
be_t<u32> max;
|
|
};
|
|
|
|
struct SceNpScoreVariableSizeGameInfo
|
|
{
|
|
be_t<u32> infoSize;
|
|
u8 data[SCE_NP_SCORE_VARIABLE_SIZE_GAMEINFO_MAXSIZE];
|
|
u8 pad[3];
|
|
};
|
|
|
|
struct SceNpScoreRecordOptParam
|
|
{
|
|
be_t<u32> size;
|
|
vm::bptr<SceNpScoreVariableSizeGameInfo> vsInfo;
|
|
vm::bptr<CellRtcTick> reserved;
|
|
};
|
|
|
|
// Old GUI API structures
|
|
|
|
struct SceNpMatchingRoomMember
|
|
{
|
|
vm::bptr<SceNpMatchingRoomMember> next;
|
|
SceNpUserInfo user_info;
|
|
be_t<s32> owner;
|
|
};
|
|
|
|
struct SceNpMatchingRoomStatus
|
|
{
|
|
SceNpRoomId id;
|
|
vm::bptr<SceNpMatchingRoomMember> members;
|
|
be_t<s32> num;
|
|
vm::bptr<SceNpId> kick_actor;
|
|
vm::bptr<void> opt;
|
|
be_t<s32> opt_len;
|
|
};
|
|
|
|
struct SceNpMatchingJoinedRoomInfo
|
|
{
|
|
SceNpLobbyId lobbyid;
|
|
SceNpMatchingRoomStatus room_status;
|
|
};
|
|
|
|
struct SceNpMatchingRange
|
|
{
|
|
be_t<u32> start;
|
|
be_t<u32> results;
|
|
be_t<u32> total;
|
|
};
|
|
|
|
struct SceNpMatchingRoom
|
|
{
|
|
vm::bptr<SceNpMatchingRoom> next;
|
|
SceNpRoomId id;
|
|
vm::bptr<SceNpMatchingAttr> attr;
|
|
};
|
|
|
|
struct SceNpMatchingRoomList
|
|
{
|
|
SceNpLobbyId lobbyid;
|
|
SceNpMatchingRange range;
|
|
vm::bptr<SceNpMatchingRoom> head;
|
|
};
|
|
|
|
struct SceNpMatchingSearchJoinRoomInfo
|
|
{
|
|
SceNpLobbyId lobbyid;
|
|
SceNpMatchingRoomStatus room_status;
|
|
vm::bptr<SceNpMatchingAttr> attr;
|
|
};
|
|
|
|
// NP callback functions
|
|
using SceNpCustomMenuEventHandler = s32(s32 retCode, u32 index, vm::cptr<SceNpId> npid, SceNpCustomMenuSelectedType type, vm::ptr<void> arg);
|
|
using SceNpBasicEventHandler = s32(s32 event, s32 retCode, u32 reqId, vm::ptr<void> arg);
|
|
using SceNpCommerceHandler = void(u32 ctx_id, u32 subject_id, s32 event, s32 error_code, vm::ptr<void> arg);
|
|
using SceNpSignalingHandler = void(u32 ctx_id, u32 subject_id, s32 event, s32 error_code, vm::ptr<void> arg);
|
|
using SceNpFriendlistResultHandler = s32(s32 retCode, vm::ptr<void> arg);
|
|
using SceNpMatchingHandler = void(u32 ctx_id, u32 req_id, s32 event, s32 error_code, vm::ptr<void> arg);
|
|
using SceNpMatchingGUIHandler = void(u32 ctx_id, s32 event, s32 error_code, vm::ptr<void> arg);
|
|
using SceNpProfileResultHandler = s32(s32 result, vm::ptr<void> arg);
|
|
|
|
using SceNpManagerSubSigninCallback = void(s32 result, vm::ptr<SceNpId> npId, vm::ptr<void> cb_arg);
|
|
|
|
// Used to pass data to UI/RPCN
|
|
struct message_data
|
|
{
|
|
SceNpCommunicationId commId{};
|
|
u64 msgId = 0;
|
|
u16 mainType = 0;
|
|
u16 subType = 0;
|
|
u32 msgFeatures = 0;
|
|
std::string subject;
|
|
std::string body;
|
|
std::vector<u8> data;
|
|
void print() const;
|
|
};
|
|
|
|
struct np_state
|
|
{
|
|
atomic_t<bool> abort_gui_flag = false;
|
|
};
|
|
|
|
namespace rpcn
|
|
{
|
|
class rpcn_client;
|
|
}
|
|
|
|
class SendMessageDialogBase
|
|
{
|
|
public:
|
|
virtual ~SendMessageDialogBase() = default;
|
|
|
|
virtual error_code Exec(message_data& msg_data, std::set<std::string>& npids) = 0;
|
|
virtual void callback_handler(u16 ntype, const std::string& username, bool status) = 0;
|
|
|
|
protected:
|
|
std::shared_ptr<rpcn::rpcn_client> m_rpcn;
|
|
};
|
|
|
|
class RecvMessageDialogBase
|
|
{
|
|
public:
|
|
virtual ~RecvMessageDialogBase() = default;
|
|
|
|
virtual error_code Exec(SceNpBasicMessageMainType type, SceNpBasicMessageRecvOptions options, SceNpBasicMessageRecvAction& recv_result, u64& chosen_msg_id) = 0;
|
|
virtual void callback_handler(const shared_ptr<std::pair<std::string, message_data>> new_msg, u64 msg_id) = 0;
|
|
|
|
protected:
|
|
std::shared_ptr<rpcn::rpcn_client> m_rpcn;
|
|
};
|
|
|
|
// Generic functions, also used in SceNpMatchingInt.cpp
|
|
error_code matching_create_room(u32 ctx_id, vm::cptr<SceNpCommunicationId> communicationId, vm::cptr<SceNpMatchingAttr> attr, vm::ptr<SceNpMatchingGUIHandler> handler, vm::ptr<void> arg);
|
|
error_code matching_join_room(u32 ctx_id, vm::ptr<SceNpRoomId> room_id, vm::ptr<SceNpMatchingGUIHandler> handler, vm::ptr<void> arg);
|
|
error_code matching_get_room_list(u32 ctx_id, vm::ptr<SceNpCommunicationId> communicationId, vm::ptr<SceNpMatchingReqRange> range, vm::ptr<SceNpMatchingSearchCondition> cond,
|
|
vm::ptr<SceNpMatchingAttr> attr, vm::ptr<SceNpMatchingGUIHandler> handler, vm::ptr<void> arg, bool limit);
|
|
error_code matching_set_room_info(u32 ctx_id, vm::ptr<SceNpLobbyId> lobby_id, vm::ptr<SceNpRoomId> room_id, vm::ptr<SceNpMatchingAttr> attr, vm::ptr<u32> req_id, bool limit);
|
|
error_code matching_get_room_info(u32 ctx_id, vm::ptr<SceNpLobbyId> lobby_id, vm::ptr<SceNpRoomId> room_id, vm::ptr<SceNpMatchingAttr> attr, vm::ptr<u32> req_id, bool limit);
|
|
error_code matching_get_room_member_list(u32 ctx_id, vm::ptr<SceNpRoomId> room_id, vm::ptr<u32> buflen, vm::ptr<void> buf);
|