*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> accept (2)              
Title
Content
Arch
Section
 

accept(2)

Contents


NAME    [Toc]    [Back]

       accept - Accept a new connection on a socket

SYNOPSIS    [Toc]    [Back]

       #include <sys/socket.h>

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

       [XNS4.0]  The  definition  of  the  accept()  function  in
       XNS4.0 uses a size_t data type instead of  socklen_t  data
       type as specified in XNS5.0 (the previous definition).

       [Tru64  UNIX]  The  following  definition  of the accept()
       function does not conform to current standards and is supported
  only  for  compatibility  (see  standards(5)): int
       accept(
               int socket,
               struct sockaddr *address,
               int *address_len );

STANDARDS    [Toc]    [Back]

       Interfaces documented on this reference  page  conform  to
       industry standards as follows:

       accept(): XNS4.0, XNS5.0

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

PARAMETERS    [Toc]    [Back]

       Specifies a file descriptor for the socket that  was  created
  with  the  socket()  function,  has been bound to an
       address with the bind() function, and has  issued  a  successful
  call to the listen() function.  Points to a sockaddr
 structure, the format of which is determined  by  the
       domain  and  by the behavior requested for the socket. The
       sockaddr structure is an overlay for a sockaddr_in,  sockaddr_un,
   sockaddr_in6,  or  sockaddr_storage  structure,
       depending on which of the supported  address  families  is
       active.

              [Tru64  UNIX]    If  the compile-time option _SOCKADDR_LEN
 is defined before the sys/socket.h  header
              file  is  included,  the  sockaddr  structure takes
              4.4BSD behavior, with a field  for  specifying  the
              length   of  the  socket  address.  Otherwise,  the
              default 4.3BSD sockaddr structure is used, with the
              length of the socket address assumed to be 14 bytes
              or less.

              You can specify NULL to indicate that  the  address
              of the peer is not required.

              If  _SOCKADDR_LEN  is  defined, the 4.3BSD sockaddr
              structure  is  defined  with  the  name  osockaddr.
              Specifies  the  length  of  the  sockaddr structure
              pointed to by the address parameter. If the address
              parameter is NULL then this parameter is ignored.

DESCRIPTION    [Toc]    [Back]

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

       If the listen() queue is empty of connection requests, the
       accept()  function blocks a calling socket of the blocking
       type until a connection is present, or returns an [EWOULDBLOCK]
 for sockets marked nonblocking.

       The accepted socket cannot itself accept more connections.
       The original socket remains open and can accept more  connections.

NOTES    [Toc]    [Back]

       [Tru64 UNIX]  When compiled in the X/Open UNIX environment
       or the POSIX.1g socket environment, calls to the  accept()
       function  are  internally  renamed by prepending _E to the
       function name.  When  you  are  debugging  a  module  that
       includes    the    accept()   function   and   for   which
       _XOPEN_SOURCE_EXTENDED  or  _POSIX_PII_SOCKET   has   been
       defined,  use  _Eaccept to refer to the accept() call. See
       standards(5) for further information.

RETURN VALUES    [Toc]    [Back]

       Upon successful completion, the accept() function  returns
       the  nonnegative socket descriptor of the accepted socket.
       Additionally, if the address parameter was specified  then
       it  places  the address of the peer in the sockaddr structure
 pointed to by the address, and sets  the  address_len
       parameter to the length of address.  If the accept() function
 fails, a value of -1 is returned and errno is set  to
       indicate the error.

ERRORS    [Toc]    [Back]

       If the accept() function fails, errno may be set to one of
       the following values: The socket parameter is  not  valid.
       A  connection  has been aborted.  The address parameter or
       address_len parameter is inaccessible or cannot  be  written.
   The  accept()  function was interrupted by a signal
       that was caught before a valid  connection  arrived.   The
       socket  is  not accepting connections.  There are too many
       open  file  descriptors.   The  maximum  number  of   file
       descriptors  in the system are already open.  Insufficient
       resources are available in  the  system  to  complete  the
       call.   The system was unable to allocate kernel memory to
       increase the  process  descriptor  table.   The  available
       STREAMS  resources  were insufficient for the operation to
       complete.  The socket parameter refers to a  file,  not  a
       socket.   The referenced socket cannot accept connections.
       A protocol error occurred.  The socket is marked nonblocking,
 and no connections are present to be accepted.

SEE ALSO    [Toc]    [Back]

      
      
       Functions: bind(2), connect(2), listen(2), socket(2).

       Standards: standards(5).

       Network Programmer's Guide



                                                        accept(2)
[ Back ]
 Similar pages
Name OS Title
accept Linux accept a connection on a socket
accept HP-UX accept a connection on a socket
accept NetBSD accept a connection on a socket
accept IRIX accept a connection on a socket
accept OpenBSD accept a connection on a socket
accept IRIX accept a connection on a socket
accept FreeBSD accept a connection on a socket
connect IRIX initiate a connection on a socket
connect HP-UX initiate a connection on a socket
connect OpenBSD initiate a connection on a socket
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service