.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved. The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\" @(#)getsockopt.2 6.1 (Berkeley) %G%
getsockopt, setsockopt \- get and set options on sockets
getsockopt(s, level, optname, optval, optlen)
setsockopt(s, level, optname, optval, optlen)
associated with a socket. Options may exist at multiple
protocol levels; they are always present at the uppermost
When manipulating socket options the level at which the
option resides and the name of the option must be specified.
To manipulate options at the ``socket'' level,
is specified as SOL_SOCKET. To manipulate options at any
other level the protocol number of the appropriate protocol
controlling the option is supplied. For example,
to indicate an option is to be interpreted by the TCP protocol,
should be set to the protocol number of TCP; see
are used to access option values for
they identify a buffer in which the value for the
requested option(s) are to be returned. For
is a value-result parameter, initially containing the
size of the buffer pointed to by
and modified on return to indicate the actual size of
the value returned. If no option value is
to be supplied or returned,
and any specified options are passed uninterpreted to the appropriate
protocol module for interpretation.
contains definitions for ``socket'' level options; see
Options at other protocol levels vary in format and
name, consult the appropriate entries in (4P).
A 0 is returned if the call succeeds, \-1 if it fails.
The call succeeds unless:
The argument \fIs\fP is not a valid descriptor.
The argument \fIs\fP is a file, not a socket.
The options are not in a valid part of the
socket(2), getprotoent(3N)