Copyright (c) 1993 The Regents of the University of California.
All rights reserved.

This code is derived from software contributed to Berkeley by
Bill Jolitz.

%sccs.include.redist.roff%

@(#)externalconnect.3c 5.2 (Berkeley) 05/29/93

EXTERNALCONNECT 3 ""
NAME
externalconnect - initiate a connection to an external system or service
SYNOPSIS
#include <phonenumber.h>
#include <connect.h>

externalconnect(towhere, options, optslen) struct connectdomain *towhere; char *options; int optlen;

DESCRIPTION
Connect to an external system or service at an address specified by towhere using the options specified in options, which is of length optlen.

The parameter towhere does not necessarily need to specify a complete final addres, as in the case where an outside modem of a specific type is requested and no dialing is going to be done and all that is required is just that a line and a modem be allocated and prepared for use per options.

The parameter options points to a value-result buffer area where options are passed to the connector program and optionally returned from the connectd(8C) daemon. The buffer should be large enough to contain all expected string options that may be returned. Options within this buffer are a sequence of null-terminated strings, ending with the null string itself.

"RETURN VALUE
This call if successful returns a file descriptor to a serial port or other entity that has been connected per the above parameters, otherwise a -1 is returned, and a more specific error code is stored in errno.
"ERRORS
The call fails if:

20 [EADDRNOTAVAIL] The specified address is not available on this machine.

20 [EAFNOSUPPORT] Addresses in the specified address family cannot be used with this socket.

20 [ETIMEDOUT] Connection establishment timed out without establishing a connection.

20 [ECONNREFUSED] The attempt to connect was forcefully rejected.

SEE ALSO
connectd(8), getphonenumberbyname(3), connector(5), lines(5), ttys(5)