returning -1 if the host does not exist.  Otherwise is set to the
standard name of the host and a connection is  established  to  a
server residing at the well-known Internet port If the connection
succeeds, a socket in the Internet domain of type is returned  to
the  caller,  and  given  to the remote command as and If is non-
zero, then an auxiliary channel to a control process will be  set
up, and a descriptor for it will be placed in 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 sig-
nal numbers, to be forwarded to the process group of the command.
If is 0, then the (unit 2 of the remote command) will be made the
same as the and no provision is made for sending  arbitrary  sig-
nals  to  the remote process, although you may be able to get its
attention by using out-of-band data.  The protocol  is  described
in  detail  in  The  function  is  used to obtain a socket with a
privileged address bound to it.  This socket is suitable for  use
by  and  several  other functions.  Privileged Internet ports are
those in the range 0 to 1023.  Only the super-user is allowed  to
bind an address of this sort to a socket.  The and functions take
a remote host's IP address or name, respectively, two user  names
and  a  flag  indicating whether the local user's name is that of
the super-user.  Then, if the user is the super-user,  it  checks
the file.  If that lookup is not done, or is unsuccessful, the in
the local user's home directory is checked to see if the  request
for  service  is  allowed.  If this file does not exist, is not a
regular file, is owned by anyone  other  than  the  user  or  the
super-user,  or  is writeable by anyone other than the owner, the
check automatically fails.  Zero is returned if the machine  name
is listed in the file, or the host and remote user name are found
in the file; otherwise and return -1.  If the  local  domain  (as
obtained  from is the same as the remote domain, only the machine
name need be specified.  If the IP address of the remote host  is
known,  should  be  used  in preference to as it does not require
trusting the DNS server for the remote host's domain.  The  func-
tion returns a valid socket descriptor on success.  It returns -1
on error and prints a diagnostic message on the  standard  error.
The function returns a valid, bound socket descriptor on success.
It returns -1 on error with the global value set according to the
reason  for  failure.  The error code is overloaded to mean ``All
network ports in use.''  These functions appeared in