Comtrol eCos User Manual
Page 558

Chapter 38. TCP/IP Library Reference
#include
<
sys/types.h>
#include
<
sys/socket.h>
int
connect(int s, const struct sockaddr *name, socklen_t namelen);
DESCRIPTION
The parameter s is a socket.
If it is of type SOCK_DGRAM, this call
specifies the peer with which the socket is to be associated; this
address is that to which datagrams are to be sent, and the only address
from which datagrams are to be received.
If the socket is of type
SOCK_STREAM, this call attempts to make a connection to another socket.
The other socket is specified by name, which is an address in the commu-
nications space of the socket.
Each communications space interprets the
name parameter in its own way.
Generally, stream sockets may success-
fully connect() only once; datagram sockets may use connect() multiple
times to change their association.
Datagram sockets may dissolve the
association by connecting to an invalid address, such as a null address.
RETURN VALUES
If the connection or binding succeeds, 0 is returned.
Otherwise a -1 is
returned, and a more specific error code is stored in errno.
ERRORS
The connect() 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 establish-
ing a connection.
[EINVAL]
A TCP connection with a local broadcast, the all-ones
or a multicast address as the peer was attempted.
[ECONNREFUSED]
The attempt to connect was forcefully rejected.
[EINTR]
A connect was interrupted before it succeeded by the
delivery of a signal.
[ENETUNREACH]
The network isn’t reachable from this host.
[EADDRINUSE]
The address is already in use.
[EFAULT]
The name parameter specifies an area outside the pro-
cess address space.
454