home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / CEREBRUM / WAT9609.ZIP / SRC / PCBUF.C < prev    next >
Text File  |  1994-11-28  |  1KB  |  70 lines

  1. #include <copyright.h>
  2. #include <wattcp.h>
  3. #include <mem.h>
  4.  
  5. int sock_rbsize( sock_type *s )
  6. {
  7.     switch( _chk_socket( s )) {
  8.     case 1 : return( tcp_MaxBufSize );
  9.     case 2 : return( tcp_MaxBufSize );
  10.      /* case 0 : */
  11.     default: return( 0 );
  12.     }
  13. }
  14.  
  15. int sock_rbused( sock_type *s )
  16. {
  17.     switch( _chk_socket( s )) {
  18.     case 1 : return( s->udp.rdatalen );
  19.     case 2 : return( s->tcp.rdatalen );
  20.      /* case 0 : */
  21.         default: return( 0 );
  22.     }
  23. }
  24.  
  25. int sock_rbleft( sock_type *s )
  26. {
  27.     switch( _chk_socket( s )) {
  28.     case 1 : return( tcp_MaxBufSize - s->udp.rdatalen );
  29.     case 2 : return( tcp_MaxBufSize - s->tcp.rdatalen );
  30.      /* case 0 : */
  31.         default: return( 0 );
  32.     }
  33. }
  34.  
  35. int sock_tbsize( sock_type *s )
  36. {
  37.     switch( _chk_socket( s )) {
  38.     case 2 : return( tcp_MaxBufSize );
  39.     default: return( 0 );
  40.     }
  41. }
  42.  
  43. int sock_tbused( sock_type *s )
  44. {
  45.     switch( _chk_socket( s )) {
  46.         case 2 : return( s->tcp.datalen );
  47.     default: return( 0 );
  48.     }
  49. }
  50.  
  51. int sock_tbleft( sock_type *s )
  52. {
  53.     switch( _chk_socket( s )) {
  54.         case 2 : return( tcp_MaxBufSize - s->tcp.datalen );
  55.     default: return( 0 );
  56.     }
  57. }
  58.  
  59. int sock_preread( sock_type *s, byte *dp, int len )
  60. {
  61.     int count;
  62.  
  63.     if ( (count = s->udp.rdatalen) < 1)    /* 0 : no data, -1 : error */
  64.     return( count );
  65.  
  66.     if ( count > len ) count = len;
  67.     movmem( s->udp.rdata, dp, count );
  68.     return( count );
  69. }
  70.