setsockopt man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]

SETSOCKOPT(P)		   POSIX Programmer's Manual		 SETSOCKOPT(P)

NAME
       setsockopt - set the socket options

SYNOPSIS
       #include <sys/socket.h>

       int setsockopt(int socket, int level, int option_name,
	      const void *option_value, socklen_t option_len);

DESCRIPTION
       The  setsockopt()  function  shall  set	the  option  specified	by the
       option_name argument, at the protocol  level  specified	by  the	 level
       argument,  to the value pointed to by the option_value argument for the
       socket associated with the file	descriptor  specified  by  the	socket
       argument.

       The  level  argument  specifies	the protocol level at which the option
       resides. To set options at the socket level, specify the level argument
       as  SOL_SOCKET.	To set options at other levels, supply the appropriate
       level identifier for the protocol controlling the option. For  example,
       to indicate that an option is interpreted by the TCP (Transport Control
       Protocol), set level to IPPROTO_TCP as defined  in  the	<netinet/in.h>
       header.

       The  option_name	 argument  specifies  a	 single	 option	 to  set.  The
       option_name argument and any specified options are passed uninterpreted
       to   the	  appropriate	protocol   module  for	interpretations.   The
       <sys/socket.h> header defines the socket-level  options.	  The  options
       are as follows:

       SO_DEBUG
	      Turns on recording of debugging information. This option enables
	      or disables debugging in the underlying protocol	modules.  This
	      option takes an int value. This is a Boolean option.

       SO_BROADCAST
	      Permits  sending	of broadcast messages, if this is supported by
	      the protocol. This option takes an int value. This is a  Boolean
	      option.

       SO_REUSEADDR
	      Specifies	 that  the rules used in validating addresses supplied
	      to bind() should allow reuse of local addresses, if this is sup‐
	      ported by the protocol.  This option takes an int value. This is
	      a Boolean option.

       SO_KEEPALIVE
	      Keeps connections active by enabling the	periodic  transmission
	      of  messages,  if this is supported by the protocol. This option
	      takes an int value.

       If the connected socket fails to respond to these messages, the connec‐
       tion  is	 broken and threads writing to that socket are notified with a
       SIGPIPE signal. This is a Boolean option.

       SO_LINGER
	      Lingers on a close() if data is present.	This  option  controls
	      the  action  taken  when	unsent	messages queue on a socket and
	      close() is performed.  If SO_LINGER is  set,  the	 system	 shall
	      block  the process during close() until it can transmit the data
	      or until the time expires. If SO_LINGER is  not  specified,  and
	      close()  is  issued,  the	 system handles the call in a way that
	      allows the process to continue  as  quickly  as  possible.  This
	      option   takes   a   linger   structure,	 as   defined  in  the
	      <sys/socket.h> header, to specify the state of  the  option  and
	      linger interval.

       SO_OOBINLINE
	      Leaves  received	out-of-band  data (data marked urgent) inline.
	      This option takes an int value. This is a Boolean option.

       SO_SNDBUF
	      Sets send buffer size. This option takes an int value.

       SO_RCVBUF
	      Sets receive buffer size. This option takes an int value.

       SO_DONTROUTE
	      Requests that outgoing  messages	bypass	the  standard  routing
	      facilities.   The	 destination  shall be on a directly-connected
	      network, and messages are directed to  the  appropriate  network
	      interface	 according  to the destination address. The effect, if
	      any, of this option depends on what protocol  is	in  use.  This
	      option takes an int value. This is a Boolean option.

       SO_RCVLOWAT
	      Sets  the	 minimum  number  of bytes to process for socket input
	      operations.   The	 default  value	 for  SO_RCVLOWAT  is  1.   If
	      SO_RCVLOWAT  is  set  to	a larger value, blocking receive calls
	      normally wait until they have received the smaller  of  the  low
	      water  mark value or the requested amount. (They may return less
	      than the low water mark if an error occurs, a signal is  caught,
	      or  the type of data next in the receive queue is different from
	      that returned; for example, out-of-band data.) This option takes
	      an  int  value.	Note  that  not all implementations allow this
	      option to be set.

       SO_RCVTIMEO
	      Sets the timeout value that specifies the maximum amount of time
	      an input function waits until it completes. It accepts a timeval
	      structure with the number of seconds and microseconds specifying
	      the  limit  on  how  long to wait for an input operation to com‐
	      plete. If a receive operation has blocked	 for  this  much  time
	      without  receiving  additional data, it shall return with a par‐
	      tial count or errno set to [EAGAIN] or [EWOULDBLOCK] if no  data
	      is  received.  The  default for this option is zero, which indi‐
	      cates that a receive operation shall not time out.  This	option
	      takes  a	timeval	 structure.  Note that not all implementations
	      allow this option to be set.

       SO_SNDLOWAT
	      Sets the minimum number of bytes to process  for	socket	output
	      operations.   Non-blocking  output  operations  shall process no
	      data if flow control does not allow the smaller of the send  low
	      water  mark  value  or  the entire request to be processed. This
	      option takes an int value. Note  that  not  all  implementations
	      allow this option to be set.

       SO_SNDTIMEO
	      Sets  the	 timeout  value	 specifying the amount of time that an
	      output function blocks because flow control prevents  data  from
	      being  sent.  If	a send operation has blocked for this time, it
	      shall return with a partial count or with errno set to  [EAGAIN]
	      or [EWOULDBLOCK] if no data is sent. The default for this option
	      is zero, which indicates that a send operation  shall  not  time
	      out.  This  option stores a timeval structure. Note that not all
	      implementations allow this option to be set.

       For Boolean options, 0 indicates that the  option  is  disabled	and  1
       indicates that the option is enabled.

       Options at other protocol levels vary in format and name.

RETURN VALUE
       Upon  successful completion, setsockopt() shall return 0. Otherwise, -1
       shall be returned and errno set to indicate the error.

ERRORS
       The setsockopt() function shall fail if:

       EBADF  The socket argument is not a valid file descriptor.

       EDOM   The send and receive timeout values are too big to fit into  the
	      timeout fields in the socket structure.

       EINVAL The specified option is invalid at the specified socket level or
	      the socket has been shut down.

       EISCONN
	      The socket is already connected, and a specified	option	cannot
	      be set while the socket is connected.

       ENOPROTOOPT

	      The option is not supported by the protocol.

       ENOTSOCK
	      The socket argument does not refer to a socket.

       The setsockopt() function may fail if:

       ENOMEM There  was  insufficient	memory	available for the operation to
	      complete.

       ENOBUFS
	      Insufficient resources are available in the system  to  complete
	      the call.

       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       The  setsockopt()  function  provides  an  application program with the
       means to control socket behavior. An application program can  use  set‐
       sockopt()  to allocate buffer space, control timeouts, or permit socket
       data broadcasts. The <sys/socket.h>  header  defines  the  socket-level
       options available to setsockopt().

       Options	may  exist  at	multiple  protocol levels. The SO_ options are
       always present at the uppermost socket level.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       Sockets , bind() , endprotoent() , getsockopt() , socket() ,  the  Base
       Definitions    volume	of    IEEE Std 1003.1-2001,    <netinet/in.h>,
       <sys/socket.h>

COPYRIGHT
       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),	The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the	referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group		     2003			 SETSOCKOPT(P)
[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net