Here are the functions for examining and modifying socket options. They are declared in sys/socket.h.
int getsockopt (int socket, int level, int optname, void *optval, socklen_t *optlen-ptr) ¶Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.
The getsockopt function gets information about the value of
option optname at level level for socket socket.
The option value is stored in the buffer that optval points to.
Before the call, you should supply in *optlen-ptr the
size of this buffer; on return, it contains the number of bytes of
information actually stored in the buffer.
Most options interpret the optval buffer as a single int
value.
The actual return value of getsockopt is 0 on success
and -1 on failure. The following errno error conditions
are defined:
EBADFThe socket argument is not a valid file descriptor.
ENOTSOCKThe descriptor socket is not a socket.
ENOPROTOOPTThe optname doesn’t make sense for the given level.
int setsockopt (int socket, int level, int optname, const void *optval, socklen_t optlen) ¶Preliminary: | MT-Safe | AS-Safe | AC-Safe | See POSIX Safety Concepts.
This function is used to set the socket option optname at level level for socket socket. The value of the option is passed in the buffer optval of size optlen.