mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-21 11:26:56 +02:00
network: implement resolver destruction
This commit is contained in:
@@ -113,6 +113,10 @@ int KYTY_SYSV_ABI NetResolverCreate(const char* name, int memid, int flags) {
|
||||
return NET_CALL(Net::NetResolverCreate(name, memid, flags));
|
||||
}
|
||||
|
||||
int KYTY_SYSV_ABI NetResolverDestroy(int rid) {
|
||||
return NET_CALL(Net::NetResolverDestroy(rid));
|
||||
}
|
||||
|
||||
int KYTY_SYSV_ABI NetResolverStartNtoa(int rid, const char* hostname, void* addr, int timeout,
|
||||
int retry, int flags) {
|
||||
return NET_CALL(Net::NetResolverStartNtoa(rid, hostname, addr, timeout, retry, flags));
|
||||
@@ -194,6 +198,7 @@ LIB_DEFINE(InitNet_1_Net) {
|
||||
LIB_FUNC("dgJBaeJnGpo", LibNet::NetPoolCreate);
|
||||
LIB_FUNC("K7RlrTkI-mw", LibNet::NetPoolDestroy);
|
||||
LIB_FUNC("C4UgDHHPvdw", LibNet::NetResolverCreate);
|
||||
LIB_FUNC("kJlYH5uMAWI", LibNet::NetResolverDestroy);
|
||||
LIB_FUNC("Nd91WaWmG2w", LibNet::NetResolverStartNtoa);
|
||||
LIB_FUNC("8Kcp5d-q1Uo", LibNet::NetInetPton);
|
||||
LIB_FUNC("9vA2aW+CHuA", LibNet::NetInetNtop);
|
||||
|
||||
@@ -101,6 +101,7 @@ public:
|
||||
int PoolCreate(const char* name, int size);
|
||||
bool PoolDestroy(int memid);
|
||||
int ResolverCreate(const char* name, int memid);
|
||||
bool ResolverDestroy(int rid);
|
||||
bool ResolverValid(int rid);
|
||||
|
||||
Id SslInit(uint64_t pool_size);
|
||||
@@ -291,6 +292,17 @@ int Network::ResolverCreate(const char* name, int memid) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool Network::ResolverDestroy(int rid) {
|
||||
Common::LockGuard lock(m_mutex);
|
||||
|
||||
if (rid >= 0 && rid < RESOLVERS_MAX && m_resolvers[rid].used) {
|
||||
m_resolvers[rid] = {};
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool Network::ResolverValid(int rid) {
|
||||
Common::LockGuard lock(m_mutex);
|
||||
|
||||
@@ -1231,6 +1243,19 @@ int KYTY_SYSV_ABI NetResolverCreate(const char* name, int memid, int flags) {
|
||||
return id;
|
||||
}
|
||||
|
||||
int KYTY_SYSV_ABI NetResolverDestroy(int rid) {
|
||||
PRINT_NAME();
|
||||
|
||||
LOGF("\t rid = %d\n", rid);
|
||||
|
||||
EXIT_IF(g_net == nullptr);
|
||||
if (!g_net->ResolverDestroy(rid)) {
|
||||
return NET_ERROR_EBADF;
|
||||
}
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
int KYTY_SYSV_ABI NetResolverStartNtoa(int rid, const char* hostname, void* addr, int timeout,
|
||||
int retry, int flags) {
|
||||
PRINT_NAME();
|
||||
|
||||
@@ -40,6 +40,7 @@ int KYTY_SYSV_ABI NetTerm();
|
||||
int KYTY_SYSV_ABI NetPoolCreate(const char* name, int size, int flags);
|
||||
int KYTY_SYSV_ABI NetPoolDestroy(int memid);
|
||||
int KYTY_SYSV_ABI NetResolverCreate(const char* name, int memid, int flags);
|
||||
int KYTY_SYSV_ABI NetResolverDestroy(int rid);
|
||||
int KYTY_SYSV_ABI NetResolverStartNtoa(int rid, const char* hostname, void* addr, int timeout,
|
||||
int retry, int flags);
|
||||
int KYTY_SYSV_ABI NetInetPton(int af, const char* src, void* dst);
|
||||
|
||||
Reference in New Issue
Block a user