setsockopt()

Set options associated with a socket

Synopsis:

#include <sys/types.h>
#include <sys/socket.h>

int setsockopt( int s,
                int level,
                int optname, 
                const void * optval,
                socklen_t optlen );

Arguments:

s
The file descriptor of the socket that the option is to be applied on, as returned by socket().
level
The protocol layer that the option is to be applied to. In most cases, it's a socket-level option and is indicated by SOL_SOCKET.
optname
The option for the socket file descriptor.
optval
A pointer to the value of the option. In most cases, the value indicates whether the option is to be turned on (nonzero) or off (zero).

Most socket-level options use an int parameter for optval. Others, such as the SO_LINGER, SO_SNDTIMEO, and SO_RCVTIMEO options, use structures that also let you get data associated with the option.

optlen
A pointer to the length of the value of the option. This argument is a value-result parameter; you should initialize it to indicate the size of the buffer pointed to by optval.

Library:

libsocket

Use the -l socket option to qcc to link against this library.

Description:

The setsockopt() function sets the options associated with a socket.

See getsockopt() for more detailed information.

Returns:

0
Success.
-1
An error occurred (errno is set).

Errors:

EBADF
Invalid file descriptor s.
EDOM
Value was set out of range.
EFAULT
The address pointed to by optval isn't in a valid part of the process address space.
EINVAL
No optval value was specified.
ENOPROTOOPT
The option is unknown at the level indicated.

Classification:

POSIX 1003.1

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

ICMP, IP, TCP, and UDP protocols

getsockopt(), socket()