connect(2N) connect(2N)
NAME
connect - initiate a connection on a socket
SYNOPSIS
#include <sys/types.h>
#include <sys/socket.h>
connect(s, name, namelen)
int s;
struct sockaddr *name;
int namelen;
cc ... -lnet
DESCRIPTION
The parameter s is a socket. If it is of type SOCKDGRAM,
then this call permanently specifies the peer to which
datagrams are to be sent; if it is of type SOCKSTREAM, then
this call attempts to make a connection to another socket.
The other socket is specified by name which is an address in
the communications space of the socket. Each communications
space interprets the name parameter in its own way.
RETURN VALUE
If the connection or binding succeeds, then 0 is returned.
Otherwise a -1 is returned, and a more specific error code
is stored in errno.
ERRORS
The call fails if:
[EBADF] s is not a valid descriptor.
[ENOTSOCK] s is a descriptor for a file, not a
socket.
[EADDRNOTAVAIL] The specified address is not available
on this machine.
[EAFNOSUPPORT] Addresses in the specified address
family cannot be used with this socket.
[EISCONN] The socket is already connected.
[ETIMEDOUT] Connection establishment timed out
without establishing a connection.
[ECONNREFUSED] The attempt to connect was forcefully
rejected.
[ENETUNREACH] The network isn't reachable from this
host.
Page 1 (last mod. 1/14/87)
connect(2N) connect(2N)
[EADDRINUSE] The address is already in use.
[EFAULT] The name parameter specifies an area
outside the process address space.
[EWOULDBLOCK] The socket is non-blocking and the and
the connection cannot be completed
immediately. It is possible to
select(2N) the socket while it is
connecting by selecting it for writing.
LINKING
This library is accessed by specifying -lnet as the last
argument to the compile line, e.g.:
cc -o prog prog.c -lnet
SEE ALSO
accept(2N), select(2N), socket(2N), getsockname(2N).
Page 2 (last mod. 1/14/87)