Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getsockopt(2) — HP-UX 5.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

socket(2)

getprotoent(3N)

tcp(4P)

     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)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026