home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 October / Chip_1997-10_cd.bin / tema / sybase / powerj / h.z / TIME.H < prev    next >
C/C++ Source or Header  |  1996-11-06  |  4KB  |  134 lines

  1. /*
  2.  *  time.h    Time functions
  3.  *
  4.  *  Copyright by WATCOM International Corp. 1988-1996.  All rights reserved.
  5.  */
  6. #ifndef _TIME_H_INCLUDED
  7. #define _TIME_H_INCLUDED
  8. #if !defined(_ENABLE_AUTODEPEND)
  9.   #pragma read_only_file;
  10. #endif
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14.  
  15. #ifndef _COMDEF_H_INCLUDED
  16.  #include <_comdef.h>
  17. #endif
  18.  
  19. #if defined(_M_IX86)
  20.   #pragma pack(__push,1);
  21. #else
  22.   #pragma pack(__push,8);
  23. #endif
  24.  
  25. #ifndef _WCHAR_T_DEFINED
  26. #define _WCHAR_T_DEFINED
  27. #define _WCHAR_T_DEFINED_
  28. #ifdef __cplusplus
  29. typedef long char wchar_t;
  30. #else
  31. typedef unsigned short wchar_t;
  32. #endif
  33. #endif
  34.  
  35. #ifndef _SIZE_T_DEFINED
  36. #define _SIZE_T_DEFINED
  37. #define _SIZE_T_DEFINED_
  38. typedef unsigned size_t;
  39. #endif
  40.  
  41. #ifndef NULL
  42.  #if defined(__SMALL__) || defined(__MEDIUM__) || defined(__386__) || defined(__AXP__) || defined(__PPC__)
  43.   #define NULL   0
  44.  #else
  45.   #define NULL   0L
  46.  #endif
  47. #endif
  48.  
  49. #ifndef _TIME_T_DEFINED
  50. #define _TIME_T_DEFINED
  51. #define _TIME_T_DEFINED_
  52. typedef unsigned long time_t; /* time value */
  53. #endif
  54.  
  55. #define CLK_TCK     1000
  56. #define CLOCKS_PER_SEC    1000
  57.  
  58. #ifndef _CLOCK_T_DEFINED
  59.  #define _CLOCK_T_DEFINED
  60.  typedef unsigned long    clock_t;
  61. #endif
  62.  
  63. struct    tm {
  64.     int  tm_sec;    /* seconds after the minute -- [0,61] */
  65.     int  tm_min;    /* minutes after the hour   -- [0,59] */
  66.     int  tm_hour;    /* hours after midnight     -- [0,23] */
  67.     int  tm_mday;    /* day of the month        -- [1,31] */
  68.     int  tm_mon;    /* months since January     -- [0,11] */
  69.     int  tm_year;    /* years since 1900              */
  70.     int  tm_wday;    /* days since Sunday        -- [0,6]  */
  71.     int  tm_yday;    /* days since January 1     -- [0,365]*/
  72.     int  tm_isdst;    /* Daylight Savings Time flag */
  73. };
  74.  
  75. _WCRTLINK extern char *asctime( const struct tm *__timeptr );
  76. _WCRTLINK extern clock_t clock( void );
  77. _WCRTLINK extern char *ctime( const time_t *__timer );
  78. _WMRTLINK extern double difftime( time_t __t1, time_t __t0 );
  79. _WCRTLINK extern struct tm *gmtime( const time_t *__timer );
  80. _WCRTLINK extern struct tm *localtime( const time_t *__timer );
  81. _WCRTLINK extern time_t mktime( struct tm *__timeptr );
  82. _WCRTLINK extern size_t strftime( char *__s, size_t __maxsiz, const char *__fmt,
  83.                   const struct tm *__tp );
  84. _WCRTLINK extern time_t time( time_t *__timer );
  85.  
  86. _WCRTLINK extern wchar_t *_wasctime( const struct tm * );
  87. _WCRTLINK extern wchar_t *_wctime( const time_t * );
  88. _WCRTLINK extern wchar_t *_wstrdate( wchar_t *__buf );
  89. _WCRTLINK extern wchar_t *_wstrtime( wchar_t *__buf );
  90. _WCRTLINK extern size_t    wcsftime( wchar_t *, size_t, const wchar_t *, 
  91.                      const struct tm * );
  92. _WCRTLINK extern size_t   _wstrftime_ms( wchar_t *, size_t, const char *, 
  93.                      const struct tm * );
  94.  
  95. #ifndef __cplusplus
  96. #define difftime(t1,t0) ((double)(t1)-(double)(t0))
  97. #endif
  98.  
  99. #if !defined(NO_EXT_KEYS) /* extensions enabled */
  100. _WCRTLINK extern char *_asctime( const struct tm *__timeptr, char *__buf );
  101. _WCRTLINK extern char *_ctime( const time_t *__timer, char *__buf );
  102. _WCRTLINK extern struct tm *_gmtime( const time_t *__timer, struct tm *__tmbuf );
  103. _WCRTLINK extern struct tm *_localtime( const time_t *__timer, 
  104.                     struct tm *__tmbuf );
  105. _WCRTLINK extern char *_strdate( char *__buf );
  106. _WCRTLINK extern char *_strtime( char *__buf );
  107. _WCRTLINK extern wchar_t *__wctime( const time_t *, wchar_t * );
  108. _WCRTLINK extern wchar_t *__wasctime( const struct tm *, wchar_t * );
  109. #endif
  110.  
  111. _WCRTLINK extern void tzset( void );
  112.  
  113. #if defined(__FUNCTION_DATA_ACCESS)
  114.  #define tzname (*__get_tzname_ptr())
  115. #elif defined(__SW_BR) || defined(_RTDLL) 
  116.  #define tzname tzname_br
  117. #endif
  118. _WCRTLINK extern char    *tzname[2]; /*    time zone names */
  119. #if defined(__FUNCTION_DATA_ACCESS)
  120.  #define timezone (*__get_timezone_ptr())
  121.  #define daylight (*__get_daylight_ptr())
  122. #elif defined(__SW_BR) || defined(_RTDLL) 
  123.  #define timezone timezone_br
  124.  #define daylight daylight_br
  125. #endif
  126. _WCRTLINK extern long    timezone;    /* # of seconds from GMT */
  127. _WCRTLINK extern int    daylight;    /* d.s.t. indicator */
  128.  
  129. #pragma pack(__pop);
  130. #ifdef __cplusplus
  131. };
  132. #endif
  133. #endif
  134.