diff --git a/src/core/libraries/network/net.cpp b/src/core/libraries/network/net.cpp index 38f613a9..1569a51c 100644 --- a/src/core/libraries/network/net.cpp +++ b/src/core/libraries/network/net.cpp @@ -58,7 +58,7 @@ int PS4_SYSV_ABI sce_net_in6addr_nodelocal_allnodes() { return ORBIS_OK; } -int PS4_SYSV_ABI sceNetAccept() { +OrbisNetId PS4_SYSV_ABI sceNetAccept(OrbisNetId s, OrbisNetSockaddr* addr, u32* paddrlen) { LOG_ERROR(Lib_Net, "(STUBBED) called"); return ORBIS_OK; } @@ -118,7 +118,7 @@ int PS4_SYSV_ABI sceNetBandwidthControlSetPolicy() { return ORBIS_OK; } -int PS4_SYSV_ABI sceNetBind(int sid, const OrbisNetSockaddr* addr, u32 addrlen) { +int PS4_SYSV_ABI sceNetBind(OrbisNetId s, const OrbisNetSockaddr* addr, u32 addrlen) { LOG_ERROR(Lib_Net, "(STUBBED) called"); return ORBIS_OK; } @@ -678,12 +678,12 @@ int PS4_SYSV_ABI sceNetGetSockInfo6() { return ORBIS_OK; } -int PS4_SYSV_ABI sceNetGetsockname() { +int PS4_SYSV_ABI sceNetGetsockname(OrbisNetId s, OrbisNetSockaddr* addr, u32* paddrlen) { LOG_ERROR(Lib_Net, "(STUBBED) called"); return ORBIS_OK; } -int PS4_SYSV_ABI sceNetGetsockopt() { +int PS4_SYSV_ABI sceNetGetsockopt(OrbisNetId s, int level, int optname, void* optval, u32* optlen) { LOG_ERROR(Lib_Net, "(STUBBED) called"); return ORBIS_OK; } @@ -787,9 +787,8 @@ int PS4_SYSV_ABI sceNetMemoryFree() { return ORBIS_OK; } -int PS4_SYSV_ABI sceNetNtohl() { - LOG_ERROR(Lib_Net, "(STUBBED) called"); - return ORBIS_OK; +u32 PS4_SYSV_ABI sceNetNtohl(u32 net32) { + return ntohl(net32); } int PS4_SYSV_ABI sceNetNtohll() { @@ -797,9 +796,8 @@ int PS4_SYSV_ABI sceNetNtohll() { return ORBIS_OK; } -int PS4_SYSV_ABI sceNetNtohs() { - LOG_ERROR(Lib_Net, "(STUBBED) called"); - return ORBIS_OK; +u16 PS4_SYSV_ABI sceNetNtohs(u16 net16) { + return ntohs(net16); } int PS4_SYSV_ABI sceNetPoolCreate(const char* name, int size, int flags) { @@ -827,7 +825,8 @@ int PS4_SYSV_ABI sceNetRecv() { return ORBIS_OK; } -int PS4_SYSV_ABI sceNetRecvfrom() { +int PS4_SYSV_ABI sceNetRecvfrom(OrbisNetId s, void* buf, size_t len, int flags, + OrbisNetSockaddr* addr, u32* paddrlen) { LOG_ERROR(Lib_Net, "(STUBBED) called"); return ORBIS_OK; } diff --git a/src/core/libraries/network/net.h b/src/core/libraries/network/net.h index 454e501d..965b7680 100644 --- a/src/core/libraries/network/net.h +++ b/src/core/libraries/network/net.h @@ -15,6 +15,8 @@ class SymbolsResolver; namespace Libraries::Net { +using OrbisNetId = s32; + struct OrbisNetSockaddr { u8 sa_len; u8 sa_family; @@ -29,7 +31,7 @@ int PS4_SYSV_ABI sce_net_in6addr_linklocal_allnodes(); int PS4_SYSV_ABI sce_net_in6addr_linklocal_allrouters(); int PS4_SYSV_ABI sce_net_in6addr_loopback(); int PS4_SYSV_ABI sce_net_in6addr_nodelocal_allnodes(); -int PS4_SYSV_ABI sceNetAccept(); +OrbisNetId PS4_SYSV_ABI sceNetAccept(OrbisNetId s, OrbisNetSockaddr* addr, u32* paddrlen); int PS4_SYSV_ABI sceNetAddrConfig6GetInfo(); int PS4_SYSV_ABI sceNetAddrConfig6Start(); int PS4_SYSV_ABI sceNetAddrConfig6Stop(); @@ -41,7 +43,7 @@ int PS4_SYSV_ABI sceNetBandwidthControlGetPolicy(); int PS4_SYSV_ABI sceNetBandwidthControlSetDefaultParam(); int PS4_SYSV_ABI sceNetBandwidthControlSetIfParam(); int PS4_SYSV_ABI sceNetBandwidthControlSetPolicy(); -int PS4_SYSV_ABI sceNetBind(int sid, const OrbisNetSockaddr* addr, u32 addrlen); +int PS4_SYSV_ABI sceNetBind(OrbisNetId s, const OrbisNetSockaddr* addr, u32 addrlen); int PS4_SYSV_ABI sceNetClearDnsCache(); int PS4_SYSV_ABI sceNetConfigAddArp(); int PS4_SYSV_ABI sceNetConfigAddArpWithInterface(); @@ -153,8 +155,8 @@ int PS4_SYSV_ABI sceNetGetRandom(); int PS4_SYSV_ABI sceNetGetRouteInfo(); int PS4_SYSV_ABI sceNetGetSockInfo(); int PS4_SYSV_ABI sceNetGetSockInfo6(); -int PS4_SYSV_ABI sceNetGetsockname(); -int PS4_SYSV_ABI sceNetGetsockopt(); +int PS4_SYSV_ABI sceNetGetsockname(OrbisNetId s, OrbisNetSockaddr* addr, u32* paddrlen); +int PS4_SYSV_ABI sceNetGetsockopt(OrbisNetId s, int level, int optname, void* optval, u32* optlen); int PS4_SYSV_ABI sceNetGetStatisticsInfo(); int PS4_SYSV_ABI sceNetGetStatisticsInfoInternal(); int PS4_SYSV_ABI sceNetGetSystemTime(); @@ -174,15 +176,16 @@ int PS4_SYSV_ABI sceNetIoctl(); int PS4_SYSV_ABI sceNetListen(); int PS4_SYSV_ABI sceNetMemoryAllocate(); int PS4_SYSV_ABI sceNetMemoryFree(); -int PS4_SYSV_ABI sceNetNtohl(); +u32 PS4_SYSV_ABI sceNetNtohl(u32 net32); int PS4_SYSV_ABI sceNetNtohll(); -int PS4_SYSV_ABI sceNetNtohs(); +u16 PS4_SYSV_ABI sceNetNtohs(u16 net16); int PS4_SYSV_ABI sceNetPoolCreate(const char* name, int size, int flags); int PS4_SYSV_ABI sceNetPoolDestroy(); int PS4_SYSV_ABI sceNetPppoeStart(); int PS4_SYSV_ABI sceNetPppoeStop(); int PS4_SYSV_ABI sceNetRecv(); -int PS4_SYSV_ABI sceNetRecvfrom(); +int PS4_SYSV_ABI sceNetRecvfrom(OrbisNetId s, void* buf, size_t len, int flags, + OrbisNetSockaddr* addr, u32* paddrlen); int PS4_SYSV_ABI sceNetRecvmsg(); int PS4_SYSV_ABI sceNetResolverAbort(); int PS4_SYSV_ABI sceNetResolverConnect();