Unix/Linux Go Back    


BSD 2.11 - man page for accept (bsd section 2)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


ACCEPT(2)										ACCEPT(2)

NAME
       accept - accept a connection on a socket

SYNOPSIS
       #include <sys/types.h>
       #include <sys/socket.h>

       ns = accept(s, addr, addrlen)
       int ns, s;
       struct sockaddr *addr;
       int *addrlen;

DESCRIPTION
       The  argument s is a socket that has been created with socket(2), bound to an address with
       bind(2), and is listening for connections after a listen(2).  Accept  extracts  the  first
       connection on the queue of pending connections, creates a new socket with the same proper-
       ties of s and allocates a new file descriptor, ns, for the socket.  If no pending  connec-
       tions  are  present  on	the  queue,  and the socket is not marked as non-blocking, accept
       blocks the caller until a connection is present.  If the socket is marked non-blocking and
       no  pending  connections  are  present  on the queue, accept returns an error as described
       below.  The accepted socket, ns, may not be used to accept more connections.  The original
       socket s remains open.

       The argument addr is a result parameter that is filled in with the address of the connect-
       ing entity, as known to the communications layer.  The exact format of the addr	parameter
       is  determined  by  the	domain in which the communication is occurring.  The addrlen is a
       value-result parameter; it should initially contain the amount  of  space  pointed  to  by
       addr;  on  return  it  will  contain the actual length (in bytes) of the address returned.
       This call is used with connection-based socket types, currently with SOCK_STREAM.

       It is possible to select(2) a socket for the purposes of doing an accept by  selecting  it
       for read.

RETURN VALUE
       The call returns -1 on error.  If it succeeds, it returns a non-negative integer that is a
       descriptor for the accepted socket.

ERRORS
       The accept will fail if:

       [EBADF]		   The descriptor is invalid.

       [ENOTSOCK]	   The descriptor references a file, not a socket.

       [EOPNOTSUPP]	   The referenced socket is not of type SOCK_STREAM.

       [EFAULT] 	   The addr parameter is not in a  writable  part  of  the  user  address
			   space.

       [EWOULDBLOCK]	   The socket is marked non-blocking and no connections are present to be
			   accepted.

SEE ALSO
       bind(2), connect(2), listen(2), select(2), socket(2)

4.2 Berkeley Distribution		   May 22, 1986 				ACCEPT(2)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 12:21 AM.