Kernel: Support SO_TYPE and SO_KEEPALIVE getsockopt in UNIX socket
This commit is contained in:
@@ -749,12 +749,24 @@ namespace Kernel
|
|||||||
case SO_ERROR:
|
case SO_ERROR:
|
||||||
result = 0;
|
result = 0;
|
||||||
break;
|
break;
|
||||||
|
case SO_KEEPALIVE:
|
||||||
|
result = 1;
|
||||||
|
break;
|
||||||
case SO_SNDBUF:
|
case SO_SNDBUF:
|
||||||
result = m_sndbuf;
|
result = m_sndbuf;
|
||||||
break;
|
break;
|
||||||
case SO_RCVBUF:
|
case SO_RCVBUF:
|
||||||
result = m_packet_buffer->size();
|
result = m_packet_buffer->size();
|
||||||
break;
|
break;
|
||||||
|
case SO_TYPE:
|
||||||
|
switch (m_socket_type)
|
||||||
|
{
|
||||||
|
case Type::STREAM: result = SOCK_STREAM; break;
|
||||||
|
case Type::DGRAM: result = SOCK_DGRAM; break;
|
||||||
|
case Type::SEQPACKET: result = SOCK_SEQPACKET; break;
|
||||||
|
default: ASSERT_NOT_REACHED();
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
dwarnln("getsockopt(SOL_SOCKET, {})", option);
|
dwarnln("getsockopt(SOL_SOCKET, {})", option);
|
||||||
return BAN::Error::from_errno(ENOTSUP);
|
return BAN::Error::from_errno(ENOTSUP);
|
||||||
|
|||||||
Reference in New Issue
Block a user