home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / sybase / starbuck / java.z / timeval_md.h < prev    next >
C/C++ Source or Header  |  1996-05-03  |  2KB  |  45 lines

  1. /*
  2.  * @(#)timeval_md.h    1.5 95/03/10
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19.  
  20. #ifndef    _WIN32_TIMEVAL_H_
  21. #define    _WIN32_TIMEVAL_H_
  22.  
  23. typedef struct {
  24.     long tv_sec;
  25.     long tv_usec;
  26. } timeval_t;
  27.  
  28. /*
  29.  * Operations on timevals.
  30.  *
  31.  * NB: timercmp does not work for >=, <= or ==.
  32.  */
  33. #define timerisset(tvp)         ((tvp)->tv_sec || (tvp)->tv_usec)
  34. #define timercmp(tvp, uvp, cmp) \
  35.         ((tvp)->tv_sec cmp (uvp)->tv_sec || \
  36.          (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec)
  37. #define timereq(tvp, uvp) \
  38.          ((tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec == (uvp)->tv_usec)
  39. #define timerclear(tvp)         (tvp)->tv_sec = (tvp)->tv_usec = 0
  40.  
  41. void timeradd(timeval_t*, timeval_t*);
  42. void timersub(timeval_t*, timeval_t*);
  43.  
  44. #endif /* !_WIN32_TIMEVAL_H_ */
  45.