Skip to content

Commit 091b671

Browse files
author
raven02
authored
sys_net: set other options using setockopt() (#1815)
* sys_net: set other options using setockopt() * typo fix * Typo fix #2
1 parent d0442e1 commit 091b671

File tree

1 file changed

+37
-2
lines changed

1 file changed

+37
-2
lines changed

rpcs3/Emu/Cell/Modules/sys_net.cpp

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,42 @@ namespace sys_net
514514
ret = ioctlsocket(sock->s, FIONBIO, &mode);
515515
break;
516516
}
517-
517+
case OP_SO_SNDBUF:
518+
{
519+
u32 sendbuff = *(u32*)optval.get_ptr();
520+
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_SNDBUF, (const char*)&sendbuff, sizeof(sendbuff));
521+
break;
522+
}
523+
case OP_SO_RCVBUF:
524+
{
525+
u32 recvbuff = *(u32*)optval.get_ptr();
526+
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_RCVBUF, (const char*)&recvbuff, sizeof(recvbuff));
527+
break;
528+
}
529+
case OP_SO_SNDTIMEO:
530+
{
531+
u32 sendtimeout = *(u32*)optval.get_ptr();
532+
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_SNDTIMEO, (char*)&sendtimeout, sizeof(sendtimeout));
533+
break;
534+
}
535+
case OP_SO_RCVTIMEO:
536+
{
537+
u32 recvtimeout = *(u32*)optval.get_ptr();
538+
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_RCVTIMEO, (char*)&recvtimeout, sizeof(recvtimeout));
539+
break;
540+
}
541+
case OP_SO_SNDLOWAT:
542+
{
543+
u32 sendlowmark = *(u32*)optval.get_ptr();
544+
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_SNDLOWAT, (char*)&sendlowmark, sizeof(sendlowmark));
545+
break;
546+
}
547+
case OP_SO_RCVLOWAT:
548+
{
549+
u32 recvlowmark = *(u32*)optval.get_ptr();
550+
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_RCVLOWAT, (char*)&recvlowmark, sizeof(recvlowmark));
551+
break;
552+
}
518553
default:
519554
throw EXCEPTION("Unknown socket option for Win32: 0x%x", optname);
520555
}
@@ -586,7 +621,7 @@ namespace sys_net
586621
}
587622

588623
default:
589-
throw EXCEPTION("Unknown TCP option for Win32: 0x%x", optname);
624+
throw EXCEPTION("Unknown TCP option for Unix: 0x%x", optname);
590625
}
591626
}
592627
#endif

0 commit comments

Comments
 (0)