rexec(3N) 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 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; it will normally be the
value returned from the call ``getservbyname("exec",
"tcp")'' (see getservent(3N)). 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
stdin and stdout. 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 command (unit 2) on this
channel, and will also accept bytes on this channel as being
UNIX® signal numbers, to be forwarded to the process group
of the command. If fd2p is 0, then the stderr (unit 2 of
the remote command) will be made the same as the stdout 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
rcmd(3N), rexecd(1M).
BUGS
There is no way to specify options to the socket call which
rexec makes.
Page 1 (last mod. 1/14/87)