Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getsockopt(2)

socket(2)

inet(3N)

inet(6F)

unix_ipc(6F)



     setsockopt(2)              DG/UX 4.31               setsockopt(2)



     NAME
          setsockopt - set options on sockets

     SYNOPSIS
          #include <sys/socket.h>

          int   setsockopt  (s, level, optname, optval, optlen)
          int       s;
          int       level;
          int       optname;
          char *    optval;
          int       optlen;

     PARAMETERS
          s         File descriptor of socket to set options on.

          level     Level in socket that the options apply to (e.g.
                    socket level, implementing protocol level).

          optname   Name of options to set.

          optval    Value associated with option.

          optlen    Length of option to set (bytes).

     DESCRIPTION
          The setsockopt call sets options associated with a socket.
          Options may exist at multiple protocol levels; they are
          always present at the uppermost socket level.

          When setting socket options, the caller must specify the
          level at which the option resides and the name of the
          option.  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.  See documentation for
          the domain being used.

          The parameters optval and optlen supply option values for
          setsockopt.  If no option value is to be supplied, optlen
          must be supplied as 0 and optval may be undefined.

          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 related domain
          documentation.

     ACCESS CONTROL
          Consult domain documentation for any specific restrictions
          imposed by the domain.  SOL_SOCKET has no restrictions.



     Licensed material--property of copyright holder(s)         Page 1





     setsockopt(2)              DG/UX 4.31               setsockopt(2)



     SOCKET LEVEL OPTIONS
          This is a list of the options recognized at the socket
          level:

          SO_DEBUG       Toggles debugging in the underlying protocol
                         modules.  <optval> is a pointer to on/off
                         flag <int>.

          SO_REUSEADDR   Toggles the indication that the rules used in
                         validating addresses supplied in a bind(2)
                         call shall allow reuse of local addresses.
                         <optval> is a pointer to on/off flag <int>.

          SO_KEEPALIVE   Toggles the periodic transmission of messages
                         on a connected socket.  Should the connected
                         peer fail to respond to these messages, the
                         connection is considered broken and processes
                         using the socket are notified via a SIGPIPE
                         signal.  <optval> is a pointer to on/off flag
                         <int>.

          SO_DONTROUTE   Toggles the indication that outgoing messages
                         shall bypass the standard routing facilities.
                         Instead, messages are directed to the
                         appropriate network interface according to
                         the network portion of the destination
                         address.  <optval> is a pointer to on/off
                         flag <int>.

          SO_LINGER      Controls the action taken when unsent
                         messages are queued on the socket and a
                         close(2) is performed.  If linger is set, the
                         system will block the process on close(2)
                         until all the data is sent or until the
                         linger timeout expires.  A linger timeout of
                         zero will cause the system to process the
                         close in a manner that allows the process to
                         continue as quickly as possible.  If linger
                         is reset, the system will block the process
                         on close(2) untill all the data is sent or
                         the system detects that the connection is no
                         longer viable. <optval> is a pointer to
                         <struct linger>.

          SO_BROADCAST   Toggles permission to send broadcast
                         datagrams on the socket.  <optval> is a
                         pointer to on/off flag <int>.

          SO_OOBINLINE   With protocols that support out-of-band data,
                         the option toggles the request that out-of-
                         band data be placed in the normal data input
                         queue as received; it will then be accessible



     Licensed material--property of copyright holder(s)         Page 2





     setsockopt(2)              DG/UX 4.31               setsockopt(2)



                         with recv(2) or read(2) calls without the
                         MSG_OOB flag.  <optval> is a pointer to
                         on/off flag <int>.

          SO_SNDBUF      Adjusts the normal buffer sizes allocate for
                         output buffers.  <optval> is a pointer to
                         <int> containing the size of send buffer.

          SO_RCVBUF      Adjust the normal buffer sizes allocated for
                         input buffers.  <optval> is a pointer to
                         <int> containing the size of receive buffer.

          SO_TYPE        Used only with getsockopt(2) to return the
                         type of the socket.  <optval> is a pointer to
                         <int> containing the socket type.

          SO_ERROR       Used only with getsockopt(2).  It returns any
                         pending error on the socket and clears the
                         error status.  <optval> is a pointer to <int>
                         containing <errno>.

     RETURN VALUE
          0              Completed successfully.

          -1             An error occurred.  Errno is set to indicate
                         the error.

     EXCEPTIONS
          Errno may be set to one of the following error codes:

          EBADF          The argument s is not an active valid
                         descriptor.

          ENOTSOCK       The argument s is a file, not a socket.

          ENOPROTOOPT    The option is unknown.

          EFAULT         The options are not in a valid part of the
                         process address space.

          EINVAL         Invalid argument.

          ENOBUFS        No internal buffers available.

          EOPNOTSUPP     The option is unsupported.

          EISCONN        The option is invalid while the socket is in
                         the connected state.

          EACCES         Caller has inadequate privileges to set the
                         option.  Socket privilege is based on the
                         euid of the process when the socket was



     Licensed material--property of copyright holder(s)         Page 3





     setsockopt(2)              DG/UX 4.31               setsockopt(2)



                         created.

     SEE ALSO
          getsockopt(2), socket(2), inet(3N), inet(6F), unix_ipc(6F).



















































     Licensed material--property of copyright holder(s)         Page 4



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