Skip to main content

socket_connect

Discworld driver help

socket_connect

Name

socket_connect() - initiate a connection on a socket

Synopsis

#include <socket_errors.h>

int socket_connect( int s, string address,
string | function read_callback,
string | function write_callback );

Description

The argument `s' is a socket. `s' must be either a STREAM mode or a MUD mode socket. `address' is the address to which the socket will attempt to connect. `address' is of the form: "127.0.0.1 23"

The argument `read_callback' is the function or the name of a function for the driver to call when the socket gets data from its peer. The read callback should follow this format:

void read_callback( int fd, mixed message )

Where `fd' is the socket which received the data, and `message' is the data which was received.

The argument `write_callback' is the function or the name of a function for the driver to call when the socket is ready to be written to. The write callback should follow this format:

void write_callback( int fd )

Where fd is the socket which is ready to be written to.

socket_connect() returns EESUCCESS on success, and a negative value indicated below on error.

Errors

These errors are in <socket_errors.h>:

EEFDRANGEDescriptor out of range.
EEBADFDescriptor is invalid.
EESECURITYSecurity violation attempted.
EEMODENOTSUPPSocket mode not supported.
EEISLISTENSocket is listening.
EEISCONNSocket is already connected.
EEBADADDRProblem with address format.
EEINTRInterrupted system call.
EEADDRINUSEAddress already in use.
EEALREADYOperation already in progress.
EECONNREFUSEDConnection refused.
EECONNECTProblem with connect.

See also

socket_accept(), socket_close(), socket_create()