setsockopt man page on CentOS

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

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

PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the	 corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.

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 CentOS

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