Kernel: Support SO_TYPE and SO_KEEPALIVE getsockopt in UNIX socket

This commit is contained in:
2026-06-26 01:44:03 +03:00
parent 58aff97c28
commit 7bf7de44d2

View File

@@ -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);