home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mmdf / mmdf-IIb.43 / src / smtp / tcp.4.1.c < prev    next >
Encoding:
C/C++ Source or Header  |  1986-03-31  |  917 b   |  47 lines

  1. #include "util.h"
  2. #include "mmdf.h"
  3. #include "netlib.h"
  4. #include "con.h"
  5.  
  6. #define NETFILE "/dev/net/net"
  7.  
  8. /* open a tcp connect.  based on code from bbn */
  9.  
  10.  
  11. tc_uicp (addr, socket, timeout, fds)
  12.     long addr;
  13.     long socket;            /* absolute socket number       */
  14.     int timeout;            /* time to wait for open        */
  15.     Pip *fds;
  16. {
  17.     struct con openparam;
  18.     int sock;
  19.     register int fd;
  20.  
  21.     sock = socket;
  22.  
  23.     openparam.c_fcon = addr;
  24.     mkanyhost(openparam.c_lcon);
  25.  
  26.     openparam.c_lport = 0;
  27.     openparam.c_fport = sock;
  28.     openparam.c_timeo = timeout;
  29.     openparam.c_mode = (CONACT | CONTCP);
  30.     openparam.c_sbufs =
  31.     openparam.c_rbufs = 1;
  32.     openparam.c_proto = 0;
  33.  
  34.     fd = open (NETFILE, &openparam);
  35.     if (fd < 0)
  36.     return (RP_DHST);
  37.  
  38.     if (ioctl (fd, NETSETE, NULL) < 0) {
  39.     close(fd);
  40.     return (RP_LIO);
  41.     }
  42.  
  43.     fds -> pip.prd = fd;
  44.     fds -> pip.pwrt = fd;
  45.     return (RP_OK);
  46. }
  47.