mirror of
https://github.com/EchoStretch/kstuff.git
synced 2026-10-22 19:52:21 -05:00
Added multiple port support on bgft
This commit is contained in:
1 parent
7bac04ce78
commit
b2012aa1d2
1 file changed
+12
-5
+12
-5
@@ -77,6 +77,9 @@ int main(int argc, const char** argv)
|
||||
}
|
||||
in_addr_t ps4_ip = 0;
|
||||
int interactive = 0;
|
||||
int binloader_ports[3] = { 9021, 9020, 9090 };
|
||||
int binloader_idx = 0;
|
||||
|
||||
if(argv[2])
|
||||
ps4_ip = inet_addr(argv[2]);
|
||||
else
|
||||
@@ -118,19 +121,23 @@ int main(int argc, const char** argv)
|
||||
struct sockaddr_in connect_addr = {
|
||||
.sin_family = AF_INET,
|
||||
.sin_addr = {.s_addr = ps4_ip},
|
||||
.sin_port = htons(9021)
|
||||
.sin_port = htons(binloader_ports[binloader_idx])
|
||||
};
|
||||
retry_connect:;
|
||||
SOCKET connect_sock = socket(AF_INET, SOCK_STREAM, 0);
|
||||
if(connect_sock == INVALID_SOCKET)
|
||||
fail(closesocket(accept_sock), "Could not create socket");
|
||||
printf("Trying to connect to port %d...\n", binloader_ports[binloader_idx]);
|
||||
if(connect(connect_sock, (struct sockaddr*)&connect_addr, sizeof(connect_addr)))
|
||||
{
|
||||
if(ERRNO == ECONNREFUSED && connect_addr.sin_port == htons(9021))
|
||||
if(ERRNO == ECONNREFUSED && connect_addr.sin_port == htons(binloader_ports[binloader_idx]))
|
||||
{
|
||||
connect_addr.sin_port = htons(9020);
|
||||
closesocket(connect_sock);
|
||||
goto retry_connect;
|
||||
binloader_idx++;
|
||||
if (binloader_idx < sizeof(binloader_ports) / sizeof(int)) {
|
||||
connect_addr.sin_port = htons(binloader_ports[binloader_idx]);
|
||||
closesocket(connect_sock);
|
||||
goto retry_connect;
|
||||
}
|
||||
}
|
||||
fail(fclose(pkg); closesocket(accept_sock); closesocket(connect_sock), "Could not connect to PS4");
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user