HP 3000 Manuals

LISTEN [ Berkeley Sockets/iX Reference Manual ] MPE/iX 5.0 Documentation


Berkeley Sockets/iX Reference Manual

LISTEN 

C Interface 

          listen(s, backlog)
          int s, backlog;

Description 

To accept connections, a socket is first created with socket, a queue for
incoming connections is specified with listen, and then connections are
accepted with accept.  The listen call applies only to unconnected
sockets of type SOCK_STREAM. Note that you cannot call listen after
accept has been called.  If the socket has not been bound to a local port
before the listen is invoked, the system automatically binds a local port
for the socket to listen on.

The listen queue is established for the socket specified by the s 
parameter, which is a socket descriptor.

The backlog parameter defines the maximum allowable length of the queue
for pending connections.  If a connection request arrives when the queue
is full, the client receives an ETIMEDOUT error.

The backlog parameter is limited (silently) to be in the range of 1 to
128.  If you specify any other value, the system automatically assigns
the closest value within range.

Return Value 

If the call is successful, 0 is returned.  If the call fails, a -1 is
returned, and an error code is stored in errno.

Errors 

The following errors are returned by listen:

[EBADF]             The argument s is not a valid descriptor.

[EDESTADDRREQ]      No bind address was established.

[ENOTSOCK]          The argument s is not a socket.

[EOPNOTSUPP]        The socket is not of a type that supports the listen
                    operation.

[ENOBUFS]           Series 300 only:  No buffer space is available.  The
                    listen call cannot be started at this time.

[EINVAL]            The socket has been shut down or is already
                    connected.

MPE/iX Specific 

The backlog limit on MPE/iX is 128 as opposed to the backlog limit of 20
on HP-UX. When an HP-UX socket has performed a listen, the incoming
connection requests are completed as they are received (up to the backlog 
limit).  When using MPE/iX, connections are completed by the call to
accept.

Author 

UCB (University of California at Berkeley)

See Also 

accept, connect, socket



MPE/iX 5.0 Documentation