rexec(3N) LIBRARY FUNCTIONS rexec(3N)
NAME
rexec - return stream to a remote command
SYNOPSIS
rem = rexec(ahost, inport, user, passwd, cmd, fd2p);
char **ahost;
ushort inport;
char *user, *passwd, *cmd;
int *fd2p;
DESCRIPTION
rexec() looks up the host *ahost using gethostbyname [see
gethostent(3N)], returning -1 if the host does not exist.
Otherwise *ahost is set to the standard name of the host.
If a username and password are both specified, then these
are used to authenticate to the foreign host; otherwise the
environment and then the user's .netrc file in his home
directory are searched for appropriate information. If all
this fails, the user is prompted for the information.
The port inport specifies which well-known DARPA Internet
port to use for the connection. The protocol for connection
is described in detail in rexecd(1M).
If the call succeeds, a socket of type SOCKSTREAM is
returned to the caller, and given to the remote command as
its standard input and standard output. If fd2p is non-
zero, then a auxiliary channel to a control process will be
setup, and a descriptor for it will be placed in *fd2p. The
control process will return diagnostic output from the com-
mand (unit 2) on this channel, and will also accept bytes on
this channel as signal numbers, to be forwarded to the pro-
cess group of the command. If fd2p is 0, then the standard
error (unit 2 of the remote command) will be made the same
as its standard output and no provision is made for sending
arbitrary signals to the remote process, although you may be
able to get its attention by using out-of-band data.
SEE ALSO
gethostent(3N), getservent(3N), rcmd(3N), rexecd(1M).
NOTES
There is no way to specify options to the socket() call that
rexec() makes.
1