Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ connect(2) — Ultrix-11 3.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

accept(2)

getsockname(2)

select(2)

socket(2)

connect(2)

NAME

connect − initiate a connection on a socket

SYNTAX

#include <sys/types.h>
#include <sys/socket.h>

int connect(s, name, namelen)
int s, namelen;
struct sockaddr *name;

DESCRIPTION

The argument s specifies an existing socket.  If it is of type SOCK_DGRAM, then the connect call permanently specifies the peer to which datagrams are to be sent.  If it is of type SOCK_STREAM, then the connect 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 argument in its own way. 

RETURN VALUE

If unsuccessful, returns a −1, and the global variable errno indicates the error code. 

DIAGNOSTICS

The connect call fails if:

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

[ENOTSOCK] The specified 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 is not reachable from this host. 

[EADDRINUSE] The address is already in use. 

[EFAULT] The specified name specifies an area outside the process address space. 

[EWOULDBLOCK] The socket is non-blocking, and the connection cannot be completed immediately.  It is possible to use a select call on the socket while it is connecting by selecting it for writing. 

SEE ALSO

accept(2), getsockname(2), select(2), socket(2)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026