home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / ncftp-2.3.0-base.tgz / ncftp-2.3.0-base.tar / contrib / ncftp / Poll.h < prev    next >
C/C++ Source or Header  |  1995-03-07  |  2KB  |  55 lines

  1. /* Poll.h */
  2.  
  3. /* We use poll/select to check for i/o in increments.
  4.  * This first one, kTimeOutLen, is how long each one of these increments
  5.  * is in seconds.  If we wait this long and i/o isn't ready yet, we
  6.  * take the opportunity to update the progress meters.
  7.  */
  8. #define kTimeOutLen 2
  9.  
  10. /* If we got kMaxConsecTimeOuts of these increments in a row, we conclude
  11.  * that the host isn't responding anymore and abort the transfer.
  12.  */
  13. #define kMaxConsecTimeOuts (gNetworkTimeout / kTimeOutLen)
  14.  
  15. #if !defined (XFER_USE_SELECT) && !defined (XFER_USE_POLL)
  16. #    if defined(HAVE_SELECT) && !defined(HAVE_POLL)
  17. #        define XFER_USE_SELECT 1
  18. #    endif
  19. #    if !defined(HAVE_SELECT) && defined(HAVE_POLL)
  20. #        define XFER_USE_POLL 1
  21. #    endif
  22. #    if defined(HAVE_SELECT) && defined(HAVE_POLL)
  23.     /* Supposedly poll() is faster on System V.  But poll() didn't work
  24.      * with non-STREAMS descriptors until System V.4.
  25.      */
  26. #        if defined(SVR4) || defined(__svr4__)
  27. #            define XFER_USE_POLL 1
  28. #        else
  29. #            define XFER_USE_SELECT 1
  30. #        endif
  31. #    endif
  32. #    if !defined(HAVE_SELECT) && !defined(HAVE_POLL)
  33.         /* Didn't detect select() or poll().
  34.          * You must have at least one of them, so hope they really have
  35.          * select(), which is the older and more supported one.
  36.          */
  37. #        define XFER_USE_SELECT 1
  38. #    endif
  39. #endif
  40.  
  41. /* You can define this symbol to add gobs of debugging stuff to the trace.
  42.  * This works for both the select and poll portions.
  43.  */
  44. #ifndef POLL_LOG
  45. #    define POLL_LOG 0
  46. #endif
  47.  
  48. #ifndef _xfer_h_
  49. #    include "Xfer.h"
  50. #endif
  51.  
  52. void InitPoll(XferSpecPtr);
  53. int PollRead(XferSpecPtr);
  54. int PollWrite(XferSpecPtr);
  55.