diff --git a/kernel/kernel/Networking/UNIX/Socket.cpp b/kernel/kernel/Networking/UNIX/Socket.cpp index d1ee526a..8162f0db 100644 --- a/kernel/kernel/Networking/UNIX/Socket.cpp +++ b/kernel/kernel/Networking/UNIX/Socket.cpp @@ -749,12 +749,24 @@ namespace Kernel case SO_ERROR: result = 0; break; + case SO_KEEPALIVE: + result = 1; + break; case SO_SNDBUF: result = m_sndbuf; break; case SO_RCVBUF: result = m_packet_buffer->size(); 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: dwarnln("getsockopt(SOL_SOCKET, {})", option); return BAN::Error::from_errno(ENOTSUP);