Comtrol eCos User Manual

Page 558

Advertising
background image

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

Advertising