Previous: Socket Option Functions, Up: Socket Options
Use this constant as the level argument to
getsockoptorsetsockoptto manipulate the socket-level options described in this section.
Here is a table of socket-level option names; all are defined in the header file sys/socket.h.
SO_DEBUGThis option toggles recording of debugging information in the underlying
protocol modules. The value has type int; a nonzero value means
“yes”.
SO_REUSEADDRbind (see Setting Address)
should permit reuse of local addresses for this socket. If you enable
this option, you can actually have two sockets with the same Internet
port number; but the system won't allow you to use the two
identically-named sockets in a way that would confuse the Internet. The
reason for this option is that some higher-level Internet protocols,
including FTP, require you to keep reusing the same port number.
The value has type int; a nonzero value means “yes”.
SO_KEEPALIVEint; a nonzero value means
“yes”.
SO_DONTROUTEint; a nonzero
value means “yes”.
SO_LINGERstruct linger.
This structure type has the following members:
int l_onoff- This field is interpreted as a boolean. If nonzero,
closeblocks until the data are transmitted or the timeout period has expired.int l_linger- This specifies the timeout period, in seconds.
SO_BROADCASTint; a nonzero value means “yes”.
SO_OOBINLINEread or recv without specifying the MSG_OOB
flag. See Out-of-Band Data. The value has type int; a
nonzero value means “yes”.
SO_SNDBUFsize_t, which is the size in bytes.
SO_RCVBUFsize_t, which is the size in bytes.
SO_STYLESO_TYPEgetsockopt only. It is used to
get the socket's communication style. SO_TYPE is the
historical name, and SO_STYLE is the preferred name in GNU.
The value has type int and its value designates a communication
style; see Communication Styles.
SO_ERRORThis option can be used with getsockopt only. It is used to reset
the error status of the socket. The value is an int, which represents
the previous error status.