sceNp: add some constants

This commit is contained in:
Megamouse 2022-05-10 19:59:23 +02:00
parent d77c9139ad
commit e494fc04e5
8 changed files with 151 additions and 22 deletions

View File

@ -422,7 +422,7 @@ error_code sceNpInit(u32 poolsize, vm::ptr<void> poolptr)
return SCE_NP_ERROR_INVALID_ARGUMENT;
}
if (poolsize < SCE_NP_MIN_POOLSIZE)
if (poolsize < SCE_NP_MIN_POOL_SIZE)
{
return SCE_NP_ERROR_INSUFFICIENT_BUFFER;
}
@ -5064,7 +5064,7 @@ error_code sceNpSignalingGetLocalNetInfo(u32 ctx_id, vm::ptr<SceNpSignalingNetIn
info->nat_status = 0;
info->upnp_status = 0;
info->npport_status = 0;
info->npport = 3658;
info->npport = SCE_NP_PORT;
return CELL_OK;
}

View File

@ -515,7 +515,8 @@ enum
enum
{
SCE_NP_MIN_POOLSIZE = 128 * 1024
SCE_NP_PORT = 3658,
SCE_NP_MIN_POOL_SIZE = 128 * 1024
};
enum
@ -529,6 +530,17 @@ enum : u64
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
{
@ -539,7 +551,10 @@ enum
SCE_NP_MANAGER_STATUS_ONLINE = 3,
};
#define SCE_NP_MANAGER_EVENT_GOT_TICKET 255
enum
{
SCE_NP_MANAGER_EVENT_GOT_TICKET = 255
};
// Event types
enum
@ -824,6 +839,12 @@ enum
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
{
@ -906,6 +927,16 @@ enum
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];

View File

@ -136,6 +136,7 @@ enum
SCE_NP_MATCHING2_INVITATION_TARGET_SESSION_MAX = 2,
SCE_NP_MATCHING2_LOBBY_MEMBER_DATA_INTERNAL_LIST_MAX = 256,
SCE_NP_MATCHING2_LOBBY_MEMBER_DATA_INTERNAL_EXTENDED_DATA_LIST_MAX = 64,
SCE_NP_MATCHING2_LOBBY_BIN_ATTR_INTERNAL_NUM = 2,
SCE_NP_MATCHING2_LOBBYMEMBER_BIN_ATTR_INTERNAL_NUM = 1,
SCE_NP_MATCHING2_LOBBYMEMBER_BIN_ATTR_INTERNAL_MAX_SIZE = 64,
SCE_NP_MATCHING2_LOBBY_MAX_SLOT = 256,
@ -149,6 +150,7 @@ enum
SCE_NP_MATCHING2_ROOM_BIN_ATTR_INTERNAL_NUM = 2,
SCE_NP_MATCHING2_ROOM_BIN_ATTR_INTERNAL_MAX_SIZE = 256,
SCE_NP_MATCHING2_ROOM_SEARCHABLE_INT_ATTR_EXTERNAL_NUM = 8,
SCE_NP_MATCHING2_ROOM_SEARCHABLE_BIN_ATTR_EXTERNAL_NUM = 1,
SCE_NP_MATCHING2_ROOM_SEARCHABLE_BIN_ATTR_EXTERNAL_MAX_SIZE = 64,
SCE_NP_MATCHING2_ROOMMEMBER_BIN_ATTR_INTERNAL_NUM = 1,
SCE_NP_MATCHING2_ROOMMEMBER_BIN_ATTR_INTERNAL_MAX_SIZE = 64,
@ -156,6 +158,7 @@ enum
SCE_NP_MATCHING2_USER_BIN_ATTR_NUM = 1,
SCE_NP_MATCHING2_USER_BIN_ATTR_MAX_SIZE = 128,
SCE_NP_MATCHING2_GET_USER_INFO_LIST_NPID_NUM_MAX = 25,
SCE_NP_MATCHING2_GET_ROOM_DATA_EXTERNAL_LIST_ROOM_NUM_MAX = 20,
SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_GetServerInfo = 4,
SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_GetWorldInfoList = 3848,
SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_GetRoomMemberDataExternalList = 15624,
@ -187,6 +190,20 @@ enum
SCE_NP_MATCHING2_EVENT_DATA_MAX_SIZE_LobbyInvitationInfo = 870,
};
enum
{
SCE_NP_MATCHING2_MAX_SIZE_RoomDataExternal = 1288,
SCE_NP_MATCHING2_MAX_SIZE_RoomMemberDataInternal = 368,
SCE_NP_MATCHING2_MAX_SIZE_LobbyMemberDataInternal = 668,
SCE_NP_MATCHING2_MAX_SIZE_LobbyMemberDataInternal_NoExtendedData = 80,
SCE_NP_MATCHING2_MAX_SIZE_UserInfo = 704,
};
enum
{
SCE_NP_MATCHING2_TITLE_PASSPHRASE_SIZE = 128
};
// Comparison operator specified as the search condition
enum
{
@ -222,6 +239,11 @@ enum
SCE_NP_MATCHING2_SIGNALING_TYPE_STAR = 2,
};
enum
{
SCE_NP_MATCHING2_SIGNALING_FLAG_MANUAL_MODE = 0x01
};
// Event cause
enum
{
@ -300,6 +322,12 @@ enum
SCE_NP_MATCHING2_SEND_MSG_OPTION_WITH_AVATARURL = 0x04,
};
enum
{
SCE_NP_MATCHING2_ROOM_ALLOWED_USER_MAX = 100,
SCE_NP_MATCHING2_ROOM_BLOCKED_USER_MAX = 100,
};
// Flag-type lobby attribute
enum
{
@ -328,7 +356,8 @@ enum
// Flah-type room member attribute
enum
{
SCE_NP_MATCHING2_ROOMMEMBER_FLAG_ATTR_OWNER = 0x80000000,
SCE_NP_MATCHING2_LOBBYMEMBER_FLAG_ATTR_OWNER = 0x80000000,
SCE_NP_MATCHING2_ROOMMEMBER_FLAG_ATTR_OWNER = 0x80000000,
};
// ID of external room search integer attribute
@ -357,6 +386,13 @@ enum
SCE_NP_MATCHING2_ROOM_BIN_ATTR_EXTERNAL_2_ID = 0x0056,
};
// ID of internal lobby binary attribute
enum
{
SCE_NP_MATCHING2_LOBBY_BIN_ATTR_INTERNAL_1_ID = 0x0037,
SCE_NP_MATCHING2_LOBBY_BIN_ATTR_INTERNAL_2_ID = 0x0038,
};
// ID of internal room binary attribute
enum
{
@ -451,8 +487,9 @@ enum
// Signaling event
enum
{
SCE_NP_MATCHING2_SIGNALING_EVENT_Dead = 0x5101,
SCE_NP_MATCHING2_SIGNALING_EVENT_Established = 0x5102,
SCE_NP_MATCHING2_SIGNALING_EVENT_Dead = 0x5101,
SCE_NP_MATCHING2_SIGNALING_EVENT_Established = 0x5102,
SCE_NP_MATCHING2_SIGNALING_EVENT_NetInfoResult = 0x5103,
};
// Context event
@ -463,6 +500,14 @@ enum
SCE_NP_MATCHING2_CONTEXT_EVENT_Stop = 0x6f03,
};
enum
{
SCE_NP_MATCHING2_SIGNALING_NETINFO_NAT_STATUS_UNKNOWN = 0,
SCE_NP_MATCHING2_SIGNALING_NETINFO_NAT_STATUS_TYPE = 1,
SCE_NP_MATCHING2_SIGNALING_NETINFO_NAT_STATUS_TYPE2 = 2,
SCE_NP_MATCHING2_SIGNALING_NETINFO_NAT_STATUS_TYPE3 = 3,
};
typedef u16 SceNpMatching2ServerId;
typedef u32 SceNpMatching2WorldId;
typedef u16 SceNpMatching2WorldNumber;

View File

@ -109,6 +109,34 @@ enum
SCE_NP_CLANS_PAGING_REQUEST_PAGE_MAX = 100,
};
enum
{
SCE_NP_CLANS_FIELDS_SEARCHABLE_ATTR_INT_ATTR1 = 0x00000001,
SCE_NP_CLANS_FIELDS_SEARCHABLE_ATTR_INT_ATTR2 = 0x00000002,
SCE_NP_CLANS_FIELDS_SEARCHABLE_ATTR_INT_ATTR3 = 0x00000004,
SCE_NP_CLANS_FIELDS_SEARCHABLE_ATTR_BIN_ATTR1 = 0x00000008,
SCE_NP_CLANS_FIELDS_SEARCHABLE_PROFILE_TAG = 0x00000010,
SCE_NP_CLANS_FIELDS_SEARCHABLE_PROFILE_NUM_MEMBERS = 0x00000020,
SCE_NP_CLANS_FIELDS_UPDATABLE_CLAN_INFO_DESCR = 0x00000040,
SCE_NP_CLANS_FIELDS_UPDATABLE_CLAN_INFO_BIN_DATA1 = 0x00000080,
SCE_NP_CLANS_FIELDS_UPDATABLE_MEMBER_INFO_DESCR = 0x00000100,
SCE_NP_CLANS_FIELDS_UPDATABLE_MEMBER_INFO_BIN_ATTR1 = 0x00000200,
SCE_NP_CLANS_FIELDS_UPDATABLE_MEMBER_INFO_BIN_DATA1 = 0x00000400,
SCE_NP_CLANS_FIELDS_UPDATABLE_MEMBER_INFO_ALLOW_MSG = 0x00000800,
};
enum
{
SCE_NP_CLANS_MESSAGE_OPTIONS_NONE = 0x00000000,
SCE_NP_CLANS_MESSAGE_OPTIONS_CENSOR = 0x00000001,
};
enum
{
SCE_NP_CLANS_INVALID_ID = 0,
SCE_NP_CLANS_INVALID_REQUEST_HANDLE = 0,
};
// Request handle for clan API
using SceNpClansRequestHandle = vm::ptr<struct SceNpClansRequest>;

View File

@ -15,6 +15,30 @@ enum
SCE_NP_TUS_MAX_SELECTED_FRIENDS_NUM = 100,
};
enum
{
SCE_NP_TUS_OPETYPE_EQUAL = 1,
SCE_NP_TUS_OPETYPE_NOT_EQUAL,
SCE_NP_TUS_OPETYPE_GREATER_THAN,
SCE_NP_TUS_OPETYPE_GREATER_OR_EQUAL,
SCE_NP_TUS_OPETYPE_LESS_THAN,
SCE_NP_TUS_OPETYPE_LESS_OR_EQUAL
};
enum
{
SCE_NP_TUS_VARIABLE_SORTTYPE_DESCENDING_DATE = 1,
SCE_NP_TUS_VARIABLE_SORTTYPE_ASCENDING_DATE,
SCE_NP_TUS_VARIABLE_SORTTYPE_DESCENDING_VALUE,
SCE_NP_TUS_VARIABLE_SORTTYPE_ASCENDING_VALUE
};
enum
{
SCE_NP_TUS_DATASTATUS_SORTTYPE_DESCENDING_DATE = 1,
SCE_NP_TUS_DATASTATUS_SORTTYPE_ASCENDING_DATE
};
enum SceNpTssStatusCodeType
{
SCE_NP_TSS_STATUS_TYPE_OK,

View File

@ -77,13 +77,13 @@ s32 lv2_socket_p2p::bind(const sys_net_sockaddr& addr, s32 ps3_id)
sys_net.notice("[P2P] Trying to bind %s:%d:%d", np::ip_to_string(std::bit_cast<u32>(psa_in_p2p->sin_addr)), p2p_port, p2p_vport);
if (p2p_port != 3658)
if (p2p_port != SCE_NP_PORT)
{
if (p2p_port == 0)
{
return -SYS_NET_EINVAL;
}
sys_net.warning("[P2P] Attempting to bind a socket to a port != 3658");
sys_net.warning("[P2P] Attempting to bind a socket to a port != %d", +SCE_NP_PORT);
}
socket_type real_socket{};

View File

@ -531,12 +531,12 @@ s32 lv2_socket_p2ps::bind(const sys_net_sockaddr& addr, s32 ps3_id)
if (p2p_port == 0)
{
p2p_port = 3658;
p2p_port = SCE_NP_PORT;
}
if (p2p_port != 3658)
if (p2p_port != SCE_NP_PORT)
{
sys_net.warning("[P2PS] Attempting to bind a socket to a port != 3658");
sys_net.warning("[P2PS] Attempting to bind a socket to a port != %d", +SCE_NP_PORT);
}
socket_type real_socket{};

View File

@ -1,5 +1,6 @@
#include "stdafx.h"
#include "Emu/Cell/lv2/sys_sync.h"
#include "Emu/Cell/Modules/sceNp.h" // for SCE_NP_PORT
#include "network_context.h"
#include "Emu/system_config.h"
@ -14,14 +15,14 @@ s32 send_packet_from_p2p_port(const std::vector<u8>& data, const sockaddr_in& ad
auto& nc = g_fxo->get<network_context>();
{
std::lock_guard list_lock(nc.list_p2p_ports_mutex);
if (nc.list_p2p_ports.contains(3658))
if (nc.list_p2p_ports.contains(SCE_NP_PORT))
{
auto& def_port = nc.list_p2p_ports.at(3658);
auto& def_port = nc.list_p2p_ports.at(SCE_NP_PORT);
res = ::sendto(def_port.p2p_socket, reinterpret_cast<const char*>(data.data()), data.size(), 0, reinterpret_cast<const sockaddr*>(&addr), sizeof(sockaddr_in));
}
else
{
sys_net.error("send_packet_from_p2p_port: port %d not present", 3658);
sys_net.error("send_packet_from_p2p_port: port %d not present", +SCE_NP_PORT);
}
}
@ -34,9 +35,9 @@ std::vector<std::vector<u8>> get_rpcn_msgs()
auto& nc = g_fxo->get<network_context>();
{
std::lock_guard list_lock(nc.list_p2p_ports_mutex);
if (nc.list_p2p_ports.contains(3658))
if (nc.list_p2p_ports.contains(SCE_NP_PORT))
{
auto& def_port = nc.list_p2p_ports.at(3658);
auto& def_port = nc.list_p2p_ports.at(SCE_NP_PORT);
{
std::lock_guard lock(def_port.s_rpcn_mutex);
msgs = std::move(def_port.rpcn_msgs);
@ -45,7 +46,7 @@ std::vector<std::vector<u8>> get_rpcn_msgs()
}
else
{
sys_net.error("get_rpcn_msgs: port %d not present", 3658);
sys_net.error("get_rpcn_msgs: port %d not present", +SCE_NP_PORT);
}
}
@ -58,9 +59,9 @@ std::vector<std::pair<std::pair<u32, u16>, std::vector<u8>>> get_sign_msgs()
auto& nc = g_fxo->get<network_context>();
{
std::lock_guard list_lock(nc.list_p2p_ports_mutex);
if (nc.list_p2p_ports.contains(3658))
if (nc.list_p2p_ports.contains(SCE_NP_PORT))
{
auto& def_port = nc.list_p2p_ports.at(3658);
auto& def_port = nc.list_p2p_ports.at(SCE_NP_PORT);
{
std::lock_guard lock(def_port.s_sign_mutex);
msgs = std::move(def_port.sign_msgs);
@ -69,7 +70,7 @@ std::vector<std::pair<std::pair<u32, u16>, std::vector<u8>>> get_sign_msgs()
}
else
{
sys_net.error("get_sign_msgs: port %d not present", 3658);
sys_net.error("get_sign_msgs: port %d not present", +SCE_NP_PORT);
}
}
@ -85,7 +86,7 @@ void need_network()
network_thread::network_thread() noexcept
{
if (g_cfg.net.psn_status == np_psn_status::psn_rpcn)
list_p2p_ports.emplace(std::piecewise_construct, std::forward_as_tuple(3658), std::forward_as_tuple(3658));
list_p2p_ports.emplace(std::piecewise_construct, std::forward_as_tuple(SCE_NP_PORT), std::forward_as_tuple(SCE_NP_PORT));
}
network_thread::~network_thread()