Here are the functions for examining and modifying socket options. They are declared in `sys/socket.h'.
getsockopt function gets information about the value of option optname at level level for socket socket.
The option value is stored in a 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:
EBADF
ENOTSOCK
ENOPROTOOPT
The return value and error codes for setsockopt are the same as for getsockopt .