On Thu, 2013-01-03 at 08:13 +0200, John Hay wrote: > > Again, no official documentation found, but I found other bug reports in > > software packages for a variety of BSD operating systems, so I think it > > should apply to any BSD derivative (including OSX). > > Doing a google of "setsockopt freebsd" and "setsockopt netbsd" point > directly to their man pages Yeah, thanks, I had already RTFM ;-) I expected something specific for IP_TOS though, given that it's always exactly an 8 bit value. > Most socket-level options utilize an int argument for optval. For > setsockopt(), the argument should be non-zero to enable a boolean option, > or zero if the option is to be disabled. SO_LINGER uses a struct linger > argument, defined in <sys/socket.h>, which specifies the desired state of > the option and the linger interval (see below). SO_SNDTIMEO and > SO_RCVTIMEO use a struct timeval argument, defined in <sys/time.h>. But you're right: "most options utilise an int" should probably be interpreted as "all options utilise an int unless otherwise specified". Andy