timeP.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:3k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* timeP.h - private time header file */
  2. /* Copyright 1992-1996 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01e,06sep96,dbt  modified comment concerning TM_YEAR_BASE, removed
  7.                  TM_YEAR_FINAL define (SPR #5865).
  8. 01d,17aug93,dvs  changed TIME to TIMEO to fix conficting defines (SPR #2249)
  9. 01c,22sep92,rrr  added support for c++
  10. 01b,25jul92,smb  modification for the time library
  11. 01a,08jul92,smb  created.
  12. */
  13. #include "time.h"
  14. #ifndef __INCtimePh
  15. #define __INCtimePh
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. #define SECSPERMIN      60 /* Seconds per minute */
  20. #define MINSPERHOUR     60 /* minutes per hour */
  21. #define HOURSPERDAY     24 /* hours per day */
  22. #define DAYSPERWEEK     7 /* days per week */
  23. #define MONSPERYEAR     12 /* months per year */
  24. #define SECSPERHOUR     (SECSPERMIN * MINSPERHOUR)
  25. #define SECSPERDAY      ((long) SECSPERHOUR * HOURSPERDAY)
  26. #define DAYSPERYEAR   365 /* days per non-leap year */
  27. #define CENTURY         100 /* years per century */
  28. #define TM_THURSDAY 4 /* Thursday is the fourth day of the week */
  29. #define TM_SUNDAY 0 /* Sunday is the zeroth day of the week */
  30. #define TM_MONDAY 1 /* Monday is the first day of the week */
  31. #define EPOCH_WDAY      TM_THURSDAY
  32. #define EPOCH_YEAR      1970
  33. #define TM_YEAR_BASE    1900 /* There is NO NEED to change this define */
  34. /* after the year 2000! */
  35. #define ABBR 1 /* Abbrivations only */
  36. #define FULL 0 /* Full names */
  37. /* Buffer used for asctime */
  38. #define ASCBUF          "Day Mon dd hh:mm:ss yyyyn"
  39. #define MaxBufferSize   25
  40. /* ZONE and Day light saving definitions */
  41. #define ZONEBUFFER      "UTC:UTC:000:ddmmhh:ddmmhh"
  42. #define NAME 0 /* zone name offset */
  43. #define NAME2 1 /* zone name offset */
  44. #define TIMEOFFSET    2 /* time difference offset */
  45. #define DSTON 0 /* Day light saving on  */
  46. #define DSTOFF 1 /* Day light saving off */
  47. /* LOCALE definitions */
  48. #define DATETIME 0 /* used with time locale, don't change!  */
  49. #define DATE    1 /* Date offset in locale structure */
  50. #define TIMEO   2 /* Time offset in locale structure */
  51. #define AMPM    3 /* AM/PM offset in locale structure */
  52. #define ZONE    4 /* Zone offset in locale structure */
  53. #define DST    5 /* DST offset in locale structure */
  54. typedef struct __timeLocale
  55.     {
  56.     char *_Days[14];
  57.     char *_Months[24];
  58.     char *_Format[3];
  59.     char *_Ampm[2];
  60.     char *_Zone[3];
  61.     char *_Isdst[2];
  62.     } TIMELOCALE;
  63. #define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)
  64. #define EOS ''
  65. #if defined(__STDC__) || defined(__cplusplus)
  66. extern int  __daysSinceEpoch (int, int);
  67. extern int  __julday (int, int, int);
  68. extern int  __getTime (const time_t , struct tm *);
  69. extern int  __getDstInfo (struct tm *, TIMELOCALE *);
  70. extern void __getZoneInfo (char *, int, TIMELOCALE *);
  71. #else /* __STDC__ */
  72. extern int  __daysSinceEpoch ();
  73. extern int  __julday ();
  74. extern int  __getTime ();
  75. extern int  __getDstInfo ();
  76. extern void __getZoneInfo ();
  77. #endif /* __STDC__ */
  78. #ifdef __cplusplus
  79. }
  80. #endif
  81. #endif /* __INCtimePh */