mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 03:25:16 +00:00
Convert endianess before passing buffers to setsockopt.
This commit is contained in:
parent
634c411946
commit
4558f93f92
1 changed files with 23 additions and 23 deletions
|
@ -581,7 +581,7 @@ namespace sys_net
|
|||
#ifdef _WIN32
|
||||
case OP_SO_NBIO:
|
||||
{
|
||||
unsigned long mode = *(unsigned long*)optval.get_ptr();
|
||||
u_long mode = *static_cast<const be_t<u32>*>(optval.get_ptr());
|
||||
ret = ioctlsocket(sock->s, FIONBIO, &mode);
|
||||
break;
|
||||
}
|
||||
|
@ -606,38 +606,38 @@ namespace sys_net
|
|||
#endif
|
||||
case OP_SO_SNDBUF:
|
||||
{
|
||||
u32 sendbuff = *(u32*)optval.get_ptr();
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_SNDBUF, (const char*)&sendbuff, sizeof(sendbuff));
|
||||
const u32 param = *static_cast<const be_t<u32>*>(optval.get_ptr());
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_SNDBUF, (const char*)¶m, sizeof(param));
|
||||
break;
|
||||
}
|
||||
case OP_SO_RCVBUF:
|
||||
{
|
||||
u32 recvbuff = *(u32*)optval.get_ptr();
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_RCVBUF, (const char*)&recvbuff, sizeof(recvbuff));
|
||||
const u32 param = *static_cast<const be_t<u32>*>(optval.get_ptr());
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_RCVBUF, (const char*)¶m, sizeof(param));
|
||||
break;
|
||||
}
|
||||
case OP_SO_SNDTIMEO:
|
||||
{
|
||||
u32 sendtimeout = *(u32*)optval.get_ptr();
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_SNDTIMEO, (char*)&sendtimeout, sizeof(sendtimeout));
|
||||
const u32 param = *static_cast<const be_t<u32>*>(optval.get_ptr());
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_SNDTIMEO, (const char*)¶m, sizeof(param));
|
||||
break;
|
||||
}
|
||||
case OP_SO_RCVTIMEO:
|
||||
{
|
||||
u32 recvtimeout = *(u32*)optval.get_ptr();
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_RCVTIMEO, (char*)&recvtimeout, sizeof(recvtimeout));
|
||||
const u32 param = *static_cast<const be_t<u32>*>(optval.get_ptr());
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_RCVTIMEO, (const char*)¶m, sizeof(param));
|
||||
break;
|
||||
}
|
||||
case OP_SO_SNDLOWAT:
|
||||
{
|
||||
u32 sendlowmark = *(u32*)optval.get_ptr();
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_SNDLOWAT, (char*)&sendlowmark, sizeof(sendlowmark));
|
||||
const u32 param = *static_cast<const be_t<u32>*>(optval.get_ptr());
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_SNDLOWAT, (const char*)¶m, sizeof(param));
|
||||
break;
|
||||
}
|
||||
case OP_SO_RCVLOWAT:
|
||||
{
|
||||
u32 recvlowmark = *(u32*)optval.get_ptr();
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_RCVLOWAT, (char*)&recvlowmark, sizeof(recvlowmark));
|
||||
const u32 param = *static_cast<const be_t<u32>*>(optval.get_ptr());
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_RCVLOWAT, (const char*)¶m, sizeof(param));
|
||||
break;
|
||||
}
|
||||
case OP_SO_USECRYPTO:
|
||||
|
@ -654,14 +654,14 @@ namespace sys_net
|
|||
}
|
||||
case OP_SO_BROADCAST:
|
||||
{
|
||||
u32 enablebroadcast = *(u32*)optval.get_ptr();
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_BROADCAST, (char*)&enablebroadcast, sizeof(enablebroadcast));
|
||||
const u32 param = *static_cast<const be_t<u32>*>(optval.get_ptr());
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_BROADCAST, (const char*)¶m, sizeof(param));
|
||||
break;
|
||||
}
|
||||
case OP_SO_REUSEADDR:
|
||||
{
|
||||
u32 reuseaddr = *(u32*)optval.get_ptr();
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_REUSEADDR, (char*)&reuseaddr, sizeof(reuseaddr));
|
||||
const u32 param = *static_cast<const be_t<u32>*>(optval.get_ptr());
|
||||
ret = ::setsockopt(sock->s, SOL_SOCKET, SO_REUSEADDR, (const char*)¶m, sizeof(param));
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@ -675,11 +675,11 @@ namespace sys_net
|
|||
case OP_TCP_NODELAY:
|
||||
{
|
||||
#ifdef _WIN32
|
||||
const char delay = *(char*)optval.get_ptr();
|
||||
ret = ::setsockopt(sock->s, IPPROTO_TCP, TCP_NODELAY, &delay, sizeof(delay));
|
||||
const u32 param = *static_cast<const be_t<u32>*>(optval.get_ptr());
|
||||
ret = ::setsockopt(sock->s, IPPROTO_TCP, TCP_NODELAY, (const char*)¶m, sizeof(param));
|
||||
#else
|
||||
u32 delay = *(u32*)optval.get_ptr();
|
||||
ret = ::setsockopt(sock->s, IPPROTO_TCP, TCP_NODELAY, &delay, optlen);
|
||||
const u32 param = *static_cast<const be_t<u32>*>(optval.get_ptr());
|
||||
ret = ::setsockopt(sock->s, IPPROTO_TCP, TCP_NODELAY, (const char*)¶m, sizeof(param));
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
@ -689,8 +689,8 @@ namespace sys_net
|
|||
#ifdef _WIN32
|
||||
libnet.warning("TCP_MAXSEG can't be set on Windows.");
|
||||
#else
|
||||
u32 maxseg = *(u32*)optval.get_ptr();
|
||||
ret = ::setsockopt(sock->s, IPPROTO_TCP, TCP_MAXSEG, &maxseg, optlen);
|
||||
const u32 param = *static_cast<const be_t<u32>*>(optval.get_ptr());
|
||||
ret = ::setsockopt(sock->s, IPPROTO_TCP, TCP_MAXSEG, (const char*)¶m, sizeof(param));
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue