From 943cedf784ca021e80067dc978c09a5f31c0e44a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Thu, 10 Aug 2006 18:04:38 +0000 Subject: [PATCH] setsockopt() now understands all boolead options. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18475 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/network/stack/net_socket.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/add-ons/kernel/network/stack/net_socket.cpp b/src/add-ons/kernel/network/stack/net_socket.cpp index 0000a9e7ac..a5745ec650 100644 --- a/src/add-ons/kernel/network/stack/net_socket.cpp +++ b/src/add-ons/kernel/network/stack/net_socket.cpp @@ -478,6 +478,23 @@ socket_setsockopt(net_socket *socket, int level, int option, const void *value, socket->receive.buffer_size = *(const uint32 *)value; return B_OK; + case SO_BROADCAST: + case SO_DEBUG: + case SO_DONTROUTE: + case SO_KEEPALIVE: + case SO_OOBINLINE: + case SO_REUSEADDR: + case SO_REUSEPORT: + case SO_USELOOPBACK: + if (length != sizeof(int32)) + return B_BAD_VALUE; + + if (*(const int32 *)value) + socket->options |= option; + else + socket->options &= ~option; + return B_OK; + default: break; }