accept man page on SmartOS

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

ACCEPT(3XNET)							 ACCEPT(3XNET)

NAME
       accept - accept a new connection on a socket

SYNOPSIS
       cc [ flag ... ] file ... -lxnet [ library ... ]
       #include <sys/socket.h>

       int accept(int socket, struct sockaddr *restrict address,
	    socklen_t *restrict address_len);

DESCRIPTION
       The  accept()  function	extracts  the first connection on the queue of
       pending connections, creates a new socket with  the  same  socket  type
       protocol	 and  address  family as the specified socket, and allocates a
       new file descriptor for that socket.

       The function takes the following arguments:

       socket
		      Specifies a socket that was created with	socket(3XNET),
		      has  been	 bound to an address with bind(3XNET), and has
		      issued a successful call to listen(3XNET).

       address
		      Either a null pointer, or a pointer to a sockaddr struc‐
		      ture  where the address of the connecting socket will be
		      returned.

       address_len
		      Points to a  socklen_t  which  on	 input	specifies  the
		      length of the supplied sockaddr structure, and on output
		      specifies the length of the stored address.

       If address is not a null pointer, the  address  of  the	peer  for  the
       accepted	 connection  is stored in the sockaddr structure pointed to by
       address, and the length of this address is stored in the object pointed
       to by address_len.

       If  the	actual length of the address is greater than the length of the
       supplied sockaddr structure, the stored address will be truncated.

       If the protocol permits connections by unbound clients, and the peer is
       not bound, then the value stored in the object pointed to by address is
       unspecified.

       If the listen queue is empty of connection requests and	O_NONBLOCK  is
       not  set	 on  the  file	descriptor for the socket, accept() will block
       until a connection is present. If the listen(3XNET) queue is  empty  of
       connection  requests  and  O_NONBLOCK is set on the file descriptor for
       the socket, accept() will fail and set errno to EAGAIN or EWOULDBLOCK.

       The accepted socket cannot itself accept more connections.  The	origi‐
       nal socket remains open and can accept more connections.

USAGE
       When  a connection is available, select(3C) will indicate that the file
       descriptor for the socket is ready for reading.

RETURN VALUES
       Upon successful	completion,  accept()  returns	the  nonnegative  file
       descriptor of the accepted socket.  Otherwise, −1 is returned and errno
       is set to indicate the error.

ERRORS
       The accept() function will fail if:

       EAGAIN
       EWOULDBLOCK
		       O_NONBLOCK is set for the socket file descriptor and no
		       connections are present to be accepted.

       EBADF
		       The socket argument is not a valid file descriptor.

       ECONNABORTED
		       A connection has been aborted.

       EFAULT
		       The   address  or   address_len	parameter  can	not be
		       accessed or written.

       EINTR
		       The accept() function was interrupted by a signal  that
		       was caught before a valid connection arrived.

       EINVAL
		       The socket is not accepting connections.

       EMFILE
		       OPEN_MAX	 file  descriptors  are	 currently open in the
		       calling process.

       ENFILE
		       The maximum number of file descriptors  in  the	system
		       are already open.

       ENOTSOCK
		       The socket argument does not refer to a socket.

       EOPNOTSUPP
		       The  socket  type of the specified socket does not sup‐
		       port accepting connections.

       The accept() function may fail if:

       ENOBUFS
		  No buffer space is available.

       ENOMEM
		  There was insufficient  memory  available  to	 complete  the
		  operation.

       ENOSR
		  There	 was  insufficient STREAMS resources available to com‐
		  plete the operation.

       EPROTO
		  A protocol error has occurred; for example, the STREAMS pro‐
		  tocol stack has not been initialized.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Standard	      │
       ├────────────────────┼─────────────────┤
       │MT-Level	    │ MT-Safe	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       bind(3XNET),	 connect(3XNET),     listen(3XNET),	socket(3XNET),
       attributes(5), standards(5)

				  Nov 1, 2003			 ACCEPT(3XNET)
[top]

List of man pages available for SmartOS

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