Set options associated with a socket
#include <sys/types.h>
#include <sys/socket.h>
int setsockopt( int s,
int level,
int optname,
const void * optval,
socklen_t optlen );
- 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.
libsocket
Use the -l socket option to
qcc
to link against this library.
The setsockopt() function sets the options associated with a socket.
See
getsockopt()
for more detailed information.
- 0
- Success.
- -1
- An error occurred (errno is set).
- 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.
POSIX 1003.1
Safety: | |
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
No |
Thread |
Yes |
ICMP,
IP,
TCP, and
UDP protocols
getsockopt(),
socket()