GETSOCKOPT(2) Series 300 Only GETSOCKOPT(2)
NAME
getsockopt, setsockopt - get and set options on sockets
SYNOPSIS
#include <sys/types.h>
#include <sys/socket.h>
getsockopt(s, level, optname, optval, optlen)
int s, level, optname;
char *optval;
int *optlen;
setsockopt(s, level, optname, optval, optlen)
int s, level, optname;
char *optval;
int optlen;
HP-UX/COMPATIBILITY
Level: HP-UX/NON-STANDARD
Origin: UCB
Remarks: Implemented on the Series 300 only.
DESCRIPTION
Getsockopt and setsockopt manipulate options associated with
a socket (which is identified by the socket descriptor s).
Options may exist at multiple protocol levels; they are
always present at the uppermost ``socket'' level. See
socket(2).
When manipulating socket options, the level at which the
option resides (level) and the name of the option (optname)
must be specified. To manipulate options at the ``socket''
level, 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, level should be set to the protocol number of
TCP; see getprotoent(3N).
The parameters optval and optlen are used to access option
values for setsockopt. For getsockopt they identify a
buffer in which the value for the requested option is to be
returned. For getsockopt, optlen is a value-result
parameter, initially containing the size of the buffer
pointed to by optval, and modified on return to indicate the
actual size of the value returned. If no option value is to
be supplied or returned, optval may be supplied as 0. If
optval is not 0, but the named option does not have a value
associated with it, then optlen will be returned as 0. If
the memory pointed to by optval is not large enough to
Hewlett-Packard - 1 - (printed 7/16/86)
GETSOCKOPT(2) Series 300 Only GETSOCKOPT(2)
contain the entire option value, then only the first optlen
bytes of the value will be returned.
To determine whether or not an option is set, the return
value of getsockopt must be examined. If the option is set,
then getsockopt returns without error (i.e., it returns 0),
and any option value is returned as described above. If the
option is not set, then getsockopt will return -1, and errno
will be set to the ENOPROTOOPT error.
The call to getsockopt or setsockopt will fail if:
[EBADF] The argument s is not a valid
descriptor.
[ENOTSOCK] The argument s is a file, not a socket.
[ENOPROTOOPT] In getsockopt, the requested option is
currently not set.
[EINVAL] The option is unknown at the specified
protocol level, or the socket has been
shut down.
[ENET] A hardware error is detected on the
interface card.
[EFAULT] The optval or, in the case of
getsockopt, optlen parameters are not
valid pointers.
Optname and any specified options are passed uninterpreted
to the appropriate protocol module for interpretation. The
include file <sys/socket.h> contains definitions for
``socket'' level options; see socket(2). Options at other
protocol levels vary in format and name, consult the
appropriate entries in (4P), e.g. tcp(4P).
RETURN VALUE
A 0 is returned if the call succeeds, -1 if it fails.
SEE ALSO
socket(2), getprotoent(3N), tcp(4P).
Hewlett-Packard - 2 - (printed 7/16/86)