From c223f74ce53a6195752d3d552ea945df06396401 Mon Sep 17 00:00:00 2001 From: Christian Helmuth Date: Tue, 6 Jun 2017 17:36:33 +0200 Subject: [PATCH] libc: support getsockopt(SO_TYPE) --- repos/libports/src/lib/libc/socket_fs_plugin.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/repos/libports/src/lib/libc/socket_fs_plugin.cc b/repos/libports/src/lib/libc/socket_fs_plugin.cc index 22a52ff2c1..9b26266049 100644 --- a/repos/libports/src/lib/libc/socket_fs_plugin.cc +++ b/repos/libports/src/lib/libc/socket_fs_plugin.cc @@ -677,6 +677,12 @@ extern "C" int socket_fs_getsockopt(int libc_fd, int level, int optname, Genode::log("getsockopt: SO_ERROR not yet implemented - return true"); *(int *)optval = 0; return 0; + case SO_TYPE: + switch (context->proto()) { + case Socket_fs::Context::Proto::UDP: *(int *)optval = SOCK_DGRAM; break; + case Socket_fs::Context::Proto::TCP: *(int *)optval = SOCK_STREAM; break; + } + return 0; default: return Errno(ENOPROTOOPT); }