home *** CD-ROM | disk | FTP | other *** search
/ Super Net 1 / SUPERNET_1.iso / PC / OTROS / MSDOS / WATTCP / MSWATTCP.ZIP / SRC / PCBUF.C < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-25  |  1.3 KB  |  82 lines

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