home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / hamradio / wattcp.zip / PCBUF.C < prev    next >
C/C++ Source or Header  |  1992-02-10  |  1KB  |  62 lines

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