home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / PPPBCKP / SRC / SRC20A01.ZIP / WATTSRC.ZIP / SELECT.C < prev    next >
Text File  |  1994-11-28  |  886b  |  28 lines

  1. #include <copyright.h>
  2. #include <wattcp.h>
  3.  
  4. /*
  5.  * sock_sselect - returns one of several constants indicating
  6.  *                SOCKESTABLISHED - tcp connection has been established
  7.  *                SOCKDATAREAY    - tcp/udp data ready for reading
  8.  *                SOCKCLOSED      - socket has been closed
  9.  */
  10.  
  11. int sock_sselect( sock_type *s, int waitstate )
  12. {
  13.     /* are we connected ? */
  14.     if ( waitstate == SOCKDATAREADY )
  15.         if ( s->tcp.rdatalen ) return( SOCKDATAREADY );
  16.     if ( s->tcp.ip_type == 0 ) return( SOCKCLOSED );
  17.     if ( waitstate == SOCKESTABLISHED ) {
  18.         if ( s->tcp.ip_type == UDP_PROTO ) return( SOCKESTABLISHED );
  19.         if ( s->tcp.state == tcp_StateESTAB ||
  20.              s->tcp.state == tcp_StateESTCL ||
  21.              s->tcp.state == tcp_StateCLOSWT )
  22.              return( SOCKESTABLISHED );
  23.  
  24.     }
  25.     return( 0 );
  26. }
  27.  
  28.